{
"message": "Transaction hash not found on the requested chain",
"code": 1003
}
Transaction status
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.
GET
/
v1
/
status
Check the status of a cross chain transfer
curl --request GET \ --url https://li.quest/v1/status
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 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.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"LI.FI","description":"Get the best price execution for any swaps and bridging across EVM chains, Solana, Bitcoin and alt-VMs. Enable trading across all DEX aggregators, bridges, and intent-systems and save hundreds of developer hours.","colors":{"primary":"#5C67FF","light":"#fab6f4","dark":"#5C67FF"},"logo":{"light":"https://mintcdn.com/lifi/EmProAEgMrruLUbI/logo/light.png?fit=max\u0026auto=format\u0026n=EmProAEgMrruLUbI\u0026q=85\u0026s=f435348680e682acea6e3b9af339ed7a","dark":"https://mintcdn.com/lifi/EmProAEgMrruLUbI/logo/dark.png?fit=max\u0026auto=format\u0026n=EmProAEgMrruLUbI\u0026q=85\u0026s=d02539147db168291d7c711beb45d10b"},"favicon":"https://mintcdn.com/lifi/jEGN0oG6bNsdv0a3/logo/favicon.svg?fit=max\u0026auto=format\u0026n=jEGN0oG6bNsdv0a3\u0026q=85\u0026s=35fb6353ca8815e24daf1025135fef38","api":{"openapi":"openapi.yaml"},"appearance":{"default":"dark"},"background":{"color":{"light":"#FAFAFF","dark":"#000B29"}},"navbar":{"links":[{"href":"https://lifihelp.zendesk.com/hc/en-us","label":"Support"}],"primary":{"type":"button","label":"Get Started","href":"https://portal.li.fi/signup"}},"footer":{"socials":{"x":"https://x.com/lifiprotocol","github":"https://github.com/lifinance","website":"https://li.fi/"},"links":[{"header":"Company","items":[{"label":"Careers","href":"https://li.fi/careers"},{"label":"Brand Assets","href":"https://li.fi/brand-assets"},{"label":"About","href":"https://li.fi/"}]},{"header":"Tools","items":[{"label":"LI.FI Explorer","href":"https://explorer.li.fi/?utm_source=lifi\u0026utm_medium=footer_link_tools\u0026utm_campaign=lifi_to_explorer"}]},{"header":"Legal","items":[{"label":"Privacy Policy","href":"https://li.fi/legal/privacy-policy"},{"label":"Terms of Service","href":"https://li.fi/legal/terms-and-conditions"},{"label":"Imprint","href":"https://li.fi/legal/imprint"}]}]},"styling":{"eyebrows":"section","codeblocks":"system","latex":false},"integrations":{"ga4":{"measurementId":"G-NTE1P73M4Q"}},"contextual":{"options":["copy","view","chatgpt","claude"],"display":"header"},"navigation":{"languages":[{"language":"en","href":"introduction/introduction"},{"language":"zh-Hans","href":"zh-Hans/introduction/introduction"}]}},"deployment":{"deploymentMetadataValue":{"subdomain":"lifi","hasAudioNarration":false,"actualSubdomain":"lifi","customDomains":["docs.li.fi"],"gitSource":{"type":"github","owner":"lifinance","repo":"public-docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6aeb2e313328f53f4240d888","clientVersion":"0.0.4088","searchFilterCounts":[{"language":"en","tag":"Composer","count":56},{"language":"en","tag":"Overview","count":48},{"language":"zh-Hans","tag":"Composer","count":46},{"language":"zh-Hans","tag":"概述","count":44},{"language":"en","tag":"Integrate via Composer API","count":40},{"language":"en","tag":"API Reference","count":34},{"language":"en","tag":"Intents \u0026 Solvers","count":32},{"language":"zh-Hans","tag":"意图与求解器","count":32},{"language":"zh-Hans","tag":"通过 Composer API 集成","count":30},{"language":"zh-Hans","tag":"API 参考","count":29},{"language":"en","tag":"Reference","count":28},{"language":"en","tag":"For Agents","count":21},{"language":"en","tag":"Widget","count":20},{"language":"zh-Hans","tag":"Widget","count":20},{"language":"zh-Hans","tag":"参考文档","count":19},{"language":"en","tag":"Getting Started","count":16},{"language":"en","tag":"General API","count":16},{"language":"zh-Hans","tag":"通用 API","count":16},{"language":"zh-Hans","tag":"企业级功能","count":15},{"language":"zh-Hans","tag":"入门","count":14}]},"assistantConfig":{},"basePath":"","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-metadata","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"comment-mode","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"api-reference/check-the-status-of-a-cross-chain-transfer","slug":"/api-reference/check-the-status-of-a-cross-chain-transfer","pageMetadata":{"openapi":"get /v1/status","title":"Check the status of a cross chain transfer","description":"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.\nImportant: 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.\nWhile none of the parameters `fromChain`, `toChain` and `bridge` are required, passing the `fromChain` parameter will speed up the request and is therefore encouraged.\nIf you want to learn more about how to use this endpoint please have a look at our [guide](/introduction/user-flows-and-examples/status-tracking).","href":"/api-reference/check-the-status-of-a-cross-chain-transfer"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx, jsxs: _jsxs} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n a: \"a\",\n code: \"code\",\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsxs(_components.p, {\n children: [\"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.\\nImportant: A transaction that is not currently found may return HTTP \", _jsx(_components.code, {\n children: \"404\"\n }), \" with code \", _jsx(_components.code, {\n children: \"1003\"\n }), \". Clients should also handle a \", _jsx(_components.code, {\n children: \"200\"\n }), \" response with status \", _jsx(_components.code, {\n children: \"NOT_FOUND\"\n }), \". 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.\\nWhile none of the parameters \", _jsx(_components.code, {\n children: \"fromChain\"\n }), \", \", _jsx(_components.code, {\n children: \"toChain\"\n }), \" and \", _jsx(_components.code, {\n children: \"bridge\"\n }), \" are required, passing the \", _jsx(_components.code, {\n children: \"fromChain\"\n }), \" parameter will speed up the request and is therefore encouraged.\\nIf you want to learn more about how to use this endpoint please have a look at our \", _jsx(_components.a, {\n href: \"/introduction/user-flows-and-examples/status-tracking\",\n children: \"guide\"\n }), \".\"]\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){return _jsx(_Fragment,{})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent}","frontmatter":{},"scope":{"codeStyling":"system","config":{},"pageMetadata":{"openapi":"get /v1/status","title":"Check the status of a cross chain transfer","description":"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.\nImportant: 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.\nWhile none of the parameters `fromChain`, `toChain` and `bridge` are required, passing the `fromChain` parameter will speed up the request and is therefore encouraged.\nIf you want to learn more about how to use this endpoint please have a look at our [guide](/introduction/user-flows-and-examples/status-tracking).","href":"/api-reference/check-the-status-of-a-cross-chain-transfer"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":["/_mintlify/custom/lifi/951d8dd0c2dbce84/plausible.js","/_mintlify/custom/lifi/8e3c41579c236ea7/scripts/translate-docs.js","/_mintlify/custom/lifi/b34903975490ec23/scripts/generate-md-redirects.js","/_mintlify/custom/lifi/516472b23ab068ad/scripts/check-links.js","/_mintlify/custom/lifi/70364f7a7384bb43/scripts/markdown-chunker.js","/_mintlify/custom/lifi/6c99617851837b30/scripts/translation-config.js","/_mintlify/custom/lifi/8f88293865b45873/scripts/verify-translation-coverage.js"],"openApiReferenceData":{"operation":{"parameters":["a435d15d-d66e-494c-a506-853ca3667c89","f53f15e9-de38-4b3a-b096-8df0fd957730","18712025-3e3b-4d0e-85e6-b1515408a510","171b6d62-e62a-496c-a0ef-80b05caa24af","b1366283-91f6-4bf0-a8de-f36db6913db2"],"responses":{"200":"6f73461f-873f-49f6-b3c0-4ad2bb94f7fc","400":"cd023f4d-4f91-475b-8b4a-658b66a1680b","404":"f6d0572e-c66f-454c-9af1-bdedc87afcf4"},"summary":"Check the status of a cross chain transfer","description":"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.\nImportant: 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.\nWhile none of the parameters `fromChain`, `toChain` and `bridge` are required, passing the `fromChain` parameter will speed up the request and is therefore encouraged.\nIf you want to learn more about how to use this endpoint please have a look at our [guide](/introduction/user-flows-and-examples/status-tracking).","method":"get","type":"path","servers":["2d571c46-53ec-43a1-9793-fbf2719d026d","ea026e35-a5ad-4fd4-9864-837362b78550"],"security":[],"path":"/v1/status","baseUrlOptions":["https://li.quest","https://staging.li.quest"],"title":"Check the status of a cross chain transfer","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{"a435d15d-d66e-494c-a506-853ca3667c89":{"example":"0xe1ffdcf09d5aa92a2d89b1b39db3f8cadf09428a296cce0d5e387595ac83d08f","name":"txHash","description":"The transaction hash on the sending chain, destination chain or lifi step id","schema":{"type":"string","isRequired":true,"description":"The transaction hash on the sending chain, destination chain or lifi step id","uniqueKey":"","typeLabel":"string"},"in":"query","required":true},"f53f15e9-de38-4b3a-b096-8df0fd957730":{"example":"stargateV2","name":"bridge","description":"The bridging tool used for the transfer","schema":{"type":"string","description":"The bridging tool used for the transfer\nIdentifier 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.","isRequired":false,"uniqueKey":"","typeLabel":"string"},"in":"query","required":false},"18712025-3e3b-4d0e-85e6-b1515408a510":{"example":"OPT","name":"fromChain","description":"The sending chain. Can be the chain id or chain key","schema":{"type":"string","isRequired":false,"description":"The sending chain. Can be the chain id or chain key","uniqueKey":"","typeLabel":"string"},"in":"query","required":false},"171b6d62-e62a-496c-a0ef-80b05caa24af":{"example":"ARB","name":"toChain","description":"The receiving chain. Can be the chain id or chain key","schema":{"type":"string","isRequired":false,"description":"The receiving chain. Can be the chain id or chain key","uniqueKey":"","typeLabel":"string"},"in":"query","required":false},"b1366283-91f6-4bf0-a8de-f36db6913db2":{"name":"x-lifi-api-key","description":"Authentication header, register in the LI.FI Partner Portal (https://portal.li.fi/ ) to get your API Key.","schema":{"type":"string","description":"Authentication header, register in the LI.FI Partner Portal (https://portal.li.fi/ ) to get your API Key.","uniqueKey":"","typeLabel":"string"},"in":"header"}},"responses":{"6f73461f-873f-49f6-b3c0-4ad2bb94f7fc":{"content":{"application/json":{"schema":{"title":"Root Type for StatusResponse","description":"The current status of a transfer","required":["sending","status","tool"],"type":"object","properties":{"sending":{"title":"Root Type for TransactionInfo","description":"The transaction on the sending chain","required":["txLink","amount","txHash","token","chainId"],"type":"object","properties":{"txHash":{"description":"The hash of the transaction","type":"string","isRequired":true,"uniqueKey":"sending.txHash","typeLabel":"string"},"txLink":{"description":"Link to a block explorer showing the transaction","type":"string","isRequired":true,"uniqueKey":"sending.txLink","typeLabel":"string"},"amount":{"description":"The amount of the transaction","type":"string","isRequired":true,"uniqueKey":"sending.amount","typeLabel":"string"},"token":{"title":"Root Type for Token","description":"Information about the token","required":["address","chainId","decimals","name","symbol"],"type":"object","properties":{"address":{"description":"Address of the token","type":"string","isRequired":true,"uniqueKey":"sending.token.address","typeLabel":"string"},"decimals":{"format":"number","description":"Number of decimals the token uses","type":"number","isRequired":true,"uniqueKey":"sending.token.decimals","typeLabel":"number\u003cnumber>"},"symbol":{"description":"Symbol of the token","type":"string","isRequired":true,"uniqueKey":"sending.token.symbol","typeLabel":"string"},"chainId":{"format":"number","description":"Id of the token's chain","type":"number","isRequired":true,"uniqueKey":"sending.token.chainId","typeLabel":"number\u003cnumber>"},"name":{"description":"Name of the token","type":"string","isRequired":true,"uniqueKey":"sending.token.name","typeLabel":"string"},"coinKey":{"description":"Identifier for the token","type":"string","uniqueKey":"sending.token.coinKey","typeLabel":"string"},"logoURI":{"description":"Logo of the token","type":"string","uniqueKey":"sending.token.logoURI","typeLabel":"string"},"priceUSD":{"description":"Token price in USD","type":"string","uniqueKey":"sending.token.priceUSD","typeLabel":"string"}},"example":{"address":"0x8f3cf7ad23cd3cadbd9735aff958023239c6a063","symbol":"DAI","decimals":18,"chainId":137,"name":"(PoS) Dai Stablecoin","coinKey":"DAI","priceUSD":"1","logoURI":"https://static.debank.com/image/matic_token/logo_url/0x8f3cf7ad23cd3cadbd9735aff958023239c6a063/549c4205dbb199f1b8b03af783f35e71.png"},"isRequired":true,"uniqueKey":"sending.token","typeLabel":"Root Type for Token · object"},"chainId":{"description":"The id of the chain","type":"number","isRequired":true,"uniqueKey":"sending.chainId","typeLabel":"number"},"gasToken":{"title":"Root Type for Token","description":"The token in which gas was paid","required":["address","chainId","decimals","name","symbol"],"type":"object","properties":{"address":{"description":"Address of the token","type":"string","isRequired":true,"uniqueKey":"sending.gasToken.address","typeLabel":"string"},"decimals":{"format":"number","description":"Number of decimals the token uses","type":"number","isRequired":true,"uniqueKey":"sending.gasToken.decimals","typeLabel":"number\u003cnumber>"},"symbol":{"description":"Symbol of the token","type":"string","isRequired":true,"uniqueKey":"sending.gasToken.symbol","typeLabel":"string"},"chainId":{"format":"number","description":"Id of the token's chain","type":"number","isRequired":true,"uniqueKey":"sending.gasToken.chainId","typeLabel":"number\u003cnumber>"},"name":{"description":"Name of the token","type":"string","isRequired":true,"uniqueKey":"sending.gasToken.name","typeLabel":"string"},"coinKey":{"description":"Identifier for the token","type":"string","uniqueKey":"sending.gasToken.coinKey","typeLabel":"string"},"logoURI":{"description":"Logo of the token","type":"string","uniqueKey":"sending.gasToken.logoURI","typeLabel":"string"},"priceUSD":{"description":"Token price in USD","type":"string","uniqueKey":"sending.gasToken.priceUSD","typeLabel":"string"}},"example":{"address":"0x8f3cf7ad23cd3cadbd9735aff958023239c6a063","symbol":"DAI","decimals":18,"chainId":137,"name":"(PoS) Dai Stablecoin","coinKey":"DAI","priceUSD":"1","logoURI":"https://static.debank.com/image/matic_token/logo_url/0x8f3cf7ad23cd3cadbd9735aff958023239c6a063/549c4205dbb199f1b8b03af783f35e71.png"},"uniqueKey":"sending.gasToken","typeLabel":"Root Type for Token · object"},"gasAmount":{"description":"The amount of the gas that was paid","type":"string","uniqueKey":"sending.gasAmount","typeLabel":"string"},"gasAmountUSD":{"description":"The amount of the gas that was paid in USD","type":"string","uniqueKey":"sending.gasAmountUSD","typeLabel":"string"},"gasPrice":{"description":"The price of the gas","type":"string","uniqueKey":"sending.gasPrice","typeLabel":"string"},"gasUsed":{"description":"The amount of the gas that was used","type":"string","uniqueKey":"sending.gasUsed","typeLabel":"string"},"timestamp":{"description":"The transaction timestamp","type":"number","uniqueKey":"sending.timestamp","typeLabel":"number"},"value":{"description":"The transaction value","type":"string","uniqueKey":"sending.value","typeLabel":"string"},"includedSteps":{"description":"An array of swap or protocol steps included in the LI.FI transaction","type":"array","items":{"title":"Root type for included swaps or protocol steps in the status response","description":"The included steps contain tool name and details, sending and receiving token data and amounts.","type":"object","properties":{"tool":{"description":"The tool used for this step","type":"string","uniqueKey":"sending.includedSteps.items.[INDEX].tool","typeLabel":"string"},"toolDetails":{"description":"The details of the tool used for this step. E.g. `1inch` or `feeProtocol`","type":"object","properties":{"key":{"description":"The tool key","type":"string","uniqueKey":"sending.includedSteps.items.[INDEX].toolDetails.key","typeLabel":"string"},"name":{"description":"The tool name","type":"string","uniqueKey":"sending.includedSteps.items.[INDEX].toolDetails.name","typeLabel":"string"},"logoURI":{"description":"The tool logo URL","type":"string","uniqueKey":"sending.includedSteps.items.[INDEX].toolDetails.logoURI","typeLabel":"string"}},"uniqueKey":"sending.includedSteps.items.[INDEX].toolDetails","typeLabel":"object"},"fromAmount":{"description":"The amount that was sent to the tool","type":"string","uniqueKey":"sending.includedSteps.items.[INDEX].fromAmount","typeLabel":"string"},"fromToken":{"description":"The token that was sent to the tool","type":"string","uniqueKey":"sending.includedSteps.items.[INDEX].fromToken","typeLabel":"string"},"toAmount":{"description":"The amount that was received from the tool","type":"string","uniqueKey":"sending.includedSteps.items.[INDEX].toAmount","typeLabel":"string"},"toToken":{"description":"The token that was received from the tool","type":"string","uniqueKey":"sending.includedSteps.items.[INDEX].toToken","typeLabel":"string"},"bridgedAmount":{"description":"The amount that was sent to the bridge","type":"string","uniqueKey":"sending.includedSteps.items.[INDEX].bridgedAmount","typeLabel":"string"}},"uniqueKey":"sending.includedSteps.items.[INDEX]","typeLabel":"Root type for included swaps or protocol steps in the status response · object"},"uniqueKey":"sending.includedSteps","typeLabel":"Root type for included swaps or protocol steps in the status response · object[]"}},"example":{"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"},"isRequired":true,"uniqueKey":"sending","typeLabel":"Root Type for TransactionInfo · object"},"status":{"description":"The current status of the transfer. Can be `PENDING`, `DONE`, `NOT_FOUND` or `FAILED`","enum":["NOT_FOUND","INVALID","PENDING","DONE","FAILED"],"type":"string","isRequired":true,"uniqueKey":"status","typeLabel":"enum\u003cstring>"},"tool":{"description":"The tool used for this transfer","type":"string","isRequired":true,"uniqueKey":"tool","typeLabel":"string"},"receiving":{"title":"Root Type for TransactionInfo","description":"The transaction on the receiving chain","required":["txLink","amount","txHash","token","chainId"],"type":"object","properties":{"txHash":{"description":"The hash of the transaction","type":"string","isRequired":true,"uniqueKey":"receiving.txHash","typeLabel":"string"},"txLink":{"description":"Link to a block explorer showing the transaction","type":"string","isRequired":true,"uniqueKey":"receiving.txLink","typeLabel":"string"},"amount":{"description":"The amount of the transaction","type":"string","isRequired":true,"uniqueKey":"receiving.amount","typeLabel":"string"},"token":{"title":"Root Type for Token","description":"Information about the token","required":["address","chainId","decimals","name","symbol"],"type":"object","properties":{"address":{"description":"Address of the token","type":"string","isRequired":true,"uniqueKey":"receiving.token.address","typeLabel":"string"},"decimals":{"format":"number","description":"Number of decimals the token uses","type":"number","isRequired":true,"uniqueKey":"receiving.token.decimals","typeLabel":"number\u003cnumber>"},"symbol":{"description":"Symbol of the token","type":"string","isRequired":true,"uniqueKey":"receiving.token.symbol","typeLabel":"string"},"chainId":{"format":"number","description":"Id of the token's chain","type":"number","isRequired":true,"uniqueKey":"receiving.token.chainId","typeLabel":"number\u003cnumber>"},"name":{"description":"Name of the token","type":"string","isRequired":true,"uniqueKey":"receiving.token.name","typeLabel":"string"},"coinKey":{"description":"Identifier for the token","type":"string","uniqueKey":"receiving.token.coinKey","typeLabel":"string"},"logoURI":{"description":"Logo of the token","type":"string","uniqueKey":"receiving.token.logoURI","typeLabel":"string"},"priceUSD":{"description":"Token price in USD","type":"string","uniqueKey":"receiving.token.priceUSD","typeLabel":"string"}},"example":{"address":"0x8f3cf7ad23cd3cadbd9735aff958023239c6a063","symbol":"DAI","decimals":18,"chainId":137,"name":"(PoS) Dai Stablecoin","coinKey":"DAI","priceUSD":"1","logoURI":"https://static.debank.com/image/matic_token/logo_url/0x8f3cf7ad23cd3cadbd9735aff958023239c6a063/549c4205dbb199f1b8b03af783f35e71.png"},"isRequired":true,"uniqueKey":"receiving.token","typeLabel":"Root Type for Token · object"},"chainId":{"description":"The id of the chain","type":"number","isRequired":true,"uniqueKey":"receiving.chainId","typeLabel":"number"},"gasToken":{"title":"Root Type for Token","description":"The token in which gas was paid","required":["address","chainId","decimals","name","symbol"],"type":"object","properties":{"address":{"description":"Address of the token","type":"string","isRequired":true,"uniqueKey":"receiving.gasToken.address","typeLabel":"string"},"decimals":{"format":"number","description":"Number of decimals the token uses","type":"number","isRequired":true,"uniqueKey":"receiving.gasToken.decimals","typeLabel":"number\u003cnumber>"},"symbol":{"description":"Symbol of the token","type":"string","isRequired":true,"uniqueKey":"receiving.gasToken.symbol","typeLabel":"string"},"chainId":{"format":"number","description":"Id of the token's chain","type":"number","isRequired":true,"uniqueKey":"receiving.gasToken.chainId","typeLabel":"number\u003cnumber>"},"name":{"description":"Name of the token","type":"string","isRequired":true,"uniqueKey":"receiving.gasToken.name","typeLabel":"string"},"coinKey":{"description":"Identifier for the token","type":"string","uniqueKey":"receiving.gasToken.coinKey","typeLabel":"string"},"logoURI":{"description":"Logo of the token","type":"string","uniqueKey":"receiving.gasToken.logoURI","typeLabel":"string"},"priceUSD":{"description":"Token price in USD","type":"string","uniqueKey":"receiving.gasToken.priceUSD","typeLabel":"string"}},"example":{"address":"0x8f3cf7ad23cd3cadbd9735aff958023239c6a063","symbol":"DAI","decimals":18,"chainId":137,"name":"(PoS) Dai Stablecoin","coinKey":"DAI","priceUSD":"1","logoURI":"https://static.debank.com/image/matic_token/logo_url/0x8f3cf7ad23cd3cadbd9735aff958023239c6a063/549c4205dbb199f1b8b03af783f35e71.png"},"uniqueKey":"receiving.gasToken","typeLabel":"Root Type for Token · object"},"gasAmount":{"description":"The amount of the gas that was paid","type":"string","uniqueKey":"receiving.gasAmount","typeLabel":"string"},"gasAmountUSD":{"description":"The amount of the gas that was paid in USD","type":"string","uniqueKey":"receiving.gasAmountUSD","typeLabel":"string"},"gasPrice":{"description":"The price of the gas","type":"string","uniqueKey":"receiving.gasPrice","typeLabel":"string"},"gasUsed":{"description":"The amount of the gas that was used","type":"string","uniqueKey":"receiving.gasUsed","typeLabel":"string"},"timestamp":{"description":"The transaction timestamp","type":"number","uniqueKey":"receiving.timestamp","typeLabel":"number"},"value":{"description":"The transaction value","type":"string","uniqueKey":"receiving.value","typeLabel":"string"},"includedSteps":{"description":"An array of swap or protocol steps included in the LI.FI transaction","type":"array","items":{"title":"Root type for included swaps or protocol steps in the status response","description":"The included steps contain tool name and details, sending and receiving token data and amounts.","type":"object","properties":{"tool":{"description":"The tool used for this step","type":"string","uniqueKey":"receiving.includedSteps.items.[INDEX].tool","typeLabel":"string"},"toolDetails":{"description":"The details of the tool used for this step. E.g. `1inch` or `feeProtocol`","type":"object","properties":{"key":{"description":"The tool key","type":"string","uniqueKey":"receiving.includedSteps.items.[INDEX].toolDetails.key","typeLabel":"string"},"name":{"description":"The tool name","type":"string","uniqueKey":"receiving.includedSteps.items.[INDEX].toolDetails.name","typeLabel":"string"},"logoURI":{"description":"The tool logo URL","type":"string","uniqueKey":"receiving.includedSteps.items.[INDEX].toolDetails.logoURI","typeLabel":"string"}},"uniqueKey":"receiving.includedSteps.items.[INDEX].toolDetails","typeLabel":"object"},"fromAmount":{"description":"The amount that was sent to the tool","type":"string","uniqueKey":"receiving.includedSteps.items.[INDEX].fromAmount","typeLabel":"string"},"fromToken":{"description":"The token that was sent to the tool","type":"string","uniqueKey":"receiving.includedSteps.items.[INDEX].fromToken","typeLabel":"string"},"toAmount":{"description":"The amount that was received from the tool","type":"string","uniqueKey":"receiving.includedSteps.items.[INDEX].toAmount","typeLabel":"string"},"toToken":{"description":"The token that was received from the tool","type":"string","uniqueKey":"receiving.includedSteps.items.[INDEX].toToken","typeLabel":"string"},"bridgedAmount":{"description":"The amount that was sent to the bridge","type":"string","uniqueKey":"receiving.includedSteps.items.[INDEX].bridgedAmount","typeLabel":"string"}},"uniqueKey":"receiving.includedSteps.items.[INDEX]","typeLabel":"Root type for included swaps or protocol steps in the status response · object"},"uniqueKey":"receiving.includedSteps","typeLabel":"Root type for included swaps or protocol steps in the status response · object[]"}},"example":{"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"},"uniqueKey":"receiving","typeLabel":"Root Type for TransactionInfo · object"},"feeCosts":{"description":"An array of fee costs for the transaction","type":"array","items":{"type":"object","properties":{"name":{"type":"string","uniqueKey":"feeCosts.items.[INDEX].name","typeLabel":"string"},"description":{"type":"string","uniqueKey":"feeCosts.items.[INDEX].description","typeLabel":"string"},"percentage":{"type":"string","uniqueKey":"feeCosts.items.[INDEX].percentage","typeLabel":"string"},"token":{"type":"object","properties":{"address":{"type":"string","uniqueKey":"feeCosts.items.[INDEX].token.address","typeLabel":"string"},"decimals":{"format":"number","type":"number","uniqueKey":"feeCosts.items.[INDEX].token.decimals","typeLabel":"number\u003cnumber>"},"symbol":{"type":"string","uniqueKey":"feeCosts.items.[INDEX].token.symbol","typeLabel":"string"},"chainId":{"format":"number","type":"number","uniqueKey":"feeCosts.items.[INDEX].token.chainId","typeLabel":"number\u003cnumber>"},"coinKey":{"type":"string","uniqueKey":"feeCosts.items.[INDEX].token.coinKey","typeLabel":"string"},"name":{"type":"string","uniqueKey":"feeCosts.items.[INDEX].token.name","typeLabel":"string"},"logoURI":{"type":"string","uniqueKey":"feeCosts.items.[INDEX].token.logoURI","typeLabel":"string"}},"uniqueKey":"feeCosts.items.[INDEX].token","typeLabel":"object"},"amount":{"type":"string","uniqueKey":"feeCosts.items.[INDEX].amount","typeLabel":"string"},"amountUSD":{"type":"string","uniqueKey":"feeCosts.items.[INDEX].amountUSD","typeLabel":"string"},"included":{"type":"boolean","uniqueKey":"feeCosts.items.[INDEX].included","typeLabel":"boolean"}},"uniqueKey":"feeCosts.items.[INDEX]","typeLabel":"object"},"uniqueKey":"feeCosts","typeLabel":"object[]"},"substatus":{"description":"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","enum":["WAIT_SOURCE_CONFIRMATIONS","WAIT_DESTINATION_TRANSACTION","BRIDGE_NOT_AVAILABLE","CHAIN_NOT_AVAILABLE","REFUND_IN_PROGRESS","UNKNOWN_ERROR","COMPLETED","PARTIAL","REFUNDED"],"type":"string","uniqueKey":"substatus","typeLabel":"enum\u003cstring>"},"substatusMessage":{"description":"A message that describes the substatus","type":"string","uniqueKey":"substatusMessage","typeLabel":"string"},"transactionId":{"description":"The ID of this transfer (NOT a transaction hash).","type":"string","uniqueKey":"transactionId","typeLabel":"string"},"fromAddress":{"description":"The address of the sender.","type":"string","uniqueKey":"fromAddress","typeLabel":"string"},"toAddress":{"description":"The address of the receiver.","type":"string","uniqueKey":"toAddress","typeLabel":"string"},"lifiExplorerLink":{"description":"The link to the LI.FI explorer.","type":"string","uniqueKey":"lifiExplorerLink","typeLabel":"string"},"metadata":{"title":"Root type for Transaction Metadata","description":"The transaction metadata which includes integrator's string, etc.","type":"object","properties":{"integrator":{"description":"Integrator ID","type":"string","uniqueKey":"metadata.integrator","typeLabel":"string"}},"uniqueKey":"metadata","typeLabel":"Root type for Transaction Metadata · object"},"quote":{"title":"Root Type for TransferQuote","description":"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.","required":["stepId","tool","type","action","estimate","includedSteps","gasLimit","createdAt"],"type":"object","properties":{"stepId":{"description":"The id of the quoted step, matching `id` on the quote response.","type":"string","isRequired":true,"uniqueKey":"quote.stepId","typeLabel":"string"},"tool":{"description":"The tool that was quoted for this transfer.","type":"string","isRequired":true,"uniqueKey":"quote.tool","typeLabel":"string"},"type":{"description":"The type of the quoted step.","type":"string","isRequired":true,"uniqueKey":"quote.type","typeLabel":"string"},"action":{"title":"Root Type for Action","description":"What was requested at quote time.","required":["fromToken","fromAmount","fromChainId","toChainId","toToken"],"type":"object","properties":{"fromChainId":{"format":"number","description":"The id of the chain where the transfer should start","type":"number","isRequired":true,"uniqueKey":"quote.action.fromChainId","typeLabel":"number\u003cnumber>"},"fromAmount":{"description":"The amount that should be transferred including all decimals","type":"string","isRequired":true,"uniqueKey":"quote.action.fromAmount","typeLabel":"string"},"fromToken":{"title":"Root Type for Token","description":"The sending token","required":["address","chainId","decimals","name","symbol"],"type":"object","properties":{"address":{"description":"Address of the token","type":"string","isRequired":true,"uniqueKey":"quote.action.fromToken.address","typeLabel":"string"},"decimals":{"format":"number","description":"Number of decimals the token uses","type":"number","isRequired":true,"uniqueKey":"quote.action.fromToken.decimals","typeLabel":"number\u003cnumber>"},"symbol":{"description":"Symbol of the token","type":"string","isRequired":true,"uniqueKey":"quote.action.fromToken.symbol","typeLabel":"string"},"chainId":{"format":"number","description":"Id of the token's chain","type":"number","isRequired":true,"uniqueKey":"quote.action.fromToken.chainId","typeLabel":"number\u003cnumber>"},"name":{"description":"Name of the token","type":"string","isRequired":true,"uniqueKey":"quote.action.fromToken.name","typeLabel":"string"},"coinKey":{"description":"Identifier for the token","type":"string","uniqueKey":"quote.action.fromToken.coinKey","typeLabel":"string"},"logoURI":{"description":"Logo of the token","type":"string","uniqueKey":"quote.action.fromToken.logoURI","typeLabel":"string"},"priceUSD":{"description":"Token price in USD","type":"string","uniqueKey":"quote.action.fromToken.priceUSD","typeLabel":"string"}},"example":{"address":"0x8f3cf7ad23cd3cadbd9735aff958023239c6a063","symbol":"DAI","decimals":18,"chainId":137,"name":"(PoS) Dai Stablecoin","coinKey":"DAI","priceUSD":"1","logoURI":"https://static.debank.com/image/matic_token/logo_url/0x8f3cf7ad23cd3cadbd9735aff958023239c6a063/549c4205dbb199f1b8b03af783f35e71.png"},"isRequired":true,"uniqueKey":"quote.action.fromToken","typeLabel":"Root Type for Token · object"},"toChainId":{"format":"number","description":"The id of the chain where the transfer should end","type":"number","isRequired":true,"uniqueKey":"quote.action.toChainId","typeLabel":"number\u003cnumber>"},"toToken":{"title":"Root Type for Token","description":"The token that should be transferred to","required":["address","chainId","decimals","name","symbol"],"type":"object","properties":{"address":{"description":"Address of the token","type":"string","isRequired":true,"uniqueKey":"quote.action.toToken.address","typeLabel":"string"},"decimals":{"format":"number","description":"Number of decimals the token uses","type":"number","isRequired":true,"uniqueKey":"quote.action.toToken.decimals","typeLabel":"number\u003cnumber>"},"symbol":{"description":"Symbol of the token","type":"string","isRequired":true,"uniqueKey":"quote.action.toToken.symbol","typeLabel":"string"},"chainId":{"format":"number","description":"Id of the token's chain","type":"number","isRequired":true,"uniqueKey":"quote.action.toToken.chainId","typeLabel":"number\u003cnumber>"},"name":{"description":"Name of the token","type":"string","isRequired":true,"uniqueKey":"quote.action.toToken.name","typeLabel":"string"},"coinKey":{"description":"Identifier for the token","type":"string","uniqueKey":"quote.action.toToken.coinKey","typeLabel":"string"},"logoURI":{"description":"Logo of the token","type":"string","uniqueKey":"quote.action.toToken.logoURI","typeLabel":"string"},"priceUSD":{"description":"Token price in USD","type":"string","uniqueKey":"quote.action.toToken.priceUSD","typeLabel":"string"}},"example":{"address":"0x8f3cf7ad23cd3cadbd9735aff958023239c6a063","symbol":"DAI","decimals":18,"chainId":137,"name":"(PoS) Dai Stablecoin","coinKey":"DAI","priceUSD":"1","logoURI":"https://static.debank.com/image/matic_token/logo_url/0x8f3cf7ad23cd3cadbd9735aff958023239c6a063/549c4205dbb199f1b8b03af783f35e71.png"},"isRequired":true,"uniqueKey":"quote.action.toToken","typeLabel":"Root Type for Token · object"},"slippage":{"format":"double","description":"The maximum allowed slippage","type":"number","uniqueKey":"quote.action.slippage","typeLabel":"number\u003cdouble>"},"fromAddress":{"description":"The sending wallet address","type":"string","uniqueKey":"quote.action.fromAddress","typeLabel":"string"},"toAddress":{"description":"The receiving wallet address","type":"string","uniqueKey":"quote.action.toAddress","typeLabel":"string"}},"example":{"fromChainId":100,"fromAmount":"1000000000000000000","fromToken":{"address":"0x63e62989d9eb2d37dfdb1f93a22f063635b07d51","symbol":"MIVA","decimals":18,"chainId":100,"name":"Minerva Wallet SuperToken","coinKey":"MIVA","priceUSD":"0.0455272371751059","logoURI":""},"toChainId":137,"toToken":{"address":"0xc0b2983a17573660053beeed6fdb1053107cf387","symbol":"MIVA","decimals":18,"chainId":137,"name":"Minerva Wallet SuperToken","coinKey":"MIVA","priceUSD":"0","logoURI":""},"slippage":0.003},"isRequired":true,"uniqueKey":"quote.action","typeLabel":"Root Type for Action · object"},"estimate":{"title":"Root Type for Estimate","description":"The amounts and costs estimated at quote time.","required":["fromAmount","approvalAddress","toAmount","toAmountMin","tool","executionDuration"],"type":"object","properties":{"tool":{"description":"The tools that is being used for this step","type":"string","isRequired":true,"uniqueKey":"quote.estimate.tool","typeLabel":"string"},"fromAmount":{"description":"The amount that should be transferred including all decimals","type":"string","isRequired":true,"uniqueKey":"quote.estimate.fromAmount","typeLabel":"string"},"toAmount":{"description":"The estimated resulting amount of the `toToken` including all decimals","type":"string","isRequired":true,"uniqueKey":"quote.estimate.toAmount","typeLabel":"string"},"toAmountMin":{"description":"The minimal outcome of the transfer including all decimals. It may reflect applicable slippage and known fee-on-transfer tax adjustments.","type":"string","isRequired":true,"uniqueKey":"quote.estimate.toAmountMin","typeLabel":"string"},"approvalAddress":{"description":"The contract address for the approval","type":"string","isRequired":true,"uniqueKey":"quote.estimate.approvalAddress","typeLabel":"string"},"executionDuration":{"description":"The time needed to complete the following step","type":"number","isRequired":true,"uniqueKey":"quote.estimate.executionDuration","typeLabel":"number"},"fromAmountUSD":{"description":"The amount that should be transferred in USD equivalent","type":"string","uniqueKey":"quote.estimate.fromAmountUSD","typeLabel":"string"},"toAmountUSD":{"description":"The estimated resulting amount of the `toToken` in USD equivalent","type":"string","uniqueKey":"quote.estimate.toAmountUSD","typeLabel":"string"},"skipApproval":{"description":"Optional flag indicating that this step needs no token approval, because the executing contract moves funds under the authorization already carried by the signed transaction or message.","type":"boolean","uniqueKey":"quote.estimate.skipApproval","typeLabel":"boolean"},"feeCosts":{"description":"Fees charged on the transfer. On a `lifi` step this array is the concatenation of the fee costs of every entry in `includedSteps`, so it already contains them. Do not add both together.","type":"array","items":{"title":"Root Type for FeeCost","description":"A protocol, integrator, or execution fee charged on the transfer. Fee costs cover everything that is charged as a fee rather than paid as network gas by the sender, including destination execution costs that a bridge or solver bills as a fee. See [Gas costs and fee costs](https://docs.li.fi/guides/gas-and-fee-costs) for how to read and display these values.","required":["token","percentage","name","amountUSD","included"],"type":"object","properties":{"name":{"description":"Human-readable name of the fee, for example `LIFI Fixed Fee` or `Relayer Gas fee`. Names are tool-specific free text and are not a stable enum. Do not branch on this value.","type":"string","isRequired":true,"uniqueKey":"quote.estimate.feeCosts.items.[INDEX].name","typeLabel":"string"},"percentage":{"description":"The fee expressed as a fraction of the transferred amount, for example `0.0025` for 0.25%. A fee whose name contains `Fixed` may still report a non-zero fraction; do not infer the fee model from `name` or assume fixed-fee entries report `0`.","type":"string","isRequired":true,"uniqueKey":"quote.estimate.feeCosts.items.[INDEX].percentage","typeLabel":"string"},"token":{"title":"Root Type for Token","description":"The `Token` the fee is denominated in. `token.chainId` identifies the chain of that token, not necessarily the chain where the underlying work happens. A destination execution fee is commonly denominated in the source-chain token the user is already sending.","required":["address","chainId","decimals","name","symbol"],"type":"object","properties":{"address":{"description":"Address of the token","type":"string","isRequired":true,"uniqueKey":"quote.estimate.feeCosts.items.[INDEX].token.address","typeLabel":"string"},"decimals":{"format":"number","description":"Number of decimals the token uses","type":"number","isRequired":true,"uniqueKey":"quote.estimate.feeCosts.items.[INDEX].token.decimals","typeLabel":"number\u003cnumber>"},"symbol":{"description":"Symbol of the token","type":"string","isRequired":true,"uniqueKey":"quote.estimate.feeCosts.items.[INDEX].token.symbol","typeLabel":"string"},"chainId":{"format":"number","description":"Id of the token's chain","type":"number","isRequired":true,"uniqueKey":"quote.estimate.feeCosts.items.[INDEX].token.chainId","typeLabel":"number\u003cnumber>"},"name":{"description":"Name of the token","type":"string","isRequired":true,"uniqueKey":"quote.estimate.feeCosts.items.[INDEX].token.name","typeLabel":"string"},"coinKey":{"description":"Identifier for the token","type":"string","uniqueKey":"quote.estimate.feeCosts.items.[INDEX].token.coinKey","typeLabel":"string"},"logoURI":{"description":"Logo of the token","type":"string","uniqueKey":"quote.estimate.feeCosts.items.[INDEX].token.logoURI","typeLabel":"string"},"priceUSD":{"description":"Token price in USD","type":"string","uniqueKey":"quote.estimate.feeCosts.items.[INDEX].token.priceUSD","typeLabel":"string"}},"example":{"address":"0x8f3cf7ad23cd3cadbd9735aff958023239c6a063","symbol":"DAI","decimals":18,"chainId":137,"name":"(PoS) Dai Stablecoin","coinKey":"DAI","priceUSD":"1","logoURI":"https://static.debank.com/image/matic_token/logo_url/0x8f3cf7ad23cd3cadbd9735aff958023239c6a063/549c4205dbb199f1b8b03af783f35e71.png"},"isRequired":true,"uniqueKey":"quote.estimate.feeCosts.items.[INDEX].token","typeLabel":"Root Type for Token · object"},"amountUSD":{"description":"The amount of fees in USD","type":"string","isRequired":true,"uniqueKey":"quote.estimate.feeCosts.items.[INDEX].amountUSD","typeLabel":"string"},"included":{"description":"`true` means the fee is already accounted for in the quoted amounts and must not be added again as a separate user payment. `false` means the user pays it on top of `fromAmount`.","type":"boolean","isRequired":true,"uniqueKey":"quote.estimate.feeCosts.items.[INDEX].included","typeLabel":"boolean"},"description":{"description":"Description of the fee costs","type":"string","uniqueKey":"quote.estimate.feeCosts.items.[INDEX].description","typeLabel":"string"},"amount":{"description":"The fee amount in the smallest unit of `token`, before decimals are applied. Divide by `10 ** token.decimals` for a human-readable amount.","type":"string","uniqueKey":"quote.estimate.feeCosts.items.[INDEX].amount","typeLabel":"string"},"feeSplit":{"description":"Response-only breakdown of this fee entry's `amount` into the parties that share it. Returned for the LI.FI/integrator fee entry and for a separate `Distributions` entry when distributions are present; omitted for fees such as a relayer or bridge gas fee.\nFor the LI.FI/integrator entry, `lifiFee`, `integratorFee`, and `intermediaryFee` (when present) are disjoint slices of its `amount`. For the `Distributions` entry, `lifiFee` and `integratorFee` are both \"0\"; its `amount` is the sum of its distribution recipients. `recipients[]` describes only the parent fee entry. It is a breakdown of that entry's `amount`, not an additional charge.\nThis field is returned, not accepted: the API ignores a `feeSplit` posted in a request body, so integrations must read the split from the response instead of echoing back a previously quoted one.","type":"object","properties":{"lifiFee":{"description":"LI.FI's slice of `amount`, in the smallest unit of `token`.","type":"string","uniqueKey":"quote.estimate.feeCosts.items.[INDEX].feeSplit.lifiFee","typeLabel":"string"},"integratorFee":{"description":"The integrator's slice of `amount`, in the smallest unit of `token`. It excludes intermediary fees (reported separately as `intermediaryFee`) and distributions (reported in a separate `Distributions` fee entry). It is \"0\" on the `Distributions` entry.","type":"string","uniqueKey":"quote.estimate.feeCosts.items.[INDEX].feeSplit.integratorFee","typeLabel":"string"},"intermediaryFee":{"description":"The intermediary's slice of `amount`, in the smallest unit of `token`. Present only when an intermediary participates in the split.","type":"string","uniqueKey":"quote.estimate.feeCosts.items.[INDEX].feeSplit.intermediaryFee","typeLabel":"string"},"recipients":{"description":"Per-recipient breakdown of this fee entry's `amount`. The LI.FI/integrator entry lists its own recipients, excluding partner-specified distributions. Those are listed in the separate `Distributions` entry's own `feeSplit.recipients[]`, with type `DISTRIBUTION` and one record per distribution.","type":"array","items":{"title":"Root Type for FeeRecipient","description":"One party receiving a share of this fee entry.","type":"object","required":["name","fee"],"properties":{"name":{"description":"Recipient identifier, to be read together with `type`: `lifi` for the LI.FI platform recipient, the integrator id for the integrator's own fee, the intermediary id for an `INTERMEDIARY` entry, or the recipient wallet address for a `DISTRIBUTION` entry. Do not render it directly in a user-facing UI without type-aware formatting.","type":"string","isRequired":true,"uniqueKey":"quote.estimate.feeCosts.items.[INDEX].feeSplit.recipients.items.[INDEX].name","typeLabel":"string"},"fee":{"description":"The amount credited to this recipient, in the smallest unit of this fee entry's `token`.","type":"string","isRequired":true,"uniqueKey":"quote.estimate.feeCosts.items.[INDEX].feeSplit.recipients.items.[INDEX].fee","typeLabel":"string"},"type":{"description":"How this recipient's fee was calculated. Currently one of `FIXED`, `SHARED`, `DYNAMIC`, `INTERMEDIARY`, or `DISTRIBUTION`, and deliberately not modelled as an enum because the set can grow without a breaking change. May be absent when the calculation type cannot be determined statically, so null-check before reading and keep a default branch when matching on it.\n`FIXED` and `SHARED` are the standard fee models. `DYNAMIC` means LI.FI resolved its rate for this quote under approved Dynamic Pricing, so the same integration can report a different rate on another quote. `INTERMEDIARY` marks a third-party recipient carving a configured share, and `DISTRIBUTION` marks a partner-specified recipient within the separate `Distributions` fee entry's own `feeSplit.recipients[]`.\nTo detect Dynamic Pricing on a quote, look for a recipient whose `type` is `DYNAMIC`.","type":"string","uniqueKey":"quote.estimate.feeCosts.items.[INDEX].feeSplit.recipients.items.[INDEX].type","typeLabel":"string"},"walletAddress":{"description":"The recipient's wallet address on the source chain.","type":"string","uniqueKey":"quote.estimate.feeCosts.items.[INDEX].feeSplit.recipients.items.[INDEX].walletAddress","typeLabel":"string"}},"uniqueKey":"quote.estimate.feeCosts.items.[INDEX].feeSplit.recipients.items.[INDEX]","typeLabel":"Root Type for FeeRecipient · object"},"uniqueKey":"quote.estimate.feeCosts.items.[INDEX].feeSplit.recipients","typeLabel":"Root Type for FeeRecipient · object[]"}},"uniqueKey":"quote.estimate.feeCosts.items.[INDEX].feeSplit","typeLabel":"object"}},"example":{"name":"Relayer Gas fee","description":"Relay bridge gas fee","percentage":"0.0000","token":{"address":"0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48","symbol":"USDC","decimals":6,"chainId":1,"name":"USD Coin","coinKey":"USDC","priceUSD":"0.999578177","logoURI":"https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48/logo.png"},"amount":"1116","amountUSD":"0.0011","included":true},"uniqueKey":"quote.estimate.feeCosts.items.[INDEX]","typeLabel":"Root Type for FeeCost · object"},"uniqueKey":"quote.estimate.feeCosts","typeLabel":"Root Type for FeeCost · object[]"},"gasCosts":{"description":"Estimated network gas for the transfer. On a `lifi` step this is a single estimate for the transaction that is actually submitted. It aggregates raw gas costs from source-chain entries in `includedSteps` and, for EVM transactions, adds estimated LI.FI contract overhead. It may differ from and often exceed the sum of the source-chain per-step entries. Raw destination-chain gas costs are not added directly. Do not add the top-level and included-step arrays together.","type":"array","items":{"title":"Root Type for GasCost","description":"An estimate of the network gas the sender pays for a transaction. Gas costs are always denominated in the native gas token of the chain the transaction is sent on. See [Gas costs and fee costs](https://docs.li.fi/guides/gas-and-fee-costs) for how gas costs relate to `feeCosts` and to destination-chain execution.","required":["token","type","amount"],"type":"object","properties":{"type":{"description":"The kind of gas cost this entry represents.\n\n- `SEND`: estimated network gas for the transaction the sender submits, normally on the source chain. This is the only value the API currently returns.\n- `APPROVE`: estimated network gas for a separate ERC-20 approval transaction. Reserved; approval gas is not currently returned as its own entry.\n- `FEE`: an execution cost charged as a fee rather than as a transaction the user signs. Reserved; such costs are currently reported in `feeCosts` instead.\n- `SUM`: an aggregate of the other entries. Reserved and not currently returned.\n\nTreat `APPROVE`, `FEE`, and `SUM` as forward-compatible values: handle them if they appear, but do not build a flow that depends on them.","type":"string","enum":["SUM","APPROVE","SEND","FEE"],"example":"SEND","isRequired":true,"uniqueKey":"quote.estimate.gasCosts.items.[INDEX].type","typeLabel":"enum\u003cstring>"},"amount":{"description":"The estimated total gas cost in the smallest unit of the gas token. For EVM entries this is `estimate` multiplied by `price`. Other ecosystems may use chain-specific units and rounding, so consumers should treat `amount` as authoritative rather than reconstructing it from the other fields. Divide by `10 ** token.decimals` for a human-readable amount.","type":"string","isRequired":true,"uniqueKey":"quote.estimate.gasCosts.items.[INDEX].amount","typeLabel":"string"},"token":{"title":"Root Type for Token","description":"The native gas token of the chain the transaction is sent on. `token.chainId` is the chain that consumes the gas.","required":["address","chainId","decimals","name","symbol"],"type":"object","properties":{"address":{"description":"Address of the token","type":"string","isRequired":true,"uniqueKey":"quote.estimate.gasCosts.items.[INDEX].token.address","typeLabel":"string"},"decimals":{"format":"number","description":"Number of decimals the token uses","type":"number","isRequired":true,"uniqueKey":"quote.estimate.gasCosts.items.[INDEX].token.decimals","typeLabel":"number\u003cnumber>"},"symbol":{"description":"Symbol of the token","type":"string","isRequired":true,"uniqueKey":"quote.estimate.gasCosts.items.[INDEX].token.symbol","typeLabel":"string"},"chainId":{"format":"number","description":"Id of the token's chain","type":"number","isRequired":true,"uniqueKey":"quote.estimate.gasCosts.items.[INDEX].token.chainId","typeLabel":"number\u003cnumber>"},"name":{"description":"Name of the token","type":"string","isRequired":true,"uniqueKey":"quote.estimate.gasCosts.items.[INDEX].token.name","typeLabel":"string"},"coinKey":{"description":"Identifier for the token","type":"string","uniqueKey":"quote.estimate.gasCosts.items.[INDEX].token.coinKey","typeLabel":"string"},"logoURI":{"description":"Logo of the token","type":"string","uniqueKey":"quote.estimate.gasCosts.items.[INDEX].token.logoURI","typeLabel":"string"},"priceUSD":{"description":"Token price in USD","type":"string","uniqueKey":"quote.estimate.gasCosts.items.[INDEX].token.priceUSD","typeLabel":"string"}},"example":{"address":"0x8f3cf7ad23cd3cadbd9735aff958023239c6a063","symbol":"DAI","decimals":18,"chainId":137,"name":"(PoS) Dai Stablecoin","coinKey":"DAI","priceUSD":"1","logoURI":"https://static.debank.com/image/matic_token/logo_url/0x8f3cf7ad23cd3cadbd9735aff958023239c6a063/549c4205dbb199f1b8b03af783f35e71.png"},"isRequired":true,"uniqueKey":"quote.estimate.gasCosts.items.[INDEX].token","typeLabel":"Root Type for Token · object"},"price":{"description":"Gas price used for the estimate, in the smallest unit of the gas token per unit of gas (wei per gas on EVM chains).","type":"string","uniqueKey":"quote.estimate.gasCosts.items.[INDEX].price","typeLabel":"string"},"estimate":{"description":"Estimated units of gas the transaction consumes","type":"string","uniqueKey":"quote.estimate.gasCosts.items.[INDEX].estimate","typeLabel":"string"},"limit":{"description":"Suggested gas limit: `estimate` plus a safety buffer. Use this value when submitting the transaction, not `estimate`.","type":"string","uniqueKey":"quote.estimate.gasCosts.items.[INDEX].limit","typeLabel":"string"},"amountUSD":{"description":"Amount of the gas cost in USD","type":"string","uniqueKey":"quote.estimate.gasCosts.items.[INDEX].amountUSD","typeLabel":"string"}},"example":{"type":"SEND","price":"128468782","estimate":"459000","limit":"596700","amount":"58967170938000","amountUSD":"0.1156","token":{"address":"0x0000000000000000000000000000000000000000","symbol":"ETH","decimals":18,"chainId":1,"name":"ETH","coinKey":"ETH","priceUSD":"1959.83","logoURI":"https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2/logo.png"}},"uniqueKey":"quote.estimate.gasCosts.items.[INDEX]","typeLabel":"Root Type for GasCost · object"},"uniqueKey":"quote.estimate.gasCosts","typeLabel":"Root Type for GasCost · object[]"},"data":{"description":"Arbitrary data that depends on the the used tool","type":"object","properties":{"bid":{"type":"object","properties":{"user":{"type":"string","uniqueKey":"quote.estimate.data.bid.user","typeLabel":"string"},"router":{"type":"string","uniqueKey":"quote.estimate.data.bid.router","typeLabel":"string"},"initiator":{"type":"string","uniqueKey":"quote.estimate.data.bid.initiator","typeLabel":"string"},"sendingChainId":{"format":"number","type":"number","uniqueKey":"quote.estimate.data.bid.sendingChainId","typeLabel":"number\u003cnumber>"},"sendingAssetId":{"type":"string","uniqueKey":"quote.estimate.data.bid.sendingAssetId","typeLabel":"string"},"amount":{"type":"string","uniqueKey":"quote.estimate.data.bid.amount","typeLabel":"string"},"receivingChainId":{"format":"number","type":"number","uniqueKey":"quote.estimate.data.bid.receivingChainId","typeLabel":"number\u003cnumber>"},"receivingAssetId":{"type":"string","uniqueKey":"quote.estimate.data.bid.receivingAssetId","typeLabel":"string"},"amountReceived":{"type":"string","uniqueKey":"quote.estimate.data.bid.amountReceived","typeLabel":"string"},"receivingAddress":{"type":"string","uniqueKey":"quote.estimate.data.bid.receivingAddress","typeLabel":"string"},"transactionId":{"type":"string","uniqueKey":"quote.estimate.data.bid.transactionId","typeLabel":"string"},"expiry":{"format":"number","type":"number","uniqueKey":"quote.estimate.data.bid.expiry","typeLabel":"number\u003cnumber>"},"callDataHash":{"type":"string","uniqueKey":"quote.estimate.data.bid.callDataHash","typeLabel":"string"},"callTo":{"type":"string","uniqueKey":"quote.estimate.data.bid.callTo","typeLabel":"string"},"encryptedCallData":{"type":"string","uniqueKey":"quote.estimate.data.bid.encryptedCallData","typeLabel":"string"},"sendingChainTxManagerAddress":{"type":"string","uniqueKey":"quote.estimate.data.bid.sendingChainTxManagerAddress","typeLabel":"string"},"receivingChainTxManagerAddress":{"type":"string","uniqueKey":"quote.estimate.data.bid.receivingChainTxManagerAddress","typeLabel":"string"},"bidExpiry":{"format":"number","type":"number","uniqueKey":"quote.estimate.data.bid.bidExpiry","typeLabel":"number\u003cnumber>"}},"uniqueKey":"quote.estimate.data.bid","typeLabel":"object"},"bidSignature":{"type":"string","uniqueKey":"quote.estimate.data.bidSignature","typeLabel":"string"},"gasFeeInReceivingToken":{"type":"string","uniqueKey":"quote.estimate.data.gasFeeInReceivingToken","typeLabel":"string"},"totalFee":{"type":"string","uniqueKey":"quote.estimate.data.totalFee","typeLabel":"string"},"metaTxRelayerFee":{"type":"string","uniqueKey":"quote.estimate.data.metaTxRelayerFee","typeLabel":"string"},"routerFee":{"type":"string","uniqueKey":"quote.estimate.data.routerFee","typeLabel":"string"}},"uniqueKey":"quote.estimate.data","typeLabel":"object"}},"example":{"tool":"relaydepository","fromAmount":"50000000","fromAmountUSD":"49.9789","toAmount":"76673","toAmountMin":"76290","toAmountUSD":"50.0577","executionDuration":2,"approvalAddress":"0x1231DEB6f5749EF6cE6943a275A1D3E7486F4EaE","feeCosts":[{"name":"LIFI Fixed Fee","description":"Fixed LIFI fee, independent of any other fee","percentage":"0.0025","token":{"address":"0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48","symbol":"USDC","decimals":6,"chainId":1,"name":"USD Coin","coinKey":"USDC","priceUSD":"0.999578177","logoURI":"https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48/logo.png"},"amount":"125000","amountUSD":"0.1249","included":true},{"name":"Relayer Gas fee","description":"Relay bridge gas fee","percentage":"0.0000","token":{"address":"0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48","symbol":"USDC","decimals":6,"chainId":1,"name":"USD Coin","coinKey":"USDC","priceUSD":"0.999578177","logoURI":"https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48/logo.png"},"amount":"1116","amountUSD":"0.0011","included":true},{"name":"Relayer Service fee","description":"Relay bridge service fee","percentage":"0.0011","token":{"address":"0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48","symbol":"USDC","decimals":6,"chainId":1,"name":"USD Coin","coinKey":"USDC","priceUSD":"0.999578177","logoURI":"https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48/logo.png"},"amount":"53822","amountUSD":"0.0538","included":true}],"gasCosts":[{"type":"SEND","price":"128468782","estimate":"459000","limit":"596700","amount":"58967170938000","amountUSD":"0.1156","token":{"address":"0x0000000000000000000000000000000000000000","symbol":"ETH","decimals":18,"chainId":1,"name":"ETH","coinKey":"ETH","priceUSD":"1959.83","logoURI":"https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2/logo.png"}}]},"isRequired":true,"uniqueKey":"quote.estimate","typeLabel":"Root Type for Estimate · object"},"includedSteps":{"description":"The steps included in the quoted step.","type":"array","items":{"type":"object","required":["tool","type","action","estimate"],"properties":{"tool":{"type":"string","isRequired":true,"uniqueKey":"quote.includedSteps.items.[INDEX].tool","typeLabel":"string"},"type":{"type":"string","isRequired":true,"uniqueKey":"quote.includedSteps.items.[INDEX].type","typeLabel":"string"},"action":{"title":"Root Type for Action","description":"Object describing what happens in a `Step`","required":["fromToken","fromAmount","fromChainId","toChainId","toToken"],"type":"object","properties":{"fromChainId":{"format":"number","description":"The id of the chain where the transfer should start","type":"number","isRequired":true,"uniqueKey":"quote.includedSteps.items.[INDEX].action.fromChainId","typeLabel":"number\u003cnumber>"},"fromAmount":{"description":"The amount that should be transferred including all decimals","type":"string","isRequired":true,"uniqueKey":"quote.includedSteps.items.[INDEX].action.fromAmount","typeLabel":"string"},"fromToken":{"title":"Root Type for Token","description":"The sending token","required":["address","chainId","decimals","name","symbol"],"type":"object","properties":{"address":{"description":"Address of the token","type":"string","isRequired":true,"uniqueKey":"quote.includedSteps.items.[INDEX].action.fromToken.address","typeLabel":"string"},"decimals":{"format":"number","description":"Number of decimals the token uses","type":"number","isRequired":true,"uniqueKey":"quote.includedSteps.items.[INDEX].action.fromToken.decimals","typeLabel":"number\u003cnumber>"},"symbol":{"description":"Symbol of the token","type":"string","isRequired":true,"uniqueKey":"quote.includedSteps.items.[INDEX].action.fromToken.symbol","typeLabel":"string"},"chainId":{"format":"number","description":"Id of the token's chain","type":"number","isRequired":true,"uniqueKey":"quote.includedSteps.items.[INDEX].action.fromToken.chainId","typeLabel":"number\u003cnumber>"},"name":{"description":"Name of the token","type":"string","isRequired":true,"uniqueKey":"quote.includedSteps.items.[INDEX].action.fromToken.name","typeLabel":"string"},"coinKey":{"description":"Identifier for the token","type":"string","uniqueKey":"quote.includedSteps.items.[INDEX].action.fromToken.coinKey","typeLabel":"string"},"logoURI":{"description":"Logo of the token","type":"string","uniqueKey":"quote.includedSteps.items.[INDEX].action.fromToken.logoURI","typeLabel":"string"},"priceUSD":{"description":"Token price in USD","type":"string","uniqueKey":"quote.includedSteps.items.[INDEX].action.fromToken.priceUSD","typeLabel":"string"}},"example":{"address":"0x8f3cf7ad23cd3cadbd9735aff958023239c6a063","symbol":"DAI","decimals":18,"chainId":137,"name":"(PoS) Dai Stablecoin","coinKey":"DAI","priceUSD":"1","logoURI":"https://static.debank.com/image/matic_token/logo_url/0x8f3cf7ad23cd3cadbd9735aff958023239c6a063/549c4205dbb199f1b8b03af783f35e71.png"},"isRequired":true,"uniqueKey":"quote.includedSteps.items.[INDEX].action.fromToken","typeLabel":"Root Type for Token · object"},"toChainId":{"format":"number","description":"The id of the chain where the transfer should end","type":"number","isRequired":true,"uniqueKey":"quote.includedSteps.items.[INDEX].action.toChainId","typeLabel":"number\u003cnumber>"},"toToken":{"title":"Root Type for Token","description":"The token that should be transferred to","required":["address","chainId","decimals","name","symbol"],"type":"object","properties":{"address":{"description":"Address of the token","type":"string","isRequired":true,"uniqueKey":"quote.includedSteps.items.[INDEX].action.toToken.address","typeLabel":"string"},"decimals":{"format":"number","description":"Number of decimals the token uses","type":"number","isRequired":true,"uniqueKey":"quote.includedSteps.items.[INDEX].action.toToken.decimals","typeLabel":"number\u003cnumber>"},"symbol":{"description":"Symbol of the token","type":"string","isRequired":true,"uniqueKey":"quote.includedSteps.items.[INDEX].action.toToken.symbol","typeLabel":"string"},"chainId":{"format":"number","description":"Id of the token's chain","type":"number","isRequired":true,"uniqueKey":"quote.includedSteps.items.[INDEX].action.toToken.chainId","typeLabel":"number\u003cnumber>"},"name":{"description":"Name of the token","type":"string","isRequired":true,"uniqueKey":"quote.includedSteps.items.[INDEX].action.toToken.name","typeLabel":"string"},"coinKey":{"description":"Identifier for the token","type":"string","uniqueKey":"quote.includedSteps.items.[INDEX].action.toToken.coinKey","typeLabel":"string"},"logoURI":{"description":"Logo of the token","type":"string","uniqueKey":"quote.includedSteps.items.[INDEX].action.toToken.logoURI","typeLabel":"string"},"priceUSD":{"description":"Token price in USD","type":"string","uniqueKey":"quote.includedSteps.items.[INDEX].action.toToken.priceUSD","typeLabel":"string"}},"example":{"address":"0x8f3cf7ad23cd3cadbd9735aff958023239c6a063","symbol":"DAI","decimals":18,"chainId":137,"name":"(PoS) Dai Stablecoin","coinKey":"DAI","priceUSD":"1","logoURI":"https://static.debank.com/image/matic_token/logo_url/0x8f3cf7ad23cd3cadbd9735aff958023239c6a063/549c4205dbb199f1b8b03af783f35e71.png"},"isRequired":true,"uniqueKey":"quote.includedSteps.items.[INDEX].action.toToken","typeLabel":"Root Type for Token · object"},"slippage":{"format":"double","description":"The maximum allowed slippage","type":"number","uniqueKey":"quote.includedSteps.items.[INDEX].action.slippage","typeLabel":"number\u003cdouble>"},"fromAddress":{"description":"The sending wallet address","type":"string","uniqueKey":"quote.includedSteps.items.[INDEX].action.fromAddress","typeLabel":"string"},"toAddress":{"description":"The receiving wallet address","type":"string","uniqueKey":"quote.includedSteps.items.[INDEX].action.toAddress","typeLabel":"string"}},"example":{"fromChainId":100,"fromAmount":"1000000000000000000","fromToken":{"address":"0x63e62989d9eb2d37dfdb1f93a22f063635b07d51","symbol":"MIVA","decimals":18,"chainId":100,"name":"Minerva Wallet SuperToken","coinKey":"MIVA","priceUSD":"0.0455272371751059","logoURI":""},"toChainId":137,"toToken":{"address":"0xc0b2983a17573660053beeed6fdb1053107cf387","symbol":"MIVA","decimals":18,"chainId":137,"name":"Minerva Wallet SuperToken","coinKey":"MIVA","priceUSD":"0","logoURI":""},"slippage":0.003},"isRequired":true,"uniqueKey":"quote.includedSteps.items.[INDEX].action","typeLabel":"Root Type for Action · object"},"estimate":{"title":"Root Type for Estimate","description":"An estimate for the current transfer","required":["fromAmount","approvalAddress","toAmount","toAmountMin","tool","executionDuration"],"type":"object","properties":{"tool":{"description":"The tools that is being used for this step","type":"string","isRequired":true,"uniqueKey":"quote.includedSteps.items.[INDEX].estimate.tool","typeLabel":"string"},"fromAmount":{"description":"The amount that should be transferred including all decimals","type":"string","isRequired":true,"uniqueKey":"quote.includedSteps.items.[INDEX].estimate.fromAmount","typeLabel":"string"},"toAmount":{"description":"The estimated resulting amount of the `toToken` including all decimals","type":"string","isRequired":true,"uniqueKey":"quote.includedSteps.items.[INDEX].estimate.toAmount","typeLabel":"string"},"toAmountMin":{"description":"The minimal outcome of the transfer including all decimals. It may reflect applicable slippage and known fee-on-transfer tax adjustments.","type":"string","isRequired":true,"uniqueKey":"quote.includedSteps.items.[INDEX].estimate.toAmountMin","typeLabel":"string"},"approvalAddress":{"description":"The contract address for the approval","type":"string","isRequired":true,"uniqueKey":"quote.includedSteps.items.[INDEX].estimate.approvalAddress","typeLabel":"string"},"executionDuration":{"description":"The time needed to complete the following step","type":"number","isRequired":true,"uniqueKey":"quote.includedSteps.items.[INDEX].estimate.executionDuration","typeLabel":"number"},"fromAmountUSD":{"description":"The amount that should be transferred in USD equivalent","type":"string","uniqueKey":"quote.includedSteps.items.[INDEX].estimate.fromAmountUSD","typeLabel":"string"},"toAmountUSD":{"description":"The estimated resulting amount of the `toToken` in USD equivalent","type":"string","uniqueKey":"quote.includedSteps.items.[INDEX].estimate.toAmountUSD","typeLabel":"string"},"skipApproval":{"description":"Optional flag indicating that this step needs no token approval, because the executing contract moves funds under the authorization already carried by the signed transaction or message.","type":"boolean","uniqueKey":"quote.includedSteps.items.[INDEX].estimate.skipApproval","typeLabel":"boolean"},"feeCosts":{"description":"Fees charged on the transfer. On a `lifi` step this array is the concatenation of the fee costs of every entry in `includedSteps`, so it already contains them. Do not add both together.","type":"array","items":{"title":"Root Type for FeeCost","description":"A protocol, integrator, or execution fee charged on the transfer. Fee costs cover everything that is charged as a fee rather than paid as network gas by the sender, including destination execution costs that a bridge or solver bills as a fee. See [Gas costs and fee costs](https://docs.li.fi/guides/gas-and-fee-costs) for how to read and display these values.","required":["token","percentage","name","amountUSD","included"],"type":"object","properties":{"name":{"description":"Human-readable name of the fee, for example `LIFI Fixed Fee` or `Relayer Gas fee`. Names are tool-specific free text and are not a stable enum. Do not branch on this value.","type":"string","isRequired":true,"uniqueKey":"quote.includedSteps.items.[INDEX].estimate.feeCosts.items.[INDEX].name","typeLabel":"string"},"percentage":{"description":"The fee expressed as a fraction of the transferred amount, for example `0.0025` for 0.25%. A fee whose name contains `Fixed` may still report a non-zero fraction; do not infer the fee model from `name` or assume fixed-fee entries report `0`.","type":"string","isRequired":true,"uniqueKey":"quote.includedSteps.items.[INDEX].estimate.feeCosts.items.[INDEX].percentage","typeLabel":"string"},"token":{"title":"Root Type for Token","description":"The `Token` the fee is denominated in. `token.chainId` identifies the chain of that token, not necessarily the chain where the underlying work happens. A destination execution fee is commonly denominated in the source-chain token the user is already sending.","required":["address","chainId","decimals","name","symbol"],"type":"object","properties":{"address":{"description":"Address of the token","type":"string","isRequired":true,"uniqueKey":"quote.includedSteps.items.[INDEX].estimate.feeCosts.items.[INDEX].token.address","typeLabel":"string"},"decimals":{"format":"number","description":"Number of decimals the token uses","type":"number","isRequired":true,"uniqueKey":"quote.includedSteps.items.[INDEX].estimate.feeCosts.items.[INDEX].token.decimals","typeLabel":"number\u003cnumber>"},"symbol":{"description":"Symbol of the token","type":"string","isRequired":true,"uniqueKey":"quote.includedSteps.items.[INDEX].estimate.feeCosts.items.[INDEX].token.symbol","typeLabel":"string"},"chainId":{"format":"number","description":"Id of the token's chain","type":"number","isRequired":true,"uniqueKey":"quote.includedSteps.items.[INDEX].estimate.feeCosts.items.[INDEX].token.chainId","typeLabel":"number\u003cnumber>"},"name":{"description":"Name of the token","type":"string","isRequired":true,"uniqueKey":"quote.includedSteps.items.[INDEX].estimate.feeCosts.items.[INDEX].token.name","typeLabel":"string"},"coinKey":{"description":"Identifier for the token","type":"string","uniqueKey":"quote.includedSteps.items.[INDEX].estimate.feeCosts.items.[INDEX].token.coinKey","typeLabel":"string"},"logoURI":{"description":"Logo of the token","type":"string","uniqueKey":"quote.includedSteps.items.[INDEX].estimate.feeCosts.items.[INDEX].token.logoURI","typeLabel":"string"},"priceUSD":{"description":"Token price in USD","type":"string","uniqueKey":"quote.includedSteps.items.[INDEX].estimate.feeCosts.items.[INDEX].token.priceUSD","typeLabel":"string"}},"example":{"address":"0x8f3cf7ad23cd3cadbd9735aff958023239c6a063","symbol":"DAI","decimals":18,"chainId":137,"name":"(PoS) Dai Stablecoin","coinKey":"DAI","priceUSD":"1","logoURI":"https://static.debank.com/image/matic_token/logo_url/0x8f3cf7ad23cd3cadbd9735aff958023239c6a063/549c4205dbb199f1b8b03af783f35e71.png"},"isRequired":true,"uniqueKey":"quote.includedSteps.items.[INDEX].estimate.feeCosts.items.[INDEX].token","typeLabel":"Root Type for Token · object"},"amountUSD":{"description":"The amount of fees in USD","type":"string","isRequired":true,"uniqueKey":"quote.includedSteps.items.[INDEX].estimate.feeCosts.items.[INDEX].amountUSD","typeLabel":"string"},"included":{"description":"`true` means the fee is already accounted for in the quoted amounts and must not be added again as a separate user payment. `false` means the user pays it on top of `fromAmount`.","type":"boolean","isRequired":true,"uniqueKey":"quote.includedSteps.items.[INDEX].estimate.feeCosts.items.[INDEX].included","typeLabel":"boolean"},"description":{"description":"Description of the fee costs","type":"string","uniqueKey":"quote.includedSteps.items.[INDEX].estimate.feeCosts.items.[INDEX].description","typeLabel":"string"},"amount":{"description":"The fee amount in the smallest unit of `token`, before decimals are applied. Divide by `10 ** token.decimals` for a human-readable amount.","type":"string","uniqueKey":"quote.includedSteps.items.[INDEX].estimate.feeCosts.items.[INDEX].amount","typeLabel":"string"},"feeSplit":{"description":"Response-only breakdown of this fee entry's `amount` into the parties that share it. Returned for the LI.FI/integrator fee entry and for a separate `Distributions` entry when distributions are present; omitted for fees such as a relayer or bridge gas fee.\nFor the LI.FI/integrator entry, `lifiFee`, `integratorFee`, and `intermediaryFee` (when present) are disjoint slices of its `amount`. For the `Distributions` entry, `lifiFee` and `integratorFee` are both \"0\"; its `amount` is the sum of its distribution recipients. `recipients[]` describes only the parent fee entry. It is a breakdown of that entry's `amount`, not an additional charge.\nThis field is returned, not accepted: the API ignores a `feeSplit` posted in a request body, so integrations must read the split from the response instead of echoing back a previously quoted one.","type":"object","properties":{"lifiFee":{"description":"LI.FI's slice of `amount`, in the smallest unit of `token`.","type":"string","uniqueKey":"quote.includedSteps.items.[INDEX].estimate.feeCosts.items.[INDEX].feeSplit.lifiFee","typeLabel":"string"},"integratorFee":{"description":"The integrator's slice of `amount`, in the smallest unit of `token`. It excludes intermediary fees (reported separately as `intermediaryFee`) and distributions (reported in a separate `Distributions` fee entry). It is \"0\" on the `Distributions` entry.","type":"string","uniqueKey":"quote.includedSteps.items.[INDEX].estimate.feeCosts.items.[INDEX].feeSplit.integratorFee","typeLabel":"string"},"intermediaryFee":{"description":"The intermediary's slice of `amount`, in the smallest unit of `token`. Present only when an intermediary participates in the split.","type":"string","uniqueKey":"quote.includedSteps.items.[INDEX].estimate.feeCosts.items.[INDEX].feeSplit.intermediaryFee","typeLabel":"string"},"recipients":{"description":"Per-recipient breakdown of this fee entry's `amount`. The LI.FI/integrator entry lists its own recipients, excluding partner-specified distributions. Those are listed in the separate `Distributions` entry's own `feeSplit.recipients[]`, with type `DISTRIBUTION` and one record per distribution.","type":"array","items":{"title":"Root Type for FeeRecipient","description":"One party receiving a share of this fee entry.","type":"object","required":["name","fee"],"properties":{"name":{"description":"Recipient identifier, to be read together with `type`: `lifi` for the LI.FI platform recipient, the integrator id for the integrator's own fee, the intermediary id for an `INTERMEDIARY` entry, or the recipient wallet address for a `DISTRIBUTION` entry. Do not render it directly in a user-facing UI without type-aware formatting.","type":"string","isRequired":true,"uniqueKey":"quote.includedSteps.items.[INDEX].estimate.feeCosts.items.[INDEX].feeSplit.recipients.items.[INDEX].name","typeLabel":"string"},"fee":{"description":"The amount credited to this recipient, in the smallest unit of this fee entry's `token`.","type":"string","isRequired":true,"uniqueKey":"quote.includedSteps.items.[INDEX].estimate.feeCosts.items.[INDEX].feeSplit.recipients.items.[INDEX].fee","typeLabel":"string"},"type":{"description":"How this recipient's fee was calculated. Currently one of `FIXED`, `SHARED`, `DYNAMIC`, `INTERMEDIARY`, or `DISTRIBUTION`, and deliberately not modelled as an enum because the set can grow without a breaking change. May be absent when the calculation type cannot be determined statically, so null-check before reading and keep a default branch when matching on it.\n`FIXED` and `SHARED` are the standard fee models. `DYNAMIC` means LI.FI resolved its rate for this quote under approved Dynamic Pricing, so the same integration can report a different rate on another quote. `INTERMEDIARY` marks a third-party recipient carving a configured share, and `DISTRIBUTION` marks a partner-specified recipient within the separate `Distributions` fee entry's own `feeSplit.recipients[]`.\nTo detect Dynamic Pricing on a quote, look for a recipient whose `type` is `DYNAMIC`.","type":"string","uniqueKey":"quote.includedSteps.items.[INDEX].estimate.feeCosts.items.[INDEX].feeSplit.recipients.items.[INDEX].type","typeLabel":"string"},"walletAddress":{"description":"The recipient's wallet address on the source chain.","type":"string","uniqueKey":"quote.includedSteps.items.[INDEX].estimate.feeCosts.items.[INDEX].feeSplit.recipients.items.[INDEX].walletAddress","typeLabel":"string"}},"uniqueKey":"quote.includedSteps.items.[INDEX].estimate.feeCosts.items.[INDEX].feeSplit.recipients.items.[INDEX]","typeLabel":"Root Type for FeeRecipient · object"},"uniqueKey":"quote.includedSteps.items.[INDEX].estimate.feeCosts.items.[INDEX].feeSplit.recipients","typeLabel":"Root Type for FeeRecipient · object[]"}},"uniqueKey":"quote.includedSteps.items.[INDEX].estimate.feeCosts.items.[INDEX].feeSplit","typeLabel":"object"}},"example":{"name":"Relayer Gas fee","description":"Relay bridge gas fee","percentage":"0.0000","token":{"address":"0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48","symbol":"USDC","decimals":6,"chainId":1,"name":"USD Coin","coinKey":"USDC","priceUSD":"0.999578177","logoURI":"https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48/logo.png"},"amount":"1116","amountUSD":"0.0011","included":true},"uniqueKey":"quote.includedSteps.items.[INDEX].estimate.feeCosts.items.[INDEX]","typeLabel":"Root Type for FeeCost · object"},"uniqueKey":"quote.includedSteps.items.[INDEX].estimate.feeCosts","typeLabel":"Root Type for FeeCost · object[]"},"gasCosts":{"description":"Estimated network gas for the transfer. On a `lifi` step this is a single estimate for the transaction that is actually submitted. It aggregates raw gas costs from source-chain entries in `includedSteps` and, for EVM transactions, adds estimated LI.FI contract overhead. It may differ from and often exceed the sum of the source-chain per-step entries. Raw destination-chain gas costs are not added directly. Do not add the top-level and included-step arrays together.","type":"array","items":{"title":"Root Type for GasCost","description":"An estimate of the network gas the sender pays for a transaction. Gas costs are always denominated in the native gas token of the chain the transaction is sent on. See [Gas costs and fee costs](https://docs.li.fi/guides/gas-and-fee-costs) for how gas costs relate to `feeCosts` and to destination-chain execution.","required":["token","type","amount"],"type":"object","properties":{"type":{"description":"The kind of gas cost this entry represents.\n\n- `SEND`: estimated network gas for the transaction the sender submits, normally on the source chain. This is the only value the API currently returns.\n- `APPROVE`: estimated network gas for a separate ERC-20 approval transaction. Reserved; approval gas is not currently returned as its own entry.\n- `FEE`: an execution cost charged as a fee rather than as a transaction the user signs. Reserved; such costs are currently reported in `feeCosts` instead.\n- `SUM`: an aggregate of the other entries. Reserved and not currently returned.\n\nTreat `APPROVE`, `FEE`, and `SUM` as forward-compatible values: handle them if they appear, but do not build a flow that depends on them.","type":"string","enum":["SUM","APPROVE","SEND","FEE"],"example":"SEND","isRequired":true,"uniqueKey":"quote.includedSteps.items.[INDEX].estimate.gasCosts.items.[INDEX].type","typeLabel":"enum\u003cstring>"},"amount":{"description":"The estimated total gas cost in the smallest unit of the gas token. For EVM entries this is `estimate` multiplied by `price`. Other ecosystems may use chain-specific units and rounding, so consumers should treat `amount` as authoritative rather than reconstructing it from the other fields. Divide by `10 ** token.decimals` for a human-readable amount.","type":"string","isRequired":true,"uniqueKey":"quote.includedSteps.items.[INDEX].estimate.gasCosts.items.[INDEX].amount","typeLabel":"string"},"token":{"title":"Root Type for Token","description":"The native gas token of the chain the transaction is sent on. `token.chainId` is the chain that consumes the gas.","required":["address","chainId","decimals","name","symbol"],"type":"object","properties":{"address":{"description":"Address of the token","type":"string","isRequired":true,"uniqueKey":"quote.includedSteps.items.[INDEX].estimate.gasCosts.items.[INDEX].token.address","typeLabel":"string"},"decimals":{"format":"number","description":"Number of decimals the token uses","type":"number","isRequired":true,"uniqueKey":"quote.includedSteps.items.[INDEX].estimate.gasCosts.items.[INDEX].token.decimals","typeLabel":"number\u003cnumber>"},"symbol":{"description":"Symbol of the token","type":"string","isRequired":true,"uniqueKey":"quote.includedSteps.items.[INDEX].estimate.gasCosts.items.[INDEX].token.symbol","typeLabel":"string"},"chainId":{"format":"number","description":"Id of the token's chain","type":"number","isRequired":true,"uniqueKey":"quote.includedSteps.items.[INDEX].estimate.gasCosts.items.[INDEX].token.chainId","typeLabel":"number\u003cnumber>"},"name":{"description":"Name of the token","type":"string","isRequired":true,"uniqueKey":"quote.includedSteps.items.[INDEX].estimate.gasCosts.items.[INDEX].token.name","typeLabel":"string"},"coinKey":{"description":"Identifier for the token","type":"string","uniqueKey":"quote.includedSteps.items.[INDEX].estimate.gasCosts.items.[INDEX].token.coinKey","typeLabel":"string"},"logoURI":{"description":"Logo of the token","type":"string","uniqueKey":"quote.includedSteps.items.[INDEX].estimate.gasCosts.items.[INDEX].token.logoURI","typeLabel":"string"},"priceUSD":{"description":"Token price in USD","type":"string","uniqueKey":"quote.includedSteps.items.[INDEX].estimate.gasCosts.items.[INDEX].token.priceUSD","typeLabel":"string"}},"example":{"address":"0x8f3cf7ad23cd3cadbd9735aff958023239c6a063","symbol":"DAI","decimals":18,"chainId":137,"name":"(PoS) Dai Stablecoin","coinKey":"DAI","priceUSD":"1","logoURI":"https://static.debank.com/image/matic_token/logo_url/0x8f3cf7ad23cd3cadbd9735aff958023239c6a063/549c4205dbb199f1b8b03af783f35e71.png"},"isRequired":true,"uniqueKey":"quote.includedSteps.items.[INDEX].estimate.gasCosts.items.[INDEX].token","typeLabel":"Root Type for Token · object"},"price":{"description":"Gas price used for the estimate, in the smallest unit of the gas token per unit of gas (wei per gas on EVM chains).","type":"string","uniqueKey":"quote.includedSteps.items.[INDEX].estimate.gasCosts.items.[INDEX].price","typeLabel":"string"},"estimate":{"description":"Estimated units of gas the transaction consumes","type":"string","uniqueKey":"quote.includedSteps.items.[INDEX].estimate.gasCosts.items.[INDEX].estimate","typeLabel":"string"},"limit":{"description":"Suggested gas limit: `estimate` plus a safety buffer. Use this value when submitting the transaction, not `estimate`.","type":"string","uniqueKey":"quote.includedSteps.items.[INDEX].estimate.gasCosts.items.[INDEX].limit","typeLabel":"string"},"amountUSD":{"description":"Amount of the gas cost in USD","type":"string","uniqueKey":"quote.includedSteps.items.[INDEX].estimate.gasCosts.items.[INDEX].amountUSD","typeLabel":"string"}},"example":{"type":"SEND","price":"128468782","estimate":"459000","limit":"596700","amount":"58967170938000","amountUSD":"0.1156","token":{"address":"0x0000000000000000000000000000000000000000","symbol":"ETH","decimals":18,"chainId":1,"name":"ETH","coinKey":"ETH","priceUSD":"1959.83","logoURI":"https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2/logo.png"}},"uniqueKey":"quote.includedSteps.items.[INDEX].estimate.gasCosts.items.[INDEX]","typeLabel":"Root Type for GasCost · object"},"uniqueKey":"quote.includedSteps.items.[INDEX].estimate.gasCosts","typeLabel":"Root Type for GasCost · object[]"},"data":{"description":"Arbitrary data that depends on the the used tool","type":"object","properties":{"bid":{"type":"object","properties":{"user":{"type":"string","uniqueKey":"quote.includedSteps.items.[INDEX].estimate.data.bid.user","typeLabel":"string"},"router":{"type":"string","uniqueKey":"quote.includedSteps.items.[INDEX].estimate.data.bid.router","typeLabel":"string"},"initiator":{"type":"string","uniqueKey":"quote.includedSteps.items.[INDEX].estimate.data.bid.initiator","typeLabel":"string"},"sendingChainId":{"format":"number","type":"number","uniqueKey":"quote.includedSteps.items.[INDEX].estimate.data.bid.sendingChainId","typeLabel":"number\u003cnumber>"},"sendingAssetId":{"type":"string","uniqueKey":"quote.includedSteps.items.[INDEX].estimate.data.bid.sendingAssetId","typeLabel":"string"},"amount":{"type":"string","uniqueKey":"quote.includedSteps.items.[INDEX].estimate.data.bid.amount","typeLabel":"string"},"receivingChainId":{"format":"number","type":"number","uniqueKey":"quote.includedSteps.items.[INDEX].estimate.data.bid.receivingChainId","typeLabel":"number\u003cnumber>"},"receivingAssetId":{"type":"string","uniqueKey":"quote.includedSteps.items.[INDEX].estimate.data.bid.receivingAssetId","typeLabel":"string"},"amountReceived":{"type":"string","uniqueKey":"quote.includedSteps.items.[INDEX].estimate.data.bid.amountReceived","typeLabel":"string"},"receivingAddress":{"type":"string","uniqueKey":"quote.includedSteps.items.[INDEX].estimate.data.bid.receivingAddress","typeLabel":"string"},"transactionId":{"type":"string","uniqueKey":"quote.includedSteps.items.[INDEX].estimate.data.bid.transactionId","typeLabel":"string"},"expiry":{"format":"number","type":"number","uniqueKey":"quote.includedSteps.items.[INDEX].estimate.data.bid.expiry","typeLabel":"number\u003cnumber>"},"callDataHash":{"type":"string","uniqueKey":"quote.includedSteps.items.[INDEX].estimate.data.bid.callDataHash","typeLabel":"string"},"callTo":{"type":"string","uniqueKey":"quote.includedSteps.items.[INDEX].estimate.data.bid.callTo","typeLabel":"string"},"encryptedCallData":{"type":"string","uniqueKey":"quote.includedSteps.items.[INDEX].estimate.data.bid.encryptedCallData","typeLabel":"string"},"sendingChainTxManagerAddress":{"type":"string","uniqueKey":"quote.includedSteps.items.[INDEX].estimate.data.bid.sendingChainTxManagerAddress","typeLabel":"string"},"receivingChainTxManagerAddress":{"type":"string","uniqueKey":"quote.includedSteps.items.[INDEX].estimate.data.bid.receivingChainTxManagerAddress","typeLabel":"string"},"bidExpiry":{"format":"number","type":"number","uniqueKey":"quote.includedSteps.items.[INDEX].estimate.data.bid.bidExpiry","typeLabel":"number\u003cnumber>"}},"uniqueKey":"quote.includedSteps.items.[INDEX].estimate.data.bid","typeLabel":"object"},"bidSignature":{"type":"string","uniqueKey":"quote.includedSteps.items.[INDEX].estimate.data.bidSignature","typeLabel":"string"},"gasFeeInReceivingToken":{"type":"string","uniqueKey":"quote.includedSteps.items.[INDEX].estimate.data.gasFeeInReceivingToken","typeLabel":"string"},"totalFee":{"type":"string","uniqueKey":"quote.includedSteps.items.[INDEX].estimate.data.totalFee","typeLabel":"string"},"metaTxRelayerFee":{"type":"string","uniqueKey":"quote.includedSteps.items.[INDEX].estimate.data.metaTxRelayerFee","typeLabel":"string"},"routerFee":{"type":"string","uniqueKey":"quote.includedSteps.items.[INDEX].estimate.data.routerFee","typeLabel":"string"}},"uniqueKey":"quote.includedSteps.items.[INDEX].estimate.data","typeLabel":"object"}},"example":{"tool":"relaydepository","fromAmount":"50000000","fromAmountUSD":"49.9789","toAmount":"76673","toAmountMin":"76290","toAmountUSD":"50.0577","executionDuration":2,"approvalAddress":"0x1231DEB6f5749EF6cE6943a275A1D3E7486F4EaE","feeCosts":[{"name":"LIFI Fixed Fee","description":"Fixed LIFI fee, independent of any other fee","percentage":"0.0025","token":{"address":"0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48","symbol":"USDC","decimals":6,"chainId":1,"name":"USD Coin","coinKey":"USDC","priceUSD":"0.999578177","logoURI":"https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48/logo.png"},"amount":"125000","amountUSD":"0.1249","included":true},{"name":"Relayer Gas fee","description":"Relay bridge gas fee","percentage":"0.0000","token":{"address":"0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48","symbol":"USDC","decimals":6,"chainId":1,"name":"USD Coin","coinKey":"USDC","priceUSD":"0.999578177","logoURI":"https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48/logo.png"},"amount":"1116","amountUSD":"0.0011","included":true},{"name":"Relayer Service fee","description":"Relay bridge service fee","percentage":"0.0011","token":{"address":"0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48","symbol":"USDC","decimals":6,"chainId":1,"name":"USD Coin","coinKey":"USDC","priceUSD":"0.999578177","logoURI":"https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48/logo.png"},"amount":"53822","amountUSD":"0.0538","included":true}],"gasCosts":[{"type":"SEND","price":"128468782","estimate":"459000","limit":"596700","amount":"58967170938000","amountUSD":"0.1156","token":{"address":"0x0000000000000000000000000000000000000000","symbol":"ETH","decimals":18,"chainId":1,"name":"ETH","coinKey":"ETH","priceUSD":"1959.83","logoURI":"https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2/logo.png"}}]},"isRequired":true,"uniqueKey":"quote.includedSteps.items.[INDEX].estimate","typeLabel":"Root Type for Estimate · object"}},"uniqueKey":"quote.includedSteps.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"quote.includedSteps","typeLabel":"object[]"},"gasLimit":{"description":"The gas limit of the transaction that was proposed at quote time.","type":"string","isRequired":true,"uniqueKey":"quote.gasLimit","typeLabel":"string"},"createdAt":{"description":"When the quote was issued (ISO 8601).","type":"string","format":"date-time","isRequired":true,"uniqueKey":"quote.createdAt","typeLabel":"string\u003cdate-time>"},"integrator":{"description":"The integrator the quote was issued for.","type":"string","uniqueKey":"quote.integrator","typeLabel":"string"},"routeSlippage":{"title":"Root Type for RouteSlippageCommitment","description":"The route-wide slippage commitment the transaction was built with. Present only when the quote was requested with `slippageScope=route`.","required":["scope","slippage","referenceToAmount","minimumToAmount","toChainId","toTokenAddress","settlement","checkpoints"],"type":"object","properties":{"scope":{"enum":["route"],"type":"string","isRequired":true,"uniqueKey":"quote.routeSlippage.scope","typeLabel":"enum\u003cstring>"},"slippage":{"description":"The budget for the whole route, as a decimal string, for example `0.01`","type":"string","isRequired":true,"uniqueKey":"quote.routeSlippage.slippage","typeLabel":"string"},"referenceToAmount":{"description":"The expected output the floor was computed from, in base units of the destination token","type":"string","isRequired":true,"uniqueKey":"quote.routeSlippage.referenceToAmount","typeLabel":"string"},"minimumToAmount":{"description":"The floor, in base units of the destination token. Also returned as `toAmountMin`.","type":"string","isRequired":true,"uniqueKey":"quote.routeSlippage.minimumToAmount","typeLabel":"string"},"toChainId":{"description":"The chain the floor applies to","type":"integer","isRequired":true,"uniqueKey":"quote.routeSlippage.toChainId","typeLabel":"integer"},"toTokenAddress":{"description":"The token the floor applies to","type":"string","isRequired":true,"uniqueKey":"quote.routeSlippage.toTokenAddress","typeLabel":"string"},"settlement":{"description":"`atomic`: a single transaction; a delivery below the floor reverts it. `conditional`: a cross-chain transfer. The source transaction enforces the source checkpoint, and the bridge holds the floor from there: Mayan, Across and Stargate V2 carry it in their own order, and other bridges are built only when their own minimum reaches it. A bridge that can't deliver its minimum refunds or recovers instead, which `/v1/status` reports as `NOT_FULFILLED`.","enum":["atomic","conditional"],"type":"string","isRequired":true,"uniqueKey":"quote.routeSlippage.settlement","typeLabel":"enum\u003cstring>"},"checkpoints":{"description":"Amounts enforced along the way. `atomic`: one entry, the floor. `conditional`: the source checkpoint (the minimum the source transaction must hand to the bridge, in the bridged token) followed by the floor.","type":"array","items":{"type":"object","required":["stepId","chainId","tokenAddress","minimumAmount"],"properties":{"stepId":{"type":"string","isRequired":true,"uniqueKey":"quote.routeSlippage.checkpoints.items.[INDEX].stepId","typeLabel":"string"},"chainId":{"type":"integer","isRequired":true,"uniqueKey":"quote.routeSlippage.checkpoints.items.[INDEX].chainId","typeLabel":"integer"},"tokenAddress":{"type":"string","isRequired":true,"uniqueKey":"quote.routeSlippage.checkpoints.items.[INDEX].tokenAddress","typeLabel":"string"},"minimumAmount":{"type":"string","isRequired":true,"uniqueKey":"quote.routeSlippage.checkpoints.items.[INDEX].minimumAmount","typeLabel":"string"}},"uniqueKey":"quote.routeSlippage.checkpoints.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"quote.routeSlippage.checkpoints","typeLabel":"object[]"},"toAddress":{"description":"The recipient the delivery is measured at","type":"string","uniqueKey":"quote.routeSlippage.toAddress","typeLabel":"string"}},"example":{"scope":"route","slippage":"0.01","referenceToAmount":"400000000000000000","minimumToAmount":"396000000000000000","toChainId":42161,"toTokenAddress":"0x82aF49447D8a07e3bd95BD0d56f35241523fBab1","toAddress":"0x552008c0f6870c2f77e5cC1d2eb9bdff03e30Ea0","settlement":"atomic","checkpoints":[{"stepId":"0x48f0a2f93b0d0a9dab992d07c46bca38516c945101e8f8e08ca42af05b9e6aa9","chainId":42161,"tokenAddress":"0x82aF49447D8a07e3bd95BD0d56f35241523fBab1","minimumAmount":"396000000000000000"}]},"uniqueKey":"quote.routeSlippage","typeLabel":"Root Type for RouteSlippageCommitment · object"}},"uniqueKey":"quote","typeLabel":"Root Type for TransferQuote · object"},"routeSlippage":{"title":"Root Type for RouteSlippageOutcome","description":"The verdict on the route-wide slippage commitment in `quote.routeSlippage`. Omitted for transfers that weren't requested with `slippageScope=route`.","required":["outcome","minimumToAmount"],"type":"object","properties":{"outcome":{"description":"`FULFILLED`: the committed token arrived on the committed chain with at least `minimumToAmount`. `NOT_FULFILLED`: it didn't, see `shortfall`. `PENDING`: the transfer is still in flight, or its delivery isn't resolved yet.","enum":["PENDING","FULFILLED","NOT_FULFILLED"],"type":"string","isRequired":true,"uniqueKey":"routeSlippage.outcome","typeLabel":"enum\u003cstring>"},"minimumToAmount":{"description":"The floor, in base units of the committed token","type":"string","isRequired":true,"uniqueKey":"routeSlippage.minimumToAmount","typeLabel":"string"},"deliveredAmount":{"description":"What arrived in the committed token, once known","type":"string","uniqueKey":"routeSlippage.deliveredAmount","typeLabel":"string"},"shortfall":{"description":"Why the floor wasn't met. `REVERTED`: the source transaction reverted. `REFUNDED`: the bridge refunded instead of delivering. `DIFFERENT_TOKEN`: another token was delivered, for example a recovered bridged token. `BELOW_FLOOR`: the committed token arrived under the floor, which isn't an expected outcome: the bridge delivered under the minimum it was built with.","enum":["REVERTED","REFUNDED","DIFFERENT_TOKEN","BELOW_FLOOR"],"type":"string","uniqueKey":"routeSlippage.shortfall","typeLabel":"enum\u003cstring>"}},"example":{"outcome":"FULFILLED","minimumToAmount":"396000000000000000","deliveredAmount":"398700000000000000"},"uniqueKey":"routeSlippage","typeLabel":"Root Type for RouteSlippageOutcome · object"}},"example":{"sending":{"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":""},"chainId":137,"gasToken":{"address":"0x0000000000000000000000000000000000001010","symbol":"MATIC","decimals":18,"chainId":137,"name":"MATIC","coinKey":"MATIC","priceUSD":"0","logoURI":""},"gasAmount":"10000","gasAmountUSD":"0.0","gasPrice":"1000","gasUsed":"1000","timestamp":1720545119,"value":"0"},"receiving":{"txHash":"0xba2793065e20835ef60993144d92e6bc1a86529a70e16c357f66ad13774868ad","txLink":"https://bscscan.com/tx/0xba2793065e20835ef60993144d92e6bc1a86529a70e16c357f66ad13774868ad","amount":"12100000000000000000","token":{"address":"0x8965349fb649a33a30cbfda057d8ec2c48abe2a2","symbol":"anyUSDC","decimals":18,"chainId":56,"name":"USDC","coinKey":"anyUSDC","priceUSD":"0","logoURI":""},"chainId":56,"gasToken":{"address":"0x0000000000000000000000000000000000001010","symbol":"BNB","decimals":18,"chainId":56,"name":"BNB","coinKey":"BNB","priceUSD":"0","logoURI":""},"gasAmount":"10000","gasAmountUSD":"0.0","gasPrice":"1000","gasUsed":"1000","timestamp":1720560232,"value":"0"},"tool":"anyswap","status":"DONE","substatus":"COMPLETED","substatusMessage":"The transfer is complete.","transactionId":"0x0000000000000000000000000000000000001010","fromAddress":"0x0000000000000000000000000000000000001010","toAddress":"0x0000000000000000000000000000000000001010","lifiExplorerLink":"https://scan.li.fi/tx/0xd3ad8fb8798d8440f3a1ec7fd51e102a88e4690f9365fad4eff1a17020376b4a","metadata":{"integrator":"jumper.exchange"}},"uniqueKey":"","typeLabel":"Root Type for StatusResponse · object"},"examples":{"ExampleStatusResponse":{"title":"ExampleStatusResponse","value":{"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"}}},"exampleType":"examples"}},"description":"Response of the Status request","exampleType":"examples"},"cd023f4d-4f91-475b-8b4a-658b66a1680b":{"description":"The passed parameters are invalid","content":{"_mintlify/placeholder":{"schema":{"type":"object","description":""}}}},"f6d0572e-c66f-454c-9af1-bdedc87afcf4":{"description":"Transaction not currently found. This is not proof of execution failure; reconcile on the source chain before considering any replacement.","content":{"application/json":{"schema":{"type":"object","required":["message","code"],"properties":{"message":{"type":"string","isRequired":true,"uniqueKey":"message","typeLabel":"string"},"code":{"type":"integer","enum":[1003],"isRequired":true,"uniqueKey":"code","typeLabel":"enum\u003cinteger>"}},"uniqueKey":"","typeLabel":"object"},"example":{"message":"Transaction hash not found on the requested chain","code":1003},"examples":{"Example":{"title":"Example","value":{"message":"Transaction hash not found on the requested chain","code":1003}}},"exampleType":"examples"}},"exampleType":"examples"}},"security":{},"servers":{"2d571c46-53ec-43a1-9793-fbf2719d026d":{"url":"https://li.quest","description":"LI.FI Production Environment"},"ea026e35-a5ad-4fd4-9864-837362b78550":{"url":"https://staging.li.quest","description":"LI.FI Staging Environment"}}},"originalFileLocation":"openapi.yaml"},"subdomain":"lifi","siteName":"LI.FI","title":"Check the status of a cross chain transfer - LI.FI","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{"en":{"href":"/api-reference/check-the-status-of-a-cross-chain-transfer","matchLevel":0},"zh-Hans":{"href":"/zh-Hans/introduction/introduction","matchLevel":4}}},"lastModified":"2026-10-07T05:54:49.918Z","originalFileLocation":"api-reference/check-the-status-of-a-cross-chain-transfer.mdx","locale":"en"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"dark\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Cross chain transfers might take a while to complete. Waiting on the transaction on the sending chain doesn\u0026#x27;t help here. For this reason we build a simple endpoint that let\u0026#x27;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.\">\u003cmeta data-mint-head name=\"application-name\" content=\"LI.FI\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/lifi/uhSlA1vHRUBoEVMw/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/lifi/uhSlA1vHRUBoEVMw/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/lifi/uhSlA1vHRUBoEVMw/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/lifi/uhSlA1vHRUBoEVMw/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/lifi/uhSlA1vHRUBoEVMw/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/lifi/uhSlA1vHRUBoEVMw/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/lifi/uhSlA1vHRUBoEVMw/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/lifi/uhSlA1vHRUBoEVMw/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/lifi/uhSlA1vHRUBoEVMw/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Check the status of a cross chain transfer - LI.FI\">\u003cmeta data-mint-head property=\"og:description\" content=\"Cross chain transfers might take a while to complete. Waiting on the transaction on the sending chain doesn\u0026#x27;t help here. For this reason we build a simple endpoint that let\u0026#x27;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.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"LI.FI\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.li.fi/api-reference/check-the-status-of-a-cross-chain-transfer\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://lifi.mintlify.site/_mintlify/api/og/v2?division=Transaction+status\u0026amp;title=Check+the+status+of+a+cross+chain+transfer\u0026amp;description=Cross+chain+transfers+might+take+a+while+to+complete.+Waiting+on+the+transaction+on+the+sending+chain+doesn%27t+help+here.+For+this+reason+we+build+a+simple+endpo\u0026amp;theme=bbd760f308f6962e114ab426\u0026amp;signature=a19cf8bb96678b52d82b1a7e1bd5dc64332fa90315ecd5e297c620a1c79110fa\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Check the status of a cross chain transfer - LI.FI\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Cross chain transfers might take a while to complete. Waiting on the transaction on the sending chain doesn\u0026#x27;t help here. For this reason we build a simple endpoint that let\u0026#x27;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.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://lifi.mintlify.site/_mintlify/api/og/v2?division=Transaction+status\u0026amp;title=Check+the+status+of+a+cross+chain+transfer\u0026amp;description=Cross+chain+transfers+might+take+a+while+to+complete.+Waiting+on+the+transaction+on+the+sending+chain+doesn%27t+help+here.+For+this+reason+we+build+a+simple+endpo\u0026amp;theme=bbd760f308f6962e114ab426\u0026amp;signature=a19cf8bb96678b52d82b1a7e1bd5dc64332fa90315ecd5e297c620a1c79110fa\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/lifi/uhSlA1vHRUBoEVMw/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"LI.FI\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#5C67FF\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.li.fi/api-reference/check-the-status-of-a-cross-chain-transfer\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/check-the-status-of-a-cross-chain-transfer.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.li.fi/#organization\",\"name\":\"LI.FI\",\"url\":\"https://docs.li.fi\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/lifi/EmProAEgMrruLUbI/logo/light.png?fit=max\u0026auto=format\u0026n=EmProAEgMrruLUbI\u0026q=85\u0026s=f435348680e682acea6e3b9af339ed7a\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.li.fi#website\",\"name\":\"LI.FI\",\"url\":\"https://docs.li.fi\",\"publisher\":{\"@id\":\"https://docs.li.fi/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.li.fi/api-reference/check-the-status-of-a-cross-chain-transfer#webpage\",\"url\":\"https://docs.li.fi/api-reference/check-the-status-of-a-cross-chain-transfer\",\"name\":\"Check the status of a cross chain transfer\",\"description\":\"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.\",\"dateModified\":\"2026-10-07T05:54:49.918Z\",\"isPartOf\":{\"@id\":\"https://docs.li.fi#website\"},\"breadcrumb\":{\"@id\":\"https://docs.li.fi/api-reference/check-the-status-of-a-cross-chain-transfer#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.li.fi/api-reference/check-the-status-of-a-cross-chain-transfer#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"General API\",\"item\":\"https://docs.li.fi/api-reference/get-information-about-all-currently-supported-chains\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Check the status of a cross chain transfer\",\"item\":\"https://docs.li.fi/api-reference/check-the-status-of-a-cross-chain-transfer\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.li.fi/api-reference/check-the-status-of-a-cross-chain-transfer#apireference\",\"headline\":\"Check the status of a cross chain transfer\",\"name\":\"Check the status of a cross chain transfer\",\"description\":\"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.\",\"url\":\"https://docs.li.fi/api-reference/check-the-status-of-a-cross-chain-transfer\",\"mainEntityOfPage\":{\"@id\":\"https://docs.li.fi/api-reference/check-the-status-of-a-cross-chain-transfer#webpage\"},\"dateModified\":\"2026-10-07T05:54:49.918Z\",\"publisher\":{\"@id\":\"https://docs.li.fi/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.li.fi#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"LI.FI\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"LI.FI","nav":{"global":null,"languages":[{"language":"en","tabs":[{"tab":"Overview","pages":[{"title":"Overview","href":"/introduction/introduction"}]},{"tab":"Enterprise (New)","pages":[{"title":"Enterprise (New)","href":"/enterprise/overview"}]},{"tab":"API Reference","groups":[{"group":"About APIs","pages":[{"title":"Overview","href":"/api-reference/introduction"},{"title":"OpenAPI Specification","href":"/api-reference/openapi-spec"},{"title":"Rate Limits and API Authentication","href":"/api-reference/rate-limits"},{"title":"API Key Security","href":"/api-reference/api-key-security"},{"title":"Error Codes","href":"/api-reference/error-codes"}]},{"group":"General API","pages":[{"group":"Chains","pages":[{"openapi":"openapi.yaml GET /v1/chains","title":"Get information about all currently supported chains","href":"/api-reference/get-information-about-all-currently-supported-chains"}]},{"group":"Tokens","pages":[{"title":"Fetch all known tokens","openapi":"get /v1/tokens","href":"/api-reference/fetch-all-known-tokens"},{"openapi":"get /v1/token","title":"Fetch information about a Token","href":"/api-reference/fetch-information-about-a-token"}]},{"group":"Tools","pages":[{"openapi":"get /v1/tools","title":"Get available bridges and exchanges","href":"/api-reference/get-available-bridges-and-exchanges"}]},{"group":"Connections","pages":[{"openapi":"get /v1/connections","title":"Returns all possible connections between two chains.","href":"/api-reference/returns-all-possible-connections-based-on-a-from-or-tochain"}]},{"group":"Gas endpoints","pages":[{"openapi":"get /v1/gas/prices/{chainId}","title":"Get gas price for the specified chainId","href":"/api-reference/gas/get-gas-price-for-the-specified-chainid"},{"openapi":"get /v1/gas/prices","title":"Get gas prices for enabled chains","href":"/api-reference/gas/get-gas-prices-for-enabled-chains"},{"openapi":"get /v1/gas/suggestion/{chain}","title":"Get a gas suggestion for the specified chain","href":"/api-reference/get-a-gas-suggestion-for-the-specified-chain"},{"openapi":"get /v1/gas/status","title":"Get status information about a lifuel transaction","href":"/api-reference/get-status-information-about-a-lifuel-transaction"},{"openapi":"get /v1/gas/refetch","title":"In case a transaction was missed by a relayer, this endpoint can be used to force a tx to be re-fetched.","description":null,"href":"/api-reference/in-case-a-transaction-was-missed-by-a-relayer-this-endpoint-can-be-used-to-force-a-tx-to-be-re-fetched"}]},{"group":"Transaction status","pages":[{"openapi":"get /v1/status","title":"Check the status of a cross chain transfer","href":"/api-reference/check-the-status-of-a-cross-chain-transfer"}]},{"group":"Integrator fee information","pages":[{"openapi":"get /v1/integrators/{integratorId}/withdraw/{chainId}","title":"Get transaction request for withdrawing collected integrator's fees by chain","description":"This endpoint can be used to get transaction request for withdrawing integrator's collected fees the specified chain. If a list of token addresses is provided, the generated transaction will only withdraw the specified funds.\nIf there is no collected fees for the provided token's addresses, the `400` error will be thrown.\nThe endpoint returns a `IntegratorWithdrawalTransactionResponse` object which contains the transaction request.","href":"/api-reference/get-transaction-request-for-withdrawing-collected-integrators-fees-by-chain"},{"openapi":"get /v1/integrators/{integratorId}","title":"Get integrator's collected fees data for all supported chains","href":"/api-reference/get-integrators-collected-fees-data-for-all-supported-chains"}]},{"group":"Analytics","pages":[{"openapi":"get /v1/analytics/transfers/summary","title":"Get the total amount of a token received on a specific chain, for cross-chain transfers.","href":"/api-reference/get-the-total-amount-of-a-token-received-on-a-specific-chain-for-cross-chain-transfers"},{"openapi":"get /v1/analytics/transfers","title":"Get a list of filtered transfers","href":"/api-reference/get-a-list-of-filtered-transfers"},{"openapi":"get /v2/analytics/transfers","title":"Get a paginated list of filtered transfers","href":"/api-reference/get-a-paginated-list-of-filtered-transfers"}]}]},{"group":"Requesting a quote","pages":[{"group":"API presets","pages":[{"title":"API Presets","href":"/api-reference/presets/overview"},{"title":"Stablecoin preset","href":"/api-reference/presets/stablecoin"}]},{"group":"Single-step quote","pages":[{"openapi":"get /v1/quote","title":"Get a quote for a token transfer","href":"/api-reference/get-a-quote-for-a-token-transfer"},{"openapi":"get /v1/quote/toAmount","title":"Get a quote for a token transfer","href":"/api-reference/get-a-quote-for-a-token-transfer-1"},{"openapi":"post /v1/quote/contractCalls","title":"Perform multiple contract calls across blockchains (BETA)","href":"/api-reference/perform-multiple-contract-calls-across-blockchains-beta"}]},{"group":"Advanced routes","pages":[{"openapi":"post /v1/advanced/routes","title":"Get a set of routes for a request that describes a transfer of tokens","href":"/api-reference/advanced/get-a-set-of-routes-for-a-request-that-describes-a-transfer-of-tokens"},{"openapi":"post /v1/advanced/stepTransaction","title":"Populate a step with transaction data","href":"/api-reference/advanced/populate-a-step-with-transaction-data"}]},{"group":"Parse transaction call data","pages":[{"openapi":"get /v1/calldata/parse","title":"Parse transaction call data (BETA)","href":"/api-reference/parse-transaction-call-data-beta"}]}]}]},{"tab":"SDK","pages":[{"title":"SDK","href":"/sdk/overview"}]},{"tab":"Widget","pages":[{"title":"Widget","href":"/widget/overview"}]},{"tab":"Composer","pages":[{"title":"Composer","href":"/composer/overview"}]},{"tab":"Earn","pages":[{"title":"Earn","href":"/earn/overview"}]},{"tab":"Perps","pages":[{"title":"Perps","href":"/perps/overview"}]},{"tab":"Intents \u0026 Solvers","pages":[{"title":"Intents \u0026 Solvers","href":"/lifi-intents/introduction"}]},{"tab":"For Agents","pages":[{"title":"For Agents","href":"/agents/overview"}]},{"tab":"Widget Playground","href":"https://playground.li.fi/"},{"tab":"Bigmi","pages":[{"title":"Bigmi","href":"/bigmi/overview"}]},{"tab":"Guides","pages":[{"title":"Guides","href":"/guides/gas-options"}]},{"tab":"FAQs","pages":[{"title":"FAQs","href":"/faqs/fees-monetization"}]}]},{"language":"zh-Hans","pages":[{"title":"zh-Hans","href":"/zh-Hans/introduction/introduction"}]}]},"basePath":"","title":"Check the status of a cross chain transfer - LI.FI","buildId":"dpl_DTau1J5HqS9UTgVSDwGksstFWtPa","deploymentId":"dpl_DTau1J5HqS9UTgVSDwGksstFWtPa","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-5FCzAcfS.js","utils-SLtAG4EZ.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-2DZi8ZMu.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-D7J3nkzE.js","snippetPresets-D0Alv0AH.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","conditional-requirements-CFM0id0Q.js","ApiExamples-BI4qNJ2c.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-BD3uyr8j.js","shallow-D8iEBr5z.js","getApiPlaygroundDisplay-CgNP4lzR.js","CodeSnippet-CX-QHuMs.js","CodeSnippets-VlXE-ZUf.js","Page-D9ithiIZ.js","getPastedJson-DYNQkZ1M.js","icon-CzacdwOi.js","MethodPill-2JVqoYKi.js","DuplicateIcon-_xVXs-U8.js","createIcon-BRHrweLo.js","DynamicMarkdown-mQG_iQiE.js","SectionHeading-DMpJzv8f.js","axios-vUo_bRtp.js","Markdown-5FGIym-8.js","clsx-D-TRO5q5.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-CdrJecqK.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-CHlcWBLM.js"]}