Skip to main content
Want to go beyond swaps and bridges? With Composer, you can deposit into vaults, stake, and lend — all in a single transaction using the same API pattern shown below. See the Composer Quickstart.

Step by step

1

Requesting a quote or routes

2

Choose the desired route if `/advanced/routes` was used and retrieve transaction data from `/advanced/stepTransaction`

This step is only needed if /advanced/routes endpoint was used. /quote already returns the transaction data within the response. Difference between /quote and /advanced/routes is described here
3

Setting the allowance

Before any transaction can be sent, it must be made sure that the user is allowed to send the requested amount from the wallet. This example uses the classic approve() approach. To reduce approval transactions using off-chain EIP-712 signatures, see the Permit & Permit2 Approval Flow.
4

Sending the transaction

After receiving a quote, the transaction has to be sent to trigger the transfer.Firstly, the wallet has to be configured. The transaction executes on the source chain, so the following example connects your wallet to Arbitrum:
Afterward, the transaction can be sent using the transactionRequest inside the previously retrieved quote:
5

Executing second step if applicable

If two-step route was used, the second step has to be executed after the first step is complete. Fetch the status of the first step like described in next step and then request transactionData from the /advanced/stepTransaction endpoint.
6

Fetching the transfer status

To check if the token was successfully sent to the receiving chain, the /status endpoint can be called:

Full example