curl --request GET \
--url https://li.quest/v1/statusimport requests
url = "https://li.quest/v1/status"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://li.quest/v1/status', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://li.quest/v1/status",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://li.quest/v1/status"
req, _ := http.NewRequest("GET", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://li.quest/v1/status")
.asString();require 'uri'
require 'net/http'
url = URI("https://li.quest/v1/status")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body{
"transactionId": "0x5e9bd1e1232bcfb28e660ce116fe910aa058345604334e5f560034f51ef5327c",
"sending": {
"txHash": "0xe1ffdcf09d5aa92a2d89b1b39db3f8cadf09428a296cce0d5e387595ac83d08f",
"txLink": "https://arbiscan.io/tx/0xe1ffdcf09d5aa92a2d89b1b39db3f8cadf09428a296cce0d5e387595ac83d08f",
"amount": "129486280",
"token": {
"address": "0xFd086bC7CD5C481DCC9C85ebE478A1C0b69FCbb9",
"chainId": 42161,
"symbol": "USDT",
"decimals": 6,
"name": "USDT",
"coinKey": "USDT",
"logoURI": "https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0xdAC17F958D2ee523a2206206994597C13D831ec7/logo.png",
"priceUSD": "1.00074"
},
"chainId": 42161,
"gasPrice": "10000000",
"gasUsed": "477174",
"gasToken": {
"address": "0x0000000000000000000000000000000000000000",
"chainId": 42161,
"symbol": "ETH",
"decimals": 18,
"name": "ETH",
"coinKey": "ETH",
"logoURI": "https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2/logo.png",
"priceUSD": "3166.21"
},
"gasAmount": "4771740000000",
"gasAmountUSD": "0.0151",
"amountUSD": "129.5821",
"value": "11551536072923",
"includedSteps": [
{
"tool": "gasZip",
"toolDetails": {
"key": "gasZip",
"name": "LI.Fuel",
"logoURI": "https://raw.githubusercontent.com/lifinance/types/main/src/assets/icons/bridges/lifi.svg"
},
"fromAmount": "129486280",
"fromToken": {
"address": "0xFd086bC7CD5C481DCC9C85ebE478A1C0b69FCbb9",
"chainId": 42161,
"symbol": "USDT",
"decimals": 6,
"name": "USDT",
"coinKey": "USDT",
"logoURI": "https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0xdAC17F958D2ee523a2206206994597C13D831ec7/logo.png",
"priceUSD": "1.00074"
},
"toToken": {
"address": "0xFd086bC7CD5C481DCC9C85ebE478A1C0b69FCbb9",
"chainId": 42161,
"symbol": "USDT",
"decimals": 6,
"name": "USDT",
"coinKey": "USDT",
"logoURI": "https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0xdAC17F958D2ee523a2206206994597C13D831ec7/logo.png",
"priceUSD": "1.00074"
},
"toAmount": "128671479",
"bridgedAmount": "128671479"
}
],
"timestamp": 1729163645
},
"receiving": {
"txHash": "0xd3142ffb0abaefd030e9c108d6fedcd9b5bab9099346531b54f370762301bb4e",
"txLink": "https://taikoscan.io/tx/0xd3142ffb0abaefd030e9c108d6fedcd9b5bab9099346531b54f370762301bb4e",
"amount": "128671479",
"token": {
"address": "0x9c2dc7377717603eB92b2655c5f2E7997a4945BD",
"chainId": 167000,
"symbol": "USDT(Stargate)",
"decimals": 6,
"name": "Tether USD",
"coinKey": "USDT",
"logoURI": "https://static.debank.com/image/coin/logo_url/usdt/23af7472292cb41dc39b3f1146ead0fe.png",
"priceUSD": "1.00074"
},
"chainId": 167000,
"gasPrice": "60000001",
"gasUsed": "109839",
"gasToken": {
"address": "0x0000000000000000000000000000000000000000",
"chainId": 167000,
"symbol": "ETH",
"decimals": 18,
"name": "ETH",
"coinKey": "ETH",
"logoURI": "https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2/logo.png",
"priceUSD": "3166.21"
},
"gasAmount": "6590340109839",
"gasAmountUSD": "0.0209",
"amountUSD": "128.7667",
"value": "0",
"includedSteps": [],
"timestamp": 1729164251
},
"feeCosts": [
{
"name": "Relay fee",
"description": "The fee required to pay for the relay on the receiving chain",
"percentage": "0.6802",
"token": {
"chainId": 42161,
"address": "0x0000000000000000000000000000000000000000",
"symbol": "ETH",
"decimals": 18,
"name": "ETH",
"coinKey": "ETH",
"logoURI": "https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2/logo.png",
"priceUSD": "2616.99"
},
"amount": "2100002100000",
"amountUSD": "0.0055",
"included": true
},
{
"name": "LayerZero native fee",
"description": "protocol native fee",
"percentage": "0.0002",
"token": {
"chainId": 42161,
"address": "0x0000000000000000000000000000000000000000",
"symbol": "ETH",
"decimals": 18,
"name": "ETH",
"coinKey": "ETH",
"logoURI": "https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2/logo.png",
"priceUSD": "2616.99"
},
"amount": "11551536072923",
"amountUSD": "0.0302",
"included": false
}
],
"lifiExplorerLink": "https://scan.li.fi/tx/0xe1ffdcf09d5aa92a2d89b1b39db3f8cadf09428a296cce0d5e387595ac83d08f",
"fromAddress": "0x204dedcf79dbbb02359205f4f64ce2cbdd483906",
"toAddress": "0x204dedcf79dbbb02359205f4f64ce2cbdd483906",
"tool": "stargateV2Bus",
"status": "DONE",
"substatus": "COMPLETED",
"substatusMessage": "The transfer is complete.",
"metadata": {
"integrator": "dev.jumper.exchange"
},
"bridgeExplorerLink": "https://layerzeroscan.com/tx/0xe1ffdcf09d5aa92a2d89b1b39db3f8cadf09428a296cce0d5e387595ac83d08f"
}{
"message": "Transaction hash not found on the requested chain",
"code": 1003
}Check the status of a cross chain transfer
Cross chain transfers might take a while to complete. Waiting on the transaction on the sending chain doesn’t help here. For this reason we build a simple endpoint that let’s you check the status of your transfer.
Important: A transaction that is not currently found may return HTTP 404 with code 1003. Clients should also handle a 200 response with status NOT_FOUND. Neither response proves execution failure or authorizes resubmission. Poll within a bounded window, then reconcile the original hash against the source chain; a polling timeout leaves the outcome unknown.
While none of the parameters fromChain, toChain and bridge are required, passing the fromChain parameter will speed up the request and is therefore encouraged.
If you want to learn more about how to use this endpoint please have a look at our guide.
curl --request GET \
--url https://li.quest/v1/statusimport requests
url = "https://li.quest/v1/status"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://li.quest/v1/status', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://li.quest/v1/status",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://li.quest/v1/status"
req, _ := http.NewRequest("GET", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://li.quest/v1/status")
.asString();require 'uri'
require 'net/http'
url = URI("https://li.quest/v1/status")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body{
"transactionId": "0x5e9bd1e1232bcfb28e660ce116fe910aa058345604334e5f560034f51ef5327c",
"sending": {
"txHash": "0xe1ffdcf09d5aa92a2d89b1b39db3f8cadf09428a296cce0d5e387595ac83d08f",
"txLink": "https://arbiscan.io/tx/0xe1ffdcf09d5aa92a2d89b1b39db3f8cadf09428a296cce0d5e387595ac83d08f",
"amount": "129486280",
"token": {
"address": "0xFd086bC7CD5C481DCC9C85ebE478A1C0b69FCbb9",
"chainId": 42161,
"symbol": "USDT",
"decimals": 6,
"name": "USDT",
"coinKey": "USDT",
"logoURI": "https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0xdAC17F958D2ee523a2206206994597C13D831ec7/logo.png",
"priceUSD": "1.00074"
},
"chainId": 42161,
"gasPrice": "10000000",
"gasUsed": "477174",
"gasToken": {
"address": "0x0000000000000000000000000000000000000000",
"chainId": 42161,
"symbol": "ETH",
"decimals": 18,
"name": "ETH",
"coinKey": "ETH",
"logoURI": "https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2/logo.png",
"priceUSD": "3166.21"
},
"gasAmount": "4771740000000",
"gasAmountUSD": "0.0151",
"amountUSD": "129.5821",
"value": "11551536072923",
"includedSteps": [
{
"tool": "gasZip",
"toolDetails": {
"key": "gasZip",
"name": "LI.Fuel",
"logoURI": "https://raw.githubusercontent.com/lifinance/types/main/src/assets/icons/bridges/lifi.svg"
},
"fromAmount": "129486280",
"fromToken": {
"address": "0xFd086bC7CD5C481DCC9C85ebE478A1C0b69FCbb9",
"chainId": 42161,
"symbol": "USDT",
"decimals": 6,
"name": "USDT",
"coinKey": "USDT",
"logoURI": "https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0xdAC17F958D2ee523a2206206994597C13D831ec7/logo.png",
"priceUSD": "1.00074"
},
"toToken": {
"address": "0xFd086bC7CD5C481DCC9C85ebE478A1C0b69FCbb9",
"chainId": 42161,
"symbol": "USDT",
"decimals": 6,
"name": "USDT",
"coinKey": "USDT",
"logoURI": "https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0xdAC17F958D2ee523a2206206994597C13D831ec7/logo.png",
"priceUSD": "1.00074"
},
"toAmount": "128671479",
"bridgedAmount": "128671479"
}
],
"timestamp": 1729163645
},
"receiving": {
"txHash": "0xd3142ffb0abaefd030e9c108d6fedcd9b5bab9099346531b54f370762301bb4e",
"txLink": "https://taikoscan.io/tx/0xd3142ffb0abaefd030e9c108d6fedcd9b5bab9099346531b54f370762301bb4e",
"amount": "128671479",
"token": {
"address": "0x9c2dc7377717603eB92b2655c5f2E7997a4945BD",
"chainId": 167000,
"symbol": "USDT(Stargate)",
"decimals": 6,
"name": "Tether USD",
"coinKey": "USDT",
"logoURI": "https://static.debank.com/image/coin/logo_url/usdt/23af7472292cb41dc39b3f1146ead0fe.png",
"priceUSD": "1.00074"
},
"chainId": 167000,
"gasPrice": "60000001",
"gasUsed": "109839",
"gasToken": {
"address": "0x0000000000000000000000000000000000000000",
"chainId": 167000,
"symbol": "ETH",
"decimals": 18,
"name": "ETH",
"coinKey": "ETH",
"logoURI": "https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2/logo.png",
"priceUSD": "3166.21"
},
"gasAmount": "6590340109839",
"gasAmountUSD": "0.0209",
"amountUSD": "128.7667",
"value": "0",
"includedSteps": [],
"timestamp": 1729164251
},
"feeCosts": [
{
"name": "Relay fee",
"description": "The fee required to pay for the relay on the receiving chain",
"percentage": "0.6802",
"token": {
"chainId": 42161,
"address": "0x0000000000000000000000000000000000000000",
"symbol": "ETH",
"decimals": 18,
"name": "ETH",
"coinKey": "ETH",
"logoURI": "https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2/logo.png",
"priceUSD": "2616.99"
},
"amount": "2100002100000",
"amountUSD": "0.0055",
"included": true
},
{
"name": "LayerZero native fee",
"description": "protocol native fee",
"percentage": "0.0002",
"token": {
"chainId": 42161,
"address": "0x0000000000000000000000000000000000000000",
"symbol": "ETH",
"decimals": 18,
"name": "ETH",
"coinKey": "ETH",
"logoURI": "https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2/logo.png",
"priceUSD": "2616.99"
},
"amount": "11551536072923",
"amountUSD": "0.0302",
"included": false
}
],
"lifiExplorerLink": "https://scan.li.fi/tx/0xe1ffdcf09d5aa92a2d89b1b39db3f8cadf09428a296cce0d5e387595ac83d08f",
"fromAddress": "0x204dedcf79dbbb02359205f4f64ce2cbdd483906",
"toAddress": "0x204dedcf79dbbb02359205f4f64ce2cbdd483906",
"tool": "stargateV2Bus",
"status": "DONE",
"substatus": "COMPLETED",
"substatusMessage": "The transfer is complete.",
"metadata": {
"integrator": "dev.jumper.exchange"
},
"bridgeExplorerLink": "https://layerzeroscan.com/tx/0xe1ffdcf09d5aa92a2d89b1b39db3f8cadf09428a296cce0d5e387595ac83d08f"
}{
"message": "Transaction hash not found on the requested chain",
"code": 1003
}Headers
Authentication header, register in the LI.FI Partner Portal (https://portal.li.fi/ ) to get your API Key.
Query Parameters
The transaction hash on the sending chain, destination chain or lifi step id
The bridging tool used for the transfer
Identifier for a bridge tool. Retrieve the latest bridge keys from the /v1/tools endpoint. Keywords such as all, none, default, and [] are also supported where applicable.
The sending chain. Can be the chain id or chain key
The receiving chain. Can be the chain id or chain key
Response
Response of the Status request
The current status of a transfer
The transaction on the sending chain
Show child attributes
Show child attributes
{ "txHash": "0xd3ad8fb8798d8440f3a1ec7fd51e102a88e4690f9365fad4eff1a17020376b4a", "txLink": "https://polygonscan.com/tx/0xd3ad8fb8798d8440f3a1ec7fd51e102a88e4690f9365fad4eff1a17020376b4a", "amount": "13000000", "token": { "address": "0xd69b31c3225728cc57ddaf9be532a4ee1620be51", "symbol": "anyUSDC", "decimals": 6, "chainId": 137, "name": "USDC", "coinKey": "anyUSDC", "priceUSD": "0", "logoURI": "" }, "gasToken": { "address": "0x0000000000000000000000000000000000001010", "symbol": "MATIC", "decimals": 18, "chainId": 137, "name": "MATIC", "coinKey": "MATIC", "priceUSD": "0", "logoURI": "" }, "chainId": 137, "gasAmount": "10000", "gasAmountUSD": "0.0", "gasPrice": "1000", "gasUsed": "1000", "timestamp": 1720545119, "value": "0" }
The current status of the transfer. Can be PENDING, DONE, NOT_FOUND or FAILED
NOT_FOUND, INVALID, PENDING, DONE, FAILED The tool used for this transfer
The transaction on the receiving chain
Show child attributes
Show child attributes
{ "txHash": "0xd3ad8fb8798d8440f3a1ec7fd51e102a88e4690f9365fad4eff1a17020376b4a", "txLink": "https://polygonscan.com/tx/0xd3ad8fb8798d8440f3a1ec7fd51e102a88e4690f9365fad4eff1a17020376b4a", "amount": "13000000", "token": { "address": "0xd69b31c3225728cc57ddaf9be532a4ee1620be51", "symbol": "anyUSDC", "decimals": 6, "chainId": 137, "name": "USDC", "coinKey": "anyUSDC", "priceUSD": "0", "logoURI": "" }, "gasToken": { "address": "0x0000000000000000000000000000000000001010", "symbol": "MATIC", "decimals": 18, "chainId": 137, "name": "MATIC", "coinKey": "MATIC", "priceUSD": "0", "logoURI": "" }, "chainId": 137, "gasAmount": "10000", "gasAmountUSD": "0.0", "gasPrice": "1000", "gasUsed": "1000", "timestamp": 1720545119, "value": "0" }
An array of fee costs for the transaction
Show child attributes
Show child attributes
A more specific substatus. This is available for PENDING and DONE statuses. More information can be found here: https://docs.li.fi/introduction/user-flows-and-examples/status-tracking
WAIT_SOURCE_CONFIRMATIONS, WAIT_DESTINATION_TRANSACTION, BRIDGE_NOT_AVAILABLE, CHAIN_NOT_AVAILABLE, REFUND_IN_PROGRESS, UNKNOWN_ERROR, COMPLETED, PARTIAL, REFUNDED A message that describes the substatus
The ID of this transfer (NOT a transaction hash).
The address of the sender.
The address of the receiver.
The link to the LI.FI explorer.
The transaction metadata which includes integrator's string, etc.
Show child attributes
Show child attributes
The quote that was issued for this transfer at quote time, so the estimated outcome (quote.estimate) can be compared against the actual one (receiving). Omitted when no quote data is known for the transfer.
Show child attributes
Show child attributes

