Skip to main content
POST
Combines /v1/quotes and /v1/buildTx into one request: it collects quotes from every eligible provider for each pair in data, picks the best route per pair, and returns transaction calldata ready to sign - along with every provider’s quote so you can show alternatives without a second call. Whether a request is treated as a same-chain swap or a cross-chain bridge is inferred automatically: if fromChain equals data[0].toChain, it’s a swap; otherwise it’s a bridge. overrideMultiTx only applies to bridge requests; maximizeMinToAmount and nonceOffset only apply to swap requests.

Body

integer
required
Source chain ID for every item in data.
string
required
Wallet address sending the transaction.
string
required
Address to receive refunds.
object[]
required
Array of trade legs to quote and build.
boolean
Request gasless-eligible quotes/build. Default false.
boolean
Request private/MEV-protected quotes/build. Default false.
boolean
Skip gas estimation for a faster build.
boolean
Skip USD pricing lookups for a faster response.
boolean
Simulate each candidate route on-chain before selecting the winner. Slower, but filters out routes that would revert.
boolean
Swap only. Runs extra on-chain checks to find the highest safe minToAmount for the selected route.
integer
Swap only. Offset applied to the sender’s nonce when building the transaction.
boolean
Bridge only. Overrides the default multi-transaction batching behavior.
object
Allow/deny list of bridge providers: { allow?: string[]; deny?: string[] }.
object
Allow/deny list of DEX providers: { allow?: string[]; deny?: string[] }.
object
Fine-tune quote collection timing.
boolean
Set true if Permit2 approval already exists for every token in data.

Response - success

string
"success" when the build succeeds.
string
Unique build/transaction ID - use for status polling and broadcasting.
integer
Chain where the transaction is to be executed.
object
Chain-specific payload, ready to sign. Same shape as transaction in the /v1/buildTx response - see that page for the per-chain-type field breakdown (evm, svm, btc, btcln, HyperLiquid).
boolean
Whether the built transaction must be broadcast via the winning provider rather than submitted directly.
object
Every provider that successfully quoted (and, if simulate was set, passed simulation) for each pair - not just the winner used to build transaction. Keyed by pair ID ({fromChain}_{srcToken}_{toChain}_{destToken}), then by provider ID. Within each pair, providers are ranked best-first by net return.
object
Keyed by pair ID (same keys as quotes) - the provider ID whose quote was actually used to build transaction for that pair.

Response - error

string
"error".
string
Build ID, if one was generated before the failure. Empty string otherwise.
string
Failure reason.

Examples

Use the txId to poll /v1/status once the transaction has been signed and sent.
Last modified on August 11, 2026