Swaps two different crypto assets. This endpoint is asynchronous and returns an HTTP 200 OK with an empty body.
Flow:
/ramp/quote with quoteAssets.type: "swap" to get pricingquoteId to initiate the swapswap_updated webhook events to track swap progress and receive the transaction to signWebhook Response: Since this endpoint returns an empty body, you must use webhooks to receive swap updates. Register a webhook for the swap_updated event type via POST /ramp/webhook to receive SwapResponse payloads as the swap progresses through statuses: swap_created → swap_funded → swap_completed (or swap_failed).
See the Webhooks documentation for setup instructions and the webhook payload structure below.
API key for authentication
Order ID for the swap (generated by the client)
Quote ID to use for the swap
Source wallet public key for the swap
Blockchain type for the swap
stellar, solana, base, polygon, monad Target wallet address for the swap. If not provided, defaults to publicKey.
Swap initiated successfully. The response body is empty.
Subscribe to swap_updated webhooks to receive swap progress updates with the following payload:
Swap response payload sent via the swap_updated webhook.
This is not returned directly from the POST /ramp/swap endpoint (which returns an empty body).
Unique identifier for the swap order
ID of the customer who initiated the swap
Encoded transaction for the user to sign and submit
Transaction hash of the send transaction once submitted
Current status of the swap
created, funded, completed, failed Timestamp when the swap was created
Timestamp when the swap was last updated
Transaction hash of the receive transaction (if applicable)