quoteId, or subscribe to live WebSocket updates keyed by the wallet address. Both reach the same outcome — poll when a request/response loop is enough, subscribe when you want push updates without polling.
quote.quoteId and the top-level id identify different resources. quoteId tracks the saved swap quote — it is the {id} for GET /v2/swap/status/{id}. The top-level id is the Action id — use it with GET /actions/{id} and to correlate WebSocket action_update events.Poll swap status
Track onramp, offramp, swap, and yield quote flows with the Swap v2 status endpoint, using thequote.quoteId from the quote response.
status is terminal (fulfilled, expired, failed, or refunded).
WebSocket updates (recommended)
Subscribe to live updates instead of polling. Connect, subscribe to the wallet channel, and listen foraction_update events.
action_update events where action.id matches the top-level id from the quote/execution response:
Re-subscribe on reconnect. Alternatively, use your customer webhook (
ACTION_UPDATE events) — set a per-quote webhookURL on the quote to override the default endpoint.
Action execution status
For on-chain execution progress (as opposed to quote settlement), poll the Action by the top-levelid:
GET /v2/swap/status/{quoteId} for quote settlement.
Reference: