/quotes endpoint. You’ll need the destination chain, the token and amount on that chain, and the account address:
Get Quote
eip155:<chainId>).
Understanding the response
The response is{ routes }, an array pre-ranked by a cost/speed tradeoff. Pick routes[0] unless you have your own criteria.
Each route carries everything you need to sign and submit:
cost
The cost object on each route describes what the user pays:
Choosing a different route
routes[] is server-ranked, so routes[0] is the default pick. If you want a different one — cheaper, faster, on a specific settlement layer — iterate routes and submit the chosen route’s intentId. No extra parameter is needed; the API selects the quote by intentId.
signData, so always sign against the route you intend to submit — signatures from one route won’t verify against another.
Executions (calls)
You can run executions on behalf of the EOA on the destination chain. For EOAs, executions run in the context of an intermediary contract — not the user’s account. If you receive any tokens (vault shares, swap output, etc.), include an explicittransfer call to send them back to the EOA.
Sponsorship
Mark the intent as sponsored (covering gas and bridging costs for the user) by settingsponsorSettings:
Sponsor the Intent
Custom fill deadline
An intent’s on-chain fill deadline defaults to 2 minutes. For same-chain intents that settle without bridging, extend it withoptions.customDeadline — an absolute unix timestamp in seconds. Use it when the user needs longer to approve, or you’re fetching a quote now to submit later.
Custom fill deadline
now + 120s and now + 86400s (24 hours); outside that range the request is rejected with a 400. When honored, the intent’s fill deadline and its claim/nonce expiry extend to match.
customDeadline is honored only on same-chain intents that settle without bridging. On any other route — cross-chain, or a same-chain swap that requires funding — it is silently ignored and the default 2-minute deadline applies. The only signal is a nearer expiry on the returned quote.Source chain / token
Select which tokens and/or chains to use as the source of funds viaaccountAccessList.
To limit the source of funds to specific chains:
Select Input Chains
Select Input Tokens
Select Input Chains and Tokens
Select Input Chains and Tokens
Auxiliary funds
auxiliaryFunds declares balances that aren’t visible to the orchestrator yet but will be available by the time the intent settles. Use it to quote ahead of an inflow — a pending CEX deposit, a vault withdrawal, an unstake, or any other balance that will arrive before fill.
provides on the call itself — not here.
auxiliaryFunds and accountAccessList solve different problems: accountAccessList restricts which existing balances the router is allowed to spend, while auxiliaryFunds adds expected balances the router otherwise can’t see. They can be combined.
Swaps
If the destination token differs from the user’s source token, Warp handles the bridge and swap automatically. No additional parameters are needed — just specify the token you want on the destination chain. In a swap quote,cost.input and cost.output show different tokens:
eip155:8453) to receive USDC on Optimism. output.amount matches the requested amount exactly — fees are paid in input tokens, not deducted from the output. Compare input.amount × input.price.usd to output.amount × output.price.usd to see the cost.
Next Steps
Token Requirements
What the intent requirements are and how to fulfill them