Application Lifecycle
Applications go through a defined lifecycle from creation to decision. Understanding these states helps you build proper status handling and user feedback.Application-Level States
| Status | Description | Allowed Actions |
|---|---|---|
pending | Draft state. Application created but not yet submitted. | Add/edit entities, upload documents, submit |
submitted | Application submitted for review. | View only |
completed | Review complete. Check application_decision for result. | View only |
Application Decisions
Once an application reachescompleted status, the application_decision field contains the outcome:
| Decision | Description |
|---|---|
approved | Application approved. Customer can transact. |
declined | Application declined. See compliance notes for details. |
withdrawn | Application was withdrawn before a decision was made. |
Applicant-Level States (Business & Individuals)
Within an application, each entity (business or individual) has its own status:| Status | Description |
|---|---|
pending | Entity data incomplete or not yet submitted |
submitted | Entity submitted for review |
completed | Review complete for this entity |
Transaction Lifecycle
Transactions progress through multiple states from initiation to completion.Transaction States
Transaction Status Reference
| Status | Terminal | Description |
|---|---|---|
not_started | No | Transaction created but processing not begun |
pending | No | Transaction is queued for processing |
processing | No | Transaction is actively being processed |
in_progress | No | Transaction is being processed |
awaiting_confirmation | No | Waiting for blockchain confirmation |
broadcasted | No | Submitted to blockchain, awaiting confirmation |
completed | Yes | Transaction completed successfully |
invalid | Yes | Transaction parameters were invalid |
failed | Yes | Transaction failed during processing |
canceled | Yes | Transaction was canceled |
reversed | Yes | Transaction was reversed after completion |
rejected | Yes | Transaction was rejected by compliance or provider |
timed_out | Yes | Transaction timed out |
Terminal vs Non-Terminal States
Terminal states indicate the transaction has reached a final outcome and will not change:completed,invalid,failed,canceled,reversed,rejected,timed_out
not_started,pending,processing,in_progress,awaiting_confirmation,broadcasted
Auto Transaction Lifecycle
Auto transactions have their own lifecycle:| Status | Terminal | Description |
|---|---|---|
pending | No | Scheduled but not yet processed |
processing | No | Currently being executed |
completed | Yes | Successfully completed |
failed | Yes | Failed during processing |
canceled | Yes | Canceled before processing |
reversed | Yes | Reversed after completion |
Handling State Changes
Polling for Status Updates
For non-terminal states, poll periodically to check for updates:Using Webhooks for State Changes
Instead of polling, configure webhooks to receive real-time notifications:State Transition Rules
Valid Transitions
Not all state transitions are valid. The API enforces these rules: Applications:pending→submitted(via submit endpoint)submitted→completed(automatic after review)
- Cannot transition from terminal states
canceledcan only be triggered while in non-terminal statereversedcan only occur aftercompleted