Build Swap
POST /api/v1/swap — Build an unsigned swap transaction ready to sign and submit.
Headers
Optional API key: Bearer vulcx_.... Anonymous calls are allowed but capped at a small per-IP rate limit — see Rate limits.
"Bearer vulcx_..."
Body
Parameters for building a swap transaction.
User's wallet address that will sign and execute the transaction.
"9WzDXwBbmkg8ZTbNMqUxvQRAyrZzDsGYdLVL9zYtAWWM"
Input token mint address.
"So11111111111111111111111111111111111111112"
Output token mint address.
"uSd2czE61Evaf76RNbq4KPpXnkiL3irdzgLFUMe3NoG"
Amount in smallest token units.
"1000000000"
ExactIn: amount is exact input. ExactOut: amount is exact desired output.
ExactIn, ExactOut "ExactIn"
Slippage tolerance in basis points. Default: 50 (0.5%).
50
Skip transaction simulation. Faster but no pre-flight validation. Default: false.
false
Optional firm-quote ID from GET /quote (or a WebSocket quote push). Pair, amount, and swapMode must match the original quote. The exact quoted route is replayed and min-out anchors to the quoted price instead of a fresh re-quote.
"q_b15372a8d82a93d1e328ae24e5d3669a"
Firm (price-or-fail) redemption — requires quoteId and only works within the quote's firmForMs window. Slippage collapses to the server's firm margin (default 10 bps) around the quoted price; slippageBps is ignored. If the route drifted past the margin the request fails with 409 instead of executing at a worse price.
false
Optional referrer wallet (base58). Receives integratorFeeBps in full, paid on-chain in the output token in the same transaction as the swap. Required whenever integratorFeeBps is set.
"EJxE7RDaP5pmoVzzHRb4fufCNq3wsCgdUbJ8PCXHZNUP"
Your own fee rate in basis points of the output, kept by you in full. Requires referrer — a rate with no wallet to pay it to returns 400. Added to platformFeeBps, not carved out of it; the sum may not exceed 100 bps.
0 <= x <= 10020