| State | Description |
|---|---|
pending | Trade is in an initial or transitional state where it’s being created, processed, or sent to the exchange provider. The trade has not yet been confirmed by the provider. |
confirmed | Trade has been successfully confirmed by the exchange provider and is awaiting signatures from both the taker and maker parties to proceed with onchain recording. |
pending_settlement | Trade has been recorded onchain and is awaiting funding from both the taker and maker parties. This state indicates the trade is in progress but not yet fully funded. |
taker_funded | The taker party has successfully delivered their funds onchain. The trade is now waiting for the maker party to deliver their funds to complete the exchange. |
maker_funded | The maker party has successfully delivered their funds onchain. The trade is now waiting for the taker party to deliver their funds to complete the exchange. |
refunded | Funds delivered onchain have been returned to the respective parties because the trade was canceled or only one party funded before the deadline. This is a terminal state—the trade does not proceed further. |
breaching | The trade’s maturity date has passed and the system is actively processing a breach. This is a transitional state indicating the trade is being expired because at least one party did not deliver by the deadline. |
breached | The maturity date passed without full settlement—at least one party did not deliver funds. This is a terminal state—the trade has expired and does not proceed. |
failed | The trade has expired before being recorded onchain. This is a terminal state indicating the trade timed out during the signature collection phase and was never broadcast to the blockchain. |
complete | The StableFX contract has successfully settled token fund transfers between the taker, maker, and fee recipient. This is a terminal state indicating successful trade completion. |
Terminal states (
complete, failed, breached, refunded) are final—trades
cannot transition out of them.States linked to an API reference page have a corresponding webhook
notification. pending and breaching are transitional states with no webhook.