Skip to main content
These events are sent while a customer sends stablecoin and receives fiat.
Two event names have an extra s compared with the state they report: the event payment.offramp.stables_pending reports the state stable_pending, and payment.offramp.stables_received reports stable_received.

Summary

Each event in detail

What it means: The payment exists. You already have the deposit address from the create response.What usually comes next: quote_locked.
What it means: The quote is tied to this payment and can’t be used again.What usually comes next: stables_pending.
What it means: We’re waiting for your customer to send the stablecoin to the deposit address. They have 30 minutes.What usually comes next: stables_received. It’s failed if nothing arrives within 30 minutes, or flagged if the wrong amount arrives.What to do: Show the deposit address and network. Remind your customer to send.
What it means: The stablecoin has arrived.What usually comes next: processing.What to do: Tell your customer their crypto was received.
What it means: We’re paying the fiat to the bank account or mobile money wallet.What usually comes next: completed. Sometimes flagged if something needs checking.
What it means: The fiat has been paid. This is a success, and it’s final.What to do: Show success.
What it means: The payment ended without finishing, for example no stablecoin arrived within 30 minutes. Final.What to do: Tell your customer. If they had already sent stablecoin, contact support with the payment ID.
What it means: The payment was canceled before it finished. Final.
What it means: The payout was returned, for example because the bank rejected it. Final.What to do: Contact support with the payment ID.
What it means: The payment is on hold for a review. For example, the stablecoin amount received didn’t match.What usually comes next: After the review, completed or failed.What to do: Tell your customer the payment is being checked. Don’t create a duplicate.
What it means: The payment is on hold.What usually comes next: resumed.
What it means: A paused payment is moving again.

Example payload

Every offramp event has this same shape. Only event_type, data.type, data.state, and data.status change.
Last modified on October 29, 2026