Skip to main content
Prerequisite: Your organization must be approved before it can quote. Swaps do not need a bank account. For onboarding your customers, see KYC Overview.
A swap exchanges one asset for another on the same chain. In v2 a swap is a quote and an order between two wallet payment accounts, the same way an onramp or offramp is. The destination can be the same wallet as the source, or another wallet on the same chain. Every call below runs for one organization, set as $ORGANIZATION_ID in the examples. Use your own organization’s id from GET /me, or a customer organization’s id when you swap for that customer. Register the wallets, quote and order under the same id. See Organizations in the route.
Swaps run on Stellar, Solana and Monad. The source and destination wallets must be on the same chain. To move the same token to a wallet on another chain, quote a cross-chain transfer instead. A quote between different tokens on different chains returns 400 invalid-request. Base, Polygon and Avalanche support onramps and offramps, not swaps.
Stellar swaps need a funded, trustlined wallet. The wallet must hold XLM for the network fee and a trustline for the asset it receives. See the Stellar, Solana and Monad chain guides for per-chain setup.

Swap flow

1

Discover assets

2

Register the wallets: POST /organization/{organizationId}/payment_account

3

Create a quote: POST /organization/{organizationId}/quote

4

Create the order: POST /organization/{organizationId}/order

5

Send the source asset

6

Track the order: GET /organization/{organizationId}/order/{id}