Transfer Objects
Quote
A Quote is a single-step transfer plan with transaction data ready for immediate execution. Response fromGET /quote:
/quote when you want the best single route with transaction data included. Ideal for simple transfers.
Get Quote API
Request a quote for token transfers
Route
A Route is a multi-step transfer plan that may require sequential transactions. Response fromPOST /advanced/routes (returns array of routes):
/advanced/routes when you need multiple route options or want to compare alternatives. Each Step in a Route may require a separate transaction.
Get Routes API
Request multiple route options
Step
A Step is one atomic operation within a Route. Each Step represents a single transaction. Nested within Route response (also returned byPOST /advanced/stepTransaction):
swap- Same-chain token swap via DEXcross- Cross-chain bridge transferlifi- Combined swap + bridge in one transactionprotocol- Interaction with a DeFi protocol (deposit, stake, etc.)
Action
An Action describes what happens in a Step - the source and destination tokens, chains, and amounts. Nested within Quote/Step responses:Reference Objects
Tool
A Tool is a bridge or exchange used to execute transfers. LI.FI aggregates 27 bridges and 31 exchanges. UseGET /tools for the current list.
Response from GET /tools:
stargate, across, hop, cbridge
Popular DEXs: 1inch, paraswap, 0x, uniswap, sushiswap
List Tools API
Get all available bridges and exchanges
Chain
A Chain represents a supported blockchain network. Response fromGET /chains:
EVM- Ethereum Virtual Machine chains (Ethereum, Arbitrum, etc.)SVM- Solana Virtual MachineUTXO- Bitcoin and UTXO-based chainsMVM- Move Virtual Machine (SUI)
List Chains API
Get all supported chains
Token
A Token represents a supported cryptocurrency on a specific chain. Response fromGET /tokens:
The same token (e.g., USDC) has different addresses on each chain. Use
coinKey to identify the same asset across chains.List Tokens API
Get all supported tokens
Status Objects
Status
Status indicates the current state of a cross-chain transfer.| Status | Description |
|---|---|
NOT_FOUND | Transaction not yet indexed or invalid hash |
INVALID | Transaction failed validation |
PENDING | Transfer is in progress |
DONE | Transfer completed (check substatus for details) |
FAILED | Transfer failed (check substatus for reason) |
Substatus
Substatus provides detailed information within each Status.PENDING Substatuses
| Substatus | Description |
|---|---|
WAIT_SOURCE_CONFIRMATIONS | Waiting for source chain confirmations |
WAIT_DESTINATION_TRANSACTION | Bridge is processing, waiting for destination |
BRIDGE_NOT_AVAILABLE | Bridge temporarily unavailable |
CHAIN_NOT_AVAILABLE | Chain RPC issues |
REFUND_IN_PROGRESS | Refund is being processed |
UNKNOWN_ERROR | Temporary error, keep polling |
DONE Substatuses
| Substatus | Description |
|---|---|
COMPLETED | Transfer successful, user received exact requested tokens |
PARTIAL | Transfer successful, user received different token than requested |
REFUNDED | Transfer failed but tokens were refunded to sender |
FAILED Substatuses
| Substatus | Description |
|---|---|
NOT_PROCESSABLE_REFUND_NEEDED | Cannot complete, manual refund required |
OUT_OF_GAS | Transaction ran out of gas |
SLIPPAGE_EXCEEDED | Received amount too low (price moved beyond allowed slippage) |
INSUFFICIENT_ALLOWANCE | Token approval insufficient |
INSUFFICIENT_BALANCE | Not enough tokens or gas |
EXPIRED | Transaction expired |
UNKNOWN_ERROR | Unknown or invalid state |
REFUNDED | Tokens were refunded |
For the complete and authoritative status documentation, see the Status Tracking Guide.
Status Tracking Guide
Complete guide to monitoring transfers
Partial
A transfer is Partial when it completes successfully but the user receives a different token than originally requested. Why this happens:- Destination chain swap failed after bridging
- Insufficient liquidity for final swap
- Price impact too high for destination swap
- The bridged token (e.g., USDC.e instead of native USDC)
- Full value is preserved, just in a different token
- Check
substatus === "PARTIAL"whenstatus === "DONE" - Read
receiving.tokenfrom status response for actual received token - Inform user they received equivalent value in different token
Intermediate Tokens Guide
Understanding PARTIAL status and intermediate tokens
Refunded
A transfer is Refunded when it fails but the user’s tokens are returned to their wallet. When refunds happen:- Bridge execution failed
- Destination chain issues
- Transfer expired
- Usually returned to sender on the source chain
- Some bridges refund on destination chain (check status response)
- Check for
substatus === "REFUNDED" - Read
refundobject from status response for details - Inform user their funds were returned
Quick Reference
| Object | Description | API Endpoint |
|---|---|---|
| Quote | Single-step transfer with tx data | GET /quote |
| Route | Multi-step transfer plan | POST /advanced/routes |
| Step | One operation in a route | Part of Route response |
| Action | Transfer details (from/to) | Part of Step |
| Tool | Bridge or DEX | GET /tools |
| Chain | Blockchain network | GET /chains |
| Token | Cryptocurrency | GET /tokens |
| Status | Transfer state | GET /status |

