Simple Swap
One-call endpoint that quotes, generates deposit address, and returns a QR code
How It Works
/quote → /deposit), this reduces two API calls to one. Only works with deposit-address-based protocols (Chainflip and NEAR).
Payment URI Standards
Thepayment_uri follows the wallet standard for the source chain:
| Source Chain | Standard | Example |
|---|---|---|
| BTC, LTC, DOGE, DASH | BIP-21 | bitcoin:bc1q...?amount=0.5 |
| ETH, ARB, BASE (native) | EIP-681 | ethereum:0x...@1?value=500000000000000000 |
| ETH, ARB, BASE (ERC20) | EIP-681 | ethereum:0xTOKEN@1/transfer?address=0x...&uint256= |
| SOL (native) | Solana Pay | solana:So1...?amount=2 |
| Other | Fallback | Plain deposit address |
Example: BTC to ETH
Errors
| Status | Code | Description |
|---|---|---|
400 | INVALID_ASSET | from_asset or to_asset is malformed or not in the supported list |
400 | INVALID_ADDRESS | from_address or to_address not valid for the source/destination chain |
400 | UNSUPPORTED_PAIR | No deposit-address-based route (Chainflip/NEAR) available for the pair |
401 | INVALID_API_KEY | Missing or invalid Api-Key header |
404 | NO_QUOTE_AVAILABLE | All deposit-address protocols rejected the pair |
500 | INTERNAL_ERROR | Quote or deposit generation failed unexpectedly |
Authorizations
Demo API-Key (Sandbox): 7037d2b3-9c76-4f62-b730-c544f7570fa4
Body
Request body for /simple. One-call swap endpoint for deposit-address protocols.
Source asset identifier (CHAIN.SYMBOL-ADDRESS).
"ETH.ETH"
Destination asset identifier (CHAIN.SYMBOL-ADDRESS).
"ARB.USDC-0xaf88d065e77c8cC2239327C5EDb3A432268e5831"
Human-readable amount to swap.
"0.5"
Sender address on the source chain (used as refund address).
"0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb0"
Recipient address on the destination chain.
"0x1234567890AbcdEF1234567890aBcdef12345678"
Slippage tolerance in basis points. Defaults to 150 (1.5%).
"100"
Response
Simple swap response with quote, deposit address, and QR code.
Response from /simple containing quote, deposit address, and QR code.
Quote identifier for tracking via /status.
Protocol selected (always chainflip or near).
chainflip, near Address to send funds to.
Human-readable amount to send.
Amount in smallest unit (wei, sats, etc.).
Decimal places for the source asset.
Source asset identifier.
Destination asset identifier.
Source chain short name (e.g. ETH, BTC).
Expected output amount (human-readable).
Chain-specific payment URI (BIP-21, EIP-681, or Solana Pay).
CDN URL of a QR code PNG encoding the payment_uri.
Expected output in USD.
Estimated swap time in seconds.
Fee breakdown.
Unix timestamp (seconds) when the deposit channel expires.