Skip to main content
In this tutorial you will swap USDC on Base for ETH on Arbitrum in a single intent. Warp handles the bridge and swap automatically — one signature, one operation, one confirmation. By the end you will have a working end-to-end implementation you can adapt for any crosschain swap.

Prerequisites

Setup

Steps

1

Get a quote

Request a quote for swapping USDC on Base into ETH on Arbitrum. Specify the destination chain, the token you want, and the amount:
accountAccessList constrains which tokens on which chains the router can spend. Without it, the API may route through multiple chains and tokens (including wrapped ETH), which can lead to unexpected gas requirements. Specify the exact source token(s) you want to use.
Because the source token (USDC on Base) differs from the destination token (ETH on Arbitrum), cost.input and cost.output show different tokens. This is how you know Warp is routing through a swap.
2

Approve token spending

Check tokenRequirements for any approvals needed. For a USDC source, you will typically need a Permit2 approval:
This approves to the Permit2 contract. Once approved, future intents spending the same token on the same chain will not need another approval.
3

Sign the intent

Forward signData.origin[] and signData.destination directly to your wallet. One signature per source chain, plus the destination signature.

Signing guide

Smart account signing and validator wrapping.
4

Submit the intent

Post the signed intent to /intents using the intentId from the quote:
If the submit returns 404, the quote TTL elapsed — re-quote and re-sign.
5

Poll for completion

Track the intent status until it reaches a final state:
Typical execution time is under 2 seconds. FILLED is an intermediate state — the relayer has delivered funds on the destination, but the source-chain claim hasn’t settled yet. COMPLETED means everything is settled.

Next steps

Sponsor fees

Cover bridge and swap fees for your users using sponsorSettings.

Execute crosschain calls

Add destination chain executions to your intent — deposit into a vault, buy an NFT, and more.