Base URL
x-lifi-api-key header is optional but recommended for higher rate limits.
GET /chains
Action: Retrieve all supported blockchain networks.Request
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
chainTypes | string | No | Filter by type: EVM, SVM, UTXO, MVM (comma-separated) |
Response
Key Fields
| Field | Use |
|---|---|
id | Chain ID for all other API calls |
key | Short identifier (e.g., “eth”, “arb”, “pol”) |
chainType | EVM, SVM (Solana), UTXO (Bitcoin), MVM (Sui) |
mainnet | true for production chains |
nativeToken | Gas token with price |
metamask | Chain config for wallet connection |
GET /tokens
Action: Retrieve tokens available on specified chains.Request
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
chains | string | Yes | Comma-separated chain IDs |
Response
Key Fields
| Field | Use |
|---|---|
address | Token contract address (use in quote) |
decimals | For converting human amounts to smallest units |
priceUSD | Current USD price |
coinKey | Canonical identifier across chains |
tags | Categories like “stablecoin” |
Native Token Address
Native tokens (ETH, MATIC, etc.) use:0x0000000000000000000000000000000000000000
GET /quote
Action: Get a transfer quote with ready-to-execute transaction data.Request
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
fromChain | number | Yes | Source chain ID |
toChain | number | Yes | Destination chain ID |
fromToken | string | Yes | Source token address or symbol |
toToken | string | Yes | Destination token address or symbol |
fromAmount | string | Yes | Amount in smallest unit |
fromAddress | string | Yes | Sender wallet address |
toAddress | string | No | Recipient (defaults to fromAddress) |
slippage | number | No | Max slippage (default: 0.005 = 0.5%) |
order | string | No | FASTEST, CHEAPEST |
bridges | string | No | Allowed bridges (comma-separated) |
exchanges | string | No | Allowed DEXs (comma-separated) |
denyBridges | string | No | Excluded bridges |
denyExchanges | string | No | Excluded DEXs |
maxPriceImpact | number | No | Max price impact (e.g., 0.05 = 5%) |
Response
See the Five-Call Recipe for the complete untruncated response.
Key Fields
| Field | Use |
|---|---|
tool | Bridge/DEX used (optional for status check, speeds up response) |
estimate.toAmount | Expected output amount |
estimate.toAmountMin | Minimum guaranteed (slippage-protected) |
estimate.approvalAddress | Spender address for ERC20 approval |
estimate.feeCosts | Detailed fee breakdown |
estimate.gasCosts | Gas cost estimates |
includedSteps | Each step in multi-step transfers |
transactionRequest | Ready-to-sign transaction object |
transactionId | Unique ID for tracking |
Constraints
fromAmountmust be in smallest unit (e.g., 6 decimals for USDC)slippageis a decimal (0.005 = 0.5%, not 0.5)- Quote expires after ~60 seconds
GET /status
Action: Check the status of a cross-chain transfer.Request
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
txHash | string | Yes | Source chain transaction hash |
fromChain | number | No | Source chain ID (recommended for speed) |
toChain | number | No | Destination chain ID |
bridge | string | No | Bridge tool from quote |
Only
txHash is required. Providing fromChain significantly speeds up the response.Response
Key Fields
| Field | Use |
|---|---|
status | Main status (see table below) |
substatus | Detailed outcome |
sending.txHash | Source chain transaction |
receiving.txHash | Destination chain transaction |
lifiExplorerLink | Link to LI.FI explorer |
receiving.amount | Actual received amount |
Status Values
| Status | Substatus | Meaning |
|---|---|---|
NOT_FOUND | - | Transaction not indexed yet |
PENDING | - | Transfer in progress |
DONE | COMPLETED | Success - received requested token |
DONE | PARTIAL | Success - received different token |
DONE | REFUNDED | Failed - tokens returned to sender |
FAILED | various | Permanent failure (see substatus) |
POST /advanced/routes
Action: Get multiple route options for a transfer.Request
Parameters (JSON Body)
| Parameter | Type | Required | Description |
|---|---|---|---|
fromChainId | number | Yes | Source chain ID |
toChainId | number | Yes | Destination chain ID |
fromTokenAddress | string | Yes | Source token address |
toTokenAddress | string | Yes | Destination token address |
fromAmount | string | Yes | Amount in smallest unit |
fromAddress | string | Yes | Sender address |
options | object | No | Additional options |
Response
When to Use
- Need multiple route options
- User wants to compare bridges
- Complex multi-hop transfers
POST /advanced/stepTransaction
Action: Get transaction data for a specific route step.Request
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
step | object | Yes | Step object from routes response |
Response
Returns the step withtransactionRequest populated.
When to Use
After/advanced/routes to get transaction data for each step.
GET /connections
Action: Get all possible token connections from/to a chain.Request
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
fromChain | number | No* | Source chain ID |
toChain | number | No* | Destination chain ID |
fromToken | string | No | Filter by source token |
toToken | string | No | Filter by destination token |
fromChain or toChain required.
Response
Key Fields
| Field | Use |
|---|---|
fromChainId | Source chain |
toChainId | Destination chain |
fromTokens | Tokens that can be sent |
toTokens | Tokens that can be received |
When to Use
- Check if a route is possible before quoting
- Discover available destination tokens
- Build token selection UI
GET /tools
Action: Get available bridges and exchanges.Request
Response
Key Fields
| Field | Use |
|---|---|
bridges[].key | Use in allowBridges / denyBridges |
bridges[].supportedChains | Check if bridge supports your chain pair |
exchanges[].key | Use in allowExchanges / denyExchanges |
exchanges[].supportedChains | Chains where DEX is available |
When to Use
- Filter routes by specific bridges/exchanges
- Show available tools to users
- Validate bridge/exchange selection
Quick Reference
| Endpoint | Method | Purpose |
|---|---|---|
/chains | GET | List supported chains |
/tokens | GET | Get tokens for chains |
/quote | GET | Get quote with tx data |
/status | GET | Check transfer status |
/advanced/routes | POST | Get multiple route options |
/advanced/stepTransaction | POST | Get tx data for route step |
/connections | GET | Check route availability |
/tools | GET | List bridges and exchanges |
Related Pages
- Five-Call Recipe - Complete workflow
- Schemas - Detailed type definitions
- Error Playbooks - Error handling

