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 here3
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:

