Check order status
Fetch an order any time with itsorderId:
phase field to know where it is.
Order lifecycle
An offramp order moves through two stages.Waiting for the deposit
Right after you create the order, it sits in the
payment phase until the user’s USDC arrives.Webhooks
Instead of polling, subscribe to order events so Crossmint notifies your backend as the order progresses. Offramp orders emit the sameorders.* events as the rest of the Crossmint orders system. Configure an endpoint and subscribe in the Webhooks guide. The events that matter for offramp are:
| Event | Fires when |
|---|---|
orders.payment.succeeded | The on-chain USDC deposit is matched to the order. |
orders.delivery.completed | The fiat payout to the bank completes. |
orders.delivery.failed | The payout could not be completed. |
orders.payment.failed | The deposit could not be processed. |
When a payout fails
If a payout cannot be completed after the USDC deposit is received, the deposit is returned to the user and the order reflects the failure. Listen fororders.delivery.failed (or poll for the failed state) so you can surface it in your app and, if appropriate, prompt the user to try again with corrected bank details.
Next steps
Quickstart
Build the full flow
Going to Production
Move from staging to live payouts

