Order lifecycle
Orders move through a normalized lifecycle:
Each transition fires an
onramp-order webhook carrying the normalized status, Swapped’s rawStatus, the fiat receipt, and — once completed — the on-chain transactionId.
Poll the latest order
You can also poll the account’s latest order:{ ok: false, reason: "no_order" } before the first order update arrives. Full schema: GET /onramp/swapped/status/{smartAccount}.
Once the order completes, either funding method hands off to the regular pipeline: transactionId reappears as the transactionHash on the deposit-received event, followed by the usual bridge events. Card and Apple Pay orders typically complete within minutes; bank transfers can take days. Exchange timing depends on the provider flow. Orders stay trackable for 7 days.
Processing caveats
- Session coverage — on-ramp purchases land on Base, so the account’s session set must include Base. The default registration flow covers every supported chain; if you restrict
sessionChainIds, include Base or landed funds can’t be bridged. - Deposit whitelist — if you restrict accepted deposits, allow USDC on Base above your minimum. Otherwise every on-ramp purchase is rejected with
deposit-rejected. - Same-chain target — when the account’s target is USDC on Base paid to the account itself, the purchase is already at its destination: no bridge events fire, and
onramp-orderwithstatus: "completed"is your terminal signal. - KYC and limits — identity verification and purchase limits are handled by Swapped inside the hosted UI.