Quick Start - Your First Swap
Quote -> Build -> Sign -> Submit in four steps. Takes under 5 minutes if you have an API key and a signer.
Step 1: Get a Quote
curl -X POST https://api.gateway.zert.com/api/v1/quote \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"fromChain": "solana",
"toChain": "avax",
"tokenIn": "SOL",
"tokenOut": "WETH",
"network": "mainnet",
"amount": "100.00",
"slippageBps": 75,
"recipient": "0x1234567890123456789012345678901234567890"
}'The response includes a routes array. Each route has:
routeId— pass this to Step 2expectedAmountOut— projected output for that route
Step 2: Build the Signing Step
Swagger does not auto-fill quoteId and routeId from Step 1. Paste the fresh values from the previous quote response when testing in the docs UI.
Leave Idempotency-Key blank for one-off Swagger or curl calls. If you need retry-safe dedupe on direct HTTP calls, send your own UUIDv4 or ULID only when retrying the exact same payload. SDK and Postman flows can generate one automatically.
The response includes:
swapId— use this for the rest of the flowmode—syncif the signable payload is ready now,asyncif you should pollsigning— the signable payload whenmodeissync
If the signing surface for the active step is not configured, the API returns 503 instead of a placeholder transaction payload.
Step 3: Poll Until a Signable Payload Is Ready
If Step 2 returns mode: "async", poll:
When the response returns mode: "sync", hand the payload to the external wallet or signer. Postman does not sign transactions.
Step 4: Submit the Signed Artifact
If the execution has more than one signing step, keep polling the same endpoint until the next payload is ready.
Track On-Chain Status (Optional)
pending
Submitted, not yet confirmed
confirmed
Confirmed on chain
failed
Transaction failed
What's Next
Understand the full swap lifecycle in detail
Discover which chains, tokens, and pairs are available
Set up limit orders
Last updated

