Transfer states
Transfer Status
The transfer status represents the current lifecycle stage of a transfer within the Stables platform.
A transfer progresses forward through defined states and does not move backwards. Certain states represent normal progression, while others indicate an exception or terminal outcome.
Status Reference
| Status | Description |
|---|---|
| CREATED | The transfer has been successfully created in Stables but no funds movement has started yet. This is the initial state after calling the Transfers API. |
| AWAITING_FUNDS_COLLECTION | Stables is waiting to collect funds from the source. This may include incoming crypto deposits, prefunded balances, or external fiat collection rails. |
| FUNDS_COLLECTED | Funds have been successfully received or debited from the source and are ready to be sent to the destination. |
| IN_PROGRESS | Funds have been received and internal processing is underway. The transfer is being prepared for outbound payment submission. |
| PAYMENT_SUBMITTED | The outbound payment has been initiated on the selected rail. Processing time depends on the rail used, such as minutes for crypto, hours for wires, or multiple business days for ACH. |
| PAYMENT_PROCESSED | The destination rail has confirmed successful processing of the payment. |
| COMPLETED | The transfer lifecycle has fully completed. Funds have been delivered and confirmed with no further actions pending. This is a terminal success state. |
| FAILED | The transfer could not be completed due to an error or processing failure. This is a terminal exception state and may require manual review or retry. |
| CANCELLED | The transfer was cancelled before funds were collected. This is a terminal state and can only occur prior to funds collection. |
| EXPIRED | The transfer expired before funds were collected. This is a terminal state and can only occur prior to funds collection. |
| COMPLIANCE_HOLD | The transfer has been placed on hold pending a compliance review. The transfer will resume processing once the review is complete, or may be cancelled if it does not pass. |
State Progression
A successful transfer will typically move through the following progression.
CREATED → AWAITING_FUNDS_COLLECTION → FUNDS_COLLECTED → IN_PROGRESS → PAYMENT_SUBMITTED → PAYMENT_PROCESSED → COMPLETEDImportant Notes
- Transfers never move backwards in state.
EXPIRED,FAILEDandCANCELLEDrepresent terminal exception paths.COMPLIANCE_HOLDis a non-terminal state that may be applied at any point during processing. A transfer can resume from this state once the compliance review is resolved.- Once a transfer reaches
COMPLETED,FAILED,CANCELLED, orEXPIRED, no further state changes occur. - The REST API returns these statuses in lowercase (for example
created,compliance_hold,completed). Webhook payloads use the uppercase names shown here. - Processing time varies depending on the payment rail and destination.