Skip to main content
POST
Get transfer quotes
Returns one or more quotes for cross-chain transfers, each with fee breakdowns, estimated duration, and execution steps.

Reference

Request body

Response

Returns a quotes array, rejectedQuotes array, and tokens array.

Quote attributes

Route step attributes

Fee attributes

User step types

User steps can be TRANSACTION or SIGNATURE: TRANSACTION step:
SIGNATURE step (EIP-712 for Aori routes):

Executing userSteps safely

For ERC20 token transfers, the API returns two user steps with different to addresses:
Never approve the LZMulticall (Wrapper) as a token spenderLZMulticall executes bridge transactions. It is not the right spender, and approving it will lose you tokens. The correct spender is the TransferDelegate, and the API’s approve step already has this set in the calldata. Execute every userStep as returned.See Contracts Overview for details on the contract architecture.

Route types

The API evaluates multiple protocols and returns the best routes:

Code examples

EVM transfer

Response

Errors

The API returns an error object when the request fails:
Check the error field before processing quotes:

Quote expiration

Quotes may include an expiresAt timestamp. Execute quotes promptly or request a new quote if expired.
  • Build user steps — Generate fresh transaction data for Solana transfers
  • Submit signature — Submit EIP-712 signatures for intent-based routes
  • Status — Track transfer progress after execution

Examples

Authorizations

x-api-key
string
header
required

API key for authenticating requests. Required for /quotes, /build-user-steps, /submit-signature, and /status endpoints.

Body

application/json
srcChainKey
string
required

Source chain key (for example, 'base', 'arbitrum')

Example:

"base"

dstChainKey
string
required

Destination chain key

Example:

"optimism"

srcTokenAddress
string
required

Source token address (use 0xEeee...EEeE for native ETH)

Example:

"0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE"

dstTokenAddress
string
required

Destination token address

Example:

"0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE"

srcWalletAddress
string
required

Sender wallet address

Example:

"0x1234567890123456789012345678901234567890"

dstWalletAddress
string
required

Recipient wallet address

Example:

"0x1234567890123456789012345678901234567890"

amount
string
required

Transfer amount in smallest units (wei for ETH)

Example:

"100000000000000000"

Response

200 - application/json

Successfully retrieved quotes

quotes
object[]
tokens
object[]