GET /wallet/swap/pairs are
available, and more may be added over time.
All endpoints use the standard authenticated request context (API key +
bearer token) and live under /api/v1/wallet/swap. Amounts in requests and
responses are in major units (100.50 means 100.50), not cents.
How a swap is priced
The fee is charged in the currency you swap from, and is taken off before conversion:amount in total. For example, swapping 100 USD to USDC at a
rate of 0.998 with a 0.50 fixed fee and a 1% fee:
- fee = 0.50 + 1.00 = 1.50 USD
- received = (100 − 1.50) × 0.998 = 98.30 USDC
List available pairs
null means no limit.
Get a quote
Swap
Send an idempotency key so a retried request can’t swap twice: repeating a
key returns the original swap instead of creating a new one. The debit and
credit happen together — if either fails, neither is applied. If you don’t
have a wallet in
to_currency yet, it is created for you.
swap — the debit and the credit.
Swap history
per_page. Each item has the
same shape as the swap response above.
Errors
Errors use the standard envelope. Swap and quote validation failures return422 with a message such as:
GET /wallet/swap/{reference} returns 404 for a reference that isn’t yours.
Team members
Team members need the wallets view permission to list pairs, get quotes and see history, and wallets manage to execute a swap. Members with the read-onlyviewer role can list pairs and history but can’t request quotes
or swap, since both are POST requests.
