Authentication header, register in the LI.FI Partner Portal (https://portal.li.fi/ ) to get your API Key.
查询参数
denyPools
string[]
One to 100 AMM pool or Solana venue identifiers to exclude when building transaction data. If the route was requested with options.pools.deny, you must pass the same list again for each step: pool exclusions are request-scoped and are not carried in the returned Step. Without it, swaps are re-quoted with no exclusions, so the transaction can use an excluded pool or venue. Repeat the query parameter for multiple entries, as with /v1/quote. Each entry is a non-zero Uniswap V2/V3 EVM pool address (0x + 40 hex), a Uniswap V4 <poolManagerAddress>-<poolId> identifier, where poolId is 0x + 64 hex, or a Solana venue program ID (base58). EVM pool exclusion is supported only by fly; Solana venue exclusion only by jupiter, titan and okx. If the list holds a Solana program ID, a step that swaps on Solana through any other exchange is rejected with a 400 error instead of being built without the exclusion. Keep the Step object in the JSON request body.
Required array length: 1 - 100 elements
skipSimulation
boolean
Skips the EVM step simulation of the generated transaction. Honoured only for integrators configured by LI.FI; for every other caller it is accepted for backward compatibility and ignored (the transaction is simulated as usual). When honoured, the gas limit comes from the tool estimate, a transaction that would revert is not rejected, and the step carries stepSimulation.status: not-attempted with disabledReason: skip_requested.
mayanNonEvmPermitSignature
boolean
Mayan specific option to bridge from non-EVM chain to Hyperliquid
svmMaxSupportedTransactionVersion
enum<number> | null
默认值:0
Maximum Solana transaction version the client can sign. Defaults to 0; omission or null uses v0. Set to 1 to allow V1 where enabled for the environment. Jito requests always use v0. Size overflow may fall back to v0. Read transactionRequest.svmTransactionVersion for the version actually built. Ignored for source chains other than Solana.
可用选项:
0,
1
svmPriorityFeeLevel
enum<string>
Priority fee level for Solana Virtual Machine (SVM) transactions.
可用选项:
NORMAL,
FAST,
ULTRA
请求体
application/json
The step object
Object that represents one step of a Route
id
string
必填
Unique identifier of the step
type
enum<string>
必填
The type of the step. swap executes a DEX swap on a single chain, cross bridges assets between chains, lifi runs LiFi's internal multi-action logic, and protocol represents protocol-level actions such as fee collection or vault interactions executed inside LiFi managed contracts.
Present only when the route was requested with slippageScope=route. The route-wide slippage commitment: post it back unchanged with the step to /v1/advanced/stepTransaction.
Metadata about step-level transaction simulation during stepTransaction. Present on EVM and Solana stepTransaction responses when the simulation runs (on EVM, when gas limits are resolved).
Show child attributes
响应
The step populated with the transaction data
Object that represents one step of a Route
id
string
必填
Unique identifier of the step
type
enum<string>
必填
The type of the step. swap executes a DEX swap on a single chain, cross bridges assets between chains, lifi runs LiFi's internal multi-action logic, and protocol represents protocol-level actions such as fee collection or vault interactions executed inside LiFi managed contracts.
Present only when the route was requested with slippageScope=route. The route-wide slippage commitment: post it back unchanged with the step to /v1/advanced/stepTransaction.
Metadata about step-level transaction simulation during stepTransaction. Present on EVM and Solana stepTransaction responses when the simulation runs (on EVM, when gas limits are resolved).
Show child attributes
{"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":"6af6b1e56fbe13cdbf12b918","clientVersion":"0.0.4142","searchFilterCounts":[{"language":"en","tag":"Composer","count":56},{"language":"en","tag":"Overview","count":48},{"language":"zh-Hans","tag":"概述","count":44},{"language":"zh-Hans","tag":"Composer","count":44},{"language":"en","tag":"Integrate via Composer API","count":40},{"language":"en","tag":"API Reference","count":35},{"language":"en","tag":"Intents \u0026 Solvers","count":32},{"language":"zh-Hans","tag":"意图与求解器","count":32},{"language":"zh-Hans","tag":"API 参考","count":30},{"language":"en","tag":"Reference","count":28},{"language":"zh-Hans","tag":"通过 Composer API 集成","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":18},{"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":"custom-rbac-roles","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":"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":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"zh-hans-api-reference/advanced/populate-a-step-with-transaction-data","slug":"/zh-hans-api-reference/advanced/populate-a-step-with-transaction-data","pageMetadata":{"title":"用交易数据填充步骤","description":"此端点用必要的交易数据填充路由步骤,准备执行跨链转账的各个阶段。","openapi":"post /v1/advanced/stepTransaction","href":"/zh-hans-api-reference/advanced/populate-a-step-with-transaction-data"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"此端点用必要的交易数据填充路由步骤,准备执行跨链转账的各个阶段。\"\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,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,li:`li`,p:`p`,ul:`ul`,..._provideComponents(),...props.components},{Info}=_components;if(!Info)_missingMdxReference(`Info`,true);return _jsxs(_Fragment,{children:[_jsxs(Info,{children:[_jsxs(_components.p,{children:[`如果请求路由时设置了 `,_jsx(_components.code,{children:`options.pools.deny`}),`,为每个步骤请求交易数据时,必须将同一份资金池标识符列表再次作为 `,_jsx(_components.code,{children:`denyPools`}),` 查询参数传入。该列表仅在当前请求中生效,不会随返回的步骤自动传递。`]}),_jsxs(_components.p,{children:[`请提供 1–100 个标识符,格式与 `,_jsx(_components.a,{href:`/zh-hans-api-reference/get-a-quote-for-a-token-transfer`,children:_jsx(_components.code,{children:`/v1/quote`})}),` 相同:Uniswap V2/V3 的非零 EVM 资金池地址、Uniswap V4 的 `,_jsx(_components.code,{children:`\u003cpoolManagerAddress>-\u003cpoolId>`}),` 标识符,或 Solana 交易场所的程序 ID。排除多个条目时请重复传入 `,_jsx(_components.code,{children:`denyPools`}),`。JSON 请求体仍为 `,_jsx(_components.code,{children:`Step`}),` 对象。`]}),_jsxs(_components.p,{children:[`EVM 资金池排除功能仅由 `,_jsx(_components.code,{children:`fly`}),` 支持,Solana 交易场所排除功能仅由 `,_jsx(_components.code,{children:`jupiter`}),`、`,_jsx(_components.code,{children:`titan`}),` 和 `,_jsx(_components.code,{children:`okx`}),` 支持。再次传入列表,可在构建交易数据、重新获取 swap 报价时保留这些排除设置。如果列表中包含 Solana 程序 ID,而某个步骤通过其他交易所在 Solana 上执行 swap,该请求会被拒绝并返回 400 错误,而不会在没有排除设置的情况下构建交易数据。`]})]}),`\n`,_jsxs(Info,{children:[_jsxs(_components.p,{children:[`对于使用 `,_jsx(_components.code,{children:`slippageScope=route`}),` 请求的路由,请原样提交返回的步骤,包括其 `,_jsx(_components.code,{children:`routeSlippage`}),` 承诺。构建的交易将至少交付承诺的下限(`,_jsx(_components.code,{children:`routeSlippage.minimumToAmount`}),`),`,_jsx(_components.code,{children:`toAmountMin`}),` 也保持为该下限。`]}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`如果最新报价已无法交付该下限,请求会失败,返回 `,_jsx(_components.code,{children:`409`}),` 和 `,_jsx(_components.code,{children:`ROUTE_SLIPPAGE_FLOOR_UNREACHABLE`}),`。下限永远不会被降低;请重新请求报价。`]}),`\n`,_jsxs(_components.li,{children:[`承诺被修改或与步骤不匹配时,请求会失败,返回 `,_jsx(_components.code,{children:`400`}),` 和 `,_jsx(_components.code,{children:`ROUTE_SLIPPAGE_COMMITMENT_INVALID`}),`。`]}),`\n`]}),_jsxs(_components.p,{children:[`参见`,_jsx(_components.a,{href:`/guides/route-wide-slippage`,children:`整条路由滑点`}),`。`]})]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"codeStyling":"system","config":{},"pageMetadata":{"title":"用交易数据填充步骤","description":"此端点用必要的交易数据填充路由步骤,准备执行跨链转账的各个阶段。","openapi":"post /v1/advanced/stepTransaction","href":"/zh-hans-api-reference/advanced/populate-a-step-with-transaction-data"}}},"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/faea2bc1c5ee8be7/scripts/translation-config.js","/_mintlify/custom/lifi/8f88293865b45873/scripts/verify-translation-coverage.js"],"openApiReferenceData":{"operation":{"requestBody":"5ea3b7ae-f69d-4502-9260-b4cc13eaff2c","tags":["advanced"],"parameters":["77c21760-3068-4680-aecf-b57ed8326802","8a7c9bba-4b9e-43d9-9c0b-0e65cc36118e","39b473b8-69f1-44d7-8ab6-43e0082681ad","7dc1f68c-6f48-4cc1-b6dd-c4107eb3f17e","015a2634-d97d-4bd1-b6f1-012ef9c29247","13a74951-29ae-485c-b40a-ab38d3595634"],"responses":{"200":"f6d39cf3-94db-456a-9637-ca204ebb726c","400":"93b3b024-3c0e-4830-bcaf-39074d2edfb4"},"summary":"Populate a step with transaction data","description":"此端点用必要的交易数据填充路由步骤,准备执行跨链转账的各个阶段。","method":"post","type":"path","servers":["a1681415-8815-49fe-91ec-61037569c8c4","95ef63d1-369e-4ffa-8914-97e36e91254b"],"security":[],"path":"/v1/advanced/stepTransaction","baseUrlOptions":["https://li.quest","https://staging.li.quest"],"title":"Populate a step with transaction data","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{"77c21760-3068-4680-aecf-b57ed8326802":{"name":"denyPools","in":"query","required":false,"style":"form","explode":true,"description":"One to 100 AMM pool or Solana venue identifiers to exclude when building transaction data. If the route was requested with `options.pools.deny`, you must pass the same list again for each step: pool exclusions are request-scoped and are not carried in the returned Step. Without it, swaps are re-quoted with no exclusions, so the transaction can use an excluded pool or venue. Repeat the query parameter for multiple entries, as with `/v1/quote`. Each entry is a non-zero Uniswap V2/V3 EVM pool address (`0x` + 40 hex), a Uniswap V4 `\u003cpoolManagerAddress>-\u003cpoolId>` identifier, where `poolId` is `0x` + 64 hex, or a Solana venue program ID (base58). EVM pool exclusion is supported only by `fly`; Solana venue exclusion only by `jupiter`, `titan` and `okx`. If the list holds a Solana program ID, a step that swaps on Solana through any other exchange is rejected with a 400 error instead of being built without the exclusion. Keep the Step object in the JSON request body.","schema":{"type":"array","minItems":1,"maxItems":100,"items":{"type":"string","uniqueKey":"items.[INDEX]","typeLabel":"string"},"isRequired":false,"description":"One to 100 AMM pool or Solana venue identifiers to exclude when building transaction data. If the route was requested with `options.pools.deny`, you must pass the same list again for each step: pool exclusions are request-scoped and are not carried in the returned Step. Without it, swaps are re-quoted with no exclusions, so the transaction can use an excluded pool or venue. Repeat the query parameter for multiple entries, as with `/v1/quote`. Each entry is a non-zero Uniswap V2/V3 EVM pool address (`0x` + 40 hex), a Uniswap V4 `\u003cpoolManagerAddress>-\u003cpoolId>` identifier, where `poolId` is `0x` + 64 hex, or a Solana venue program ID (base58). EVM pool exclusion is supported only by `fly`; Solana venue exclusion only by `jupiter`, `titan` and `okx`. If the list holds a Solana program ID, a step that swaps on Solana through any other exchange is rejected with a 400 error instead of being built without the exclusion. Keep the Step object in the JSON request body.","uniqueKey":"","typeLabel":"string[]"},"example":["0xd0b53D9277642d899DF5C87A3966A349A798F224"]},"8a7c9bba-4b9e-43d9-9c0b-0e65cc36118e":{"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"},"39b473b8-69f1-44d7-8ab6-43e0082681ad":{"name":"skipSimulation","description":"Skips the EVM step simulation of the generated transaction. Honoured only for integrators configured by LI.FI; for every other caller it is accepted for backward compatibility and ignored (the transaction is simulated as usual). When honoured, the gas limit comes from the tool estimate, a transaction that would revert is not rejected, and the step carries `stepSimulation.status: not-attempted` with `disabledReason: skip_requested`.","deprecated":true,"schema":{"type":"boolean","isRequired":false,"description":"Skips the EVM step simulation of the generated transaction. Honoured only for integrators configured by LI.FI; for every other caller it is accepted for backward compatibility and ignored (the transaction is simulated as usual). When honoured, the gas limit comes from the tool estimate, a transaction that would revert is not rejected, and the step carries `stepSimulation.status: not-attempted` with `disabledReason: skip_requested`.","uniqueKey":"","typeLabel":"boolean"},"in":"query","required":false},"7dc1f68c-6f48-4cc1-b6dd-c4107eb3f17e":{"name":"mayanNonEvmPermitSignature","description":"Mayan specific option to bridge from non-EVM chain to Hyperliquid","schema":{"type":"boolean","isRequired":false,"description":"Mayan specific option to bridge from non-EVM chain to Hyperliquid","uniqueKey":"","typeLabel":"boolean"},"in":"query","required":false},"015a2634-d97d-4bd1-b6f1-012ef9c29247":{"name":"svmMaxSupportedTransactionVersion","description":"Maximum Solana transaction version the client can sign. Defaults to 0; omission or null uses v0. Set to 1 to allow V1 where enabled for the environment. Jito requests always use v0. Size overflow may fall back to v0. Read transactionRequest.svmTransactionVersion for the version actually built. Ignored for source chains other than Solana.","schema":{"oneOf":[{"type":"number","enum":[0,1],"default":0,"description":"Maximum Solana transaction version the client can sign. Defaults to 0; omission or null uses v0. Set to 1 to allow V1 where enabled for the environment. Jito requests always use v0. Size overflow may fall back to v0. Read transactionRequest.svmTransactionVersion for the version actually built. Ignored for source chains other than Solana.","uniqueKey":"oneOf.0","typeLabel":"enum\u003cnumber>"},{"type":"null","enum":[0,1],"default":0,"description":"Maximum Solana transaction version the client can sign. Defaults to 0; omission or null uses v0. Set to 1 to allow V1 where enabled for the environment. Jito requests always use v0. Size overflow may fall back to v0. Read transactionRequest.svmTransactionVersion for the version actually built. Ignored for source chains other than Solana.","uniqueKey":"oneOf.1","typeLabel":"null"}],"isRequired":false,"uniqueKey":"","typeLabel":"enum\u003cnumber> | null"},"in":"query","required":false},"13a74951-29ae-485c-b40a-ab38d3595634":{"name":"svmPriorityFeeLevel","description":"Priority fee level for Solana Virtual Machine (SVM) transactions.","schema":{"enum":["NORMAL","FAST","ULTRA"],"type":"string","isRequired":false,"description":"Priority fee level for Solana Virtual Machine (SVM) transactions.","uniqueKey":"","typeLabel":"enum\u003cstring>"},"in":"query","required":false}},"requestBody":{"description":"The step object","content":{"application/json":{"schema":{"title":"Root Type for Step","description":"Object that represents one step of a `Route`","required":["id","action","tool","type"],"type":"object","properties":{"id":{"description":"Unique identifier of the step","type":"string","isRequired":true,"uniqueKey":"id","typeLabel":"string"},"type":{"description":"The type of the step. `swap` executes a DEX swap on a single chain, `cross` bridges assets between chains, `lifi` runs LiFi's internal multi-action logic, and `protocol` represents protocol-level actions such as fee collection or vault interactions executed inside LiFi managed contracts.","enum":["swap","cross","lifi","protocol"],"type":"string","isRequired":true,"uniqueKey":"type","typeLabel":"enum\u003cstring>"},"tool":{"description":"The tool used for this step. E.g. `relay`","type":"string","isRequired":true,"uniqueKey":"tool","typeLabel":"string"},"action":{"title":"Root Type for Action","description":"The action of the 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":"action.fromChainId","typeLabel":"number\u003cnumber>"},"fromAmount":{"description":"The amount that should be transferred including all decimals","type":"string","isRequired":true,"uniqueKey":"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":"action.fromToken.address","typeLabel":"string"},"decimals":{"format":"number","description":"Number of decimals the token uses","type":"number","isRequired":true,"uniqueKey":"action.fromToken.decimals","typeLabel":"number\u003cnumber>"},"symbol":{"description":"Symbol of the token","type":"string","isRequired":true,"uniqueKey":"action.fromToken.symbol","typeLabel":"string"},"chainId":{"format":"number","description":"Id of the token's chain","type":"number","isRequired":true,"uniqueKey":"action.fromToken.chainId","typeLabel":"number\u003cnumber>"},"name":{"description":"Name of the token","type":"string","isRequired":true,"uniqueKey":"action.fromToken.name","typeLabel":"string"},"coinKey":{"description":"Identifier for the token","type":"string","uniqueKey":"action.fromToken.coinKey","typeLabel":"string"},"logoURI":{"description":"Logo of the token","type":"string","uniqueKey":"action.fromToken.logoURI","typeLabel":"string"},"priceUSD":{"description":"Token price in USD","type":"string","uniqueKey":"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":"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":"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":"action.toToken.address","typeLabel":"string"},"decimals":{"format":"number","description":"Number of decimals the token uses","type":"number","isRequired":true,"uniqueKey":"action.toToken.decimals","typeLabel":"number\u003cnumber>"},"symbol":{"description":"Symbol of the token","type":"string","isRequired":true,"uniqueKey":"action.toToken.symbol","typeLabel":"string"},"chainId":{"format":"number","description":"Id of the token's chain","type":"number","isRequired":true,"uniqueKey":"action.toToken.chainId","typeLabel":"number\u003cnumber>"},"name":{"description":"Name of the token","type":"string","isRequired":true,"uniqueKey":"action.toToken.name","typeLabel":"string"},"coinKey":{"description":"Identifier for the token","type":"string","uniqueKey":"action.toToken.coinKey","typeLabel":"string"},"logoURI":{"description":"Logo of the token","type":"string","uniqueKey":"action.toToken.logoURI","typeLabel":"string"},"priceUSD":{"description":"Token price in USD","type":"string","uniqueKey":"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":"action.toToken","typeLabel":"Root Type for Token · object"},"slippage":{"format":"double","description":"The maximum allowed slippage","type":"number","uniqueKey":"action.slippage","typeLabel":"number\u003cdouble>"},"fromAddress":{"description":"The sending wallet address","type":"string","uniqueKey":"action.fromAddress","typeLabel":"string"},"toAddress":{"description":"The receiving wallet address","type":"string","uniqueKey":"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":"action","typeLabel":"Root Type for Action · object"},"toolDetails":{"description":"The details of the tool used for this step. E.g. `relay`","type":"object","properties":{"key":{"description":"The tool key","type":"string","uniqueKey":"toolDetails.key","typeLabel":"string"},"name":{"description":"The tool name","type":"string","uniqueKey":"toolDetails.name","typeLabel":"string"},"logoURI":{"description":"The tool logo URL","type":"string","uniqueKey":"toolDetails.logoURI","typeLabel":"string"}},"uniqueKey":"toolDetails","typeLabel":"object"},"estimate":{"title":"Root Type for Estimate","description":"The estimation for the step","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":"estimate.tool","typeLabel":"string"},"fromAmount":{"description":"The amount that should be transferred including all decimals","type":"string","isRequired":true,"uniqueKey":"estimate.fromAmount","typeLabel":"string"},"toAmount":{"description":"The estimated resulting amount of the `toToken` including all decimals","type":"string","isRequired":true,"uniqueKey":"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":"estimate.toAmountMin","typeLabel":"string"},"approvalAddress":{"description":"The contract address for the approval","type":"string","isRequired":true,"uniqueKey":"estimate.approvalAddress","typeLabel":"string"},"executionDuration":{"description":"The time needed to complete the following step","type":"number","isRequired":true,"uniqueKey":"estimate.executionDuration","typeLabel":"number"},"fromAmountUSD":{"description":"The amount that should be transferred in USD equivalent","type":"string","uniqueKey":"estimate.fromAmountUSD","typeLabel":"string"},"toAmountUSD":{"description":"The estimated resulting amount of the `toToken` in USD equivalent","type":"string","uniqueKey":"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":"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":"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":"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":"estimate.feeCosts.items.[INDEX].token.address","typeLabel":"string"},"decimals":{"format":"number","description":"Number of decimals the token uses","type":"number","isRequired":true,"uniqueKey":"estimate.feeCosts.items.[INDEX].token.decimals","typeLabel":"number\u003cnumber>"},"symbol":{"description":"Symbol of the token","type":"string","isRequired":true,"uniqueKey":"estimate.feeCosts.items.[INDEX].token.symbol","typeLabel":"string"},"chainId":{"format":"number","description":"Id of the token's chain","type":"number","isRequired":true,"uniqueKey":"estimate.feeCosts.items.[INDEX].token.chainId","typeLabel":"number\u003cnumber>"},"name":{"description":"Name of the token","type":"string","isRequired":true,"uniqueKey":"estimate.feeCosts.items.[INDEX].token.name","typeLabel":"string"},"coinKey":{"description":"Identifier for the token","type":"string","uniqueKey":"estimate.feeCosts.items.[INDEX].token.coinKey","typeLabel":"string"},"logoURI":{"description":"Logo of the token","type":"string","uniqueKey":"estimate.feeCosts.items.[INDEX].token.logoURI","typeLabel":"string"},"priceUSD":{"description":"Token price in USD","type":"string","uniqueKey":"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":"estimate.feeCosts.items.[INDEX].token","typeLabel":"Root Type for Token · object"},"amountUSD":{"description":"The amount of fees in USD","type":"string","isRequired":true,"uniqueKey":"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":"estimate.feeCosts.items.[INDEX].included","typeLabel":"boolean"},"description":{"description":"Description of the fee costs","type":"string","uniqueKey":"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":"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":"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":"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":"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":"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":"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":"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":"estimate.feeCosts.items.[INDEX].feeSplit.recipients.items.[INDEX].walletAddress","typeLabel":"string"}},"uniqueKey":"estimate.feeCosts.items.[INDEX].feeSplit.recipients.items.[INDEX]","typeLabel":"Root Type for FeeRecipient · object"},"uniqueKey":"estimate.feeCosts.items.[INDEX].feeSplit.recipients","typeLabel":"Root Type for FeeRecipient · object[]"}},"uniqueKey":"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":"estimate.feeCosts.items.[INDEX]","typeLabel":"Root Type for FeeCost · object"},"uniqueKey":"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":"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":"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":"estimate.gasCosts.items.[INDEX].token.address","typeLabel":"string"},"decimals":{"format":"number","description":"Number of decimals the token uses","type":"number","isRequired":true,"uniqueKey":"estimate.gasCosts.items.[INDEX].token.decimals","typeLabel":"number\u003cnumber>"},"symbol":{"description":"Symbol of the token","type":"string","isRequired":true,"uniqueKey":"estimate.gasCosts.items.[INDEX].token.symbol","typeLabel":"string"},"chainId":{"format":"number","description":"Id of the token's chain","type":"number","isRequired":true,"uniqueKey":"estimate.gasCosts.items.[INDEX].token.chainId","typeLabel":"number\u003cnumber>"},"name":{"description":"Name of the token","type":"string","isRequired":true,"uniqueKey":"estimate.gasCosts.items.[INDEX].token.name","typeLabel":"string"},"coinKey":{"description":"Identifier for the token","type":"string","uniqueKey":"estimate.gasCosts.items.[INDEX].token.coinKey","typeLabel":"string"},"logoURI":{"description":"Logo of the token","type":"string","uniqueKey":"estimate.gasCosts.items.[INDEX].token.logoURI","typeLabel":"string"},"priceUSD":{"description":"Token price in USD","type":"string","uniqueKey":"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":"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":"estimate.gasCosts.items.[INDEX].price","typeLabel":"string"},"estimate":{"description":"Estimated units of gas the transaction consumes","type":"string","uniqueKey":"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":"estimate.gasCosts.items.[INDEX].limit","typeLabel":"string"},"amountUSD":{"description":"Amount of the gas cost in USD","type":"string","uniqueKey":"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":"estimate.gasCosts.items.[INDEX]","typeLabel":"Root Type for GasCost · object"},"uniqueKey":"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":"estimate.data.bid.user","typeLabel":"string"},"router":{"type":"string","uniqueKey":"estimate.data.bid.router","typeLabel":"string"},"initiator":{"type":"string","uniqueKey":"estimate.data.bid.initiator","typeLabel":"string"},"sendingChainId":{"format":"number","type":"number","uniqueKey":"estimate.data.bid.sendingChainId","typeLabel":"number\u003cnumber>"},"sendingAssetId":{"type":"string","uniqueKey":"estimate.data.bid.sendingAssetId","typeLabel":"string"},"amount":{"type":"string","uniqueKey":"estimate.data.bid.amount","typeLabel":"string"},"receivingChainId":{"format":"number","type":"number","uniqueKey":"estimate.data.bid.receivingChainId","typeLabel":"number\u003cnumber>"},"receivingAssetId":{"type":"string","uniqueKey":"estimate.data.bid.receivingAssetId","typeLabel":"string"},"amountReceived":{"type":"string","uniqueKey":"estimate.data.bid.amountReceived","typeLabel":"string"},"receivingAddress":{"type":"string","uniqueKey":"estimate.data.bid.receivingAddress","typeLabel":"string"},"transactionId":{"type":"string","uniqueKey":"estimate.data.bid.transactionId","typeLabel":"string"},"expiry":{"format":"number","type":"number","uniqueKey":"estimate.data.bid.expiry","typeLabel":"number\u003cnumber>"},"callDataHash":{"type":"string","uniqueKey":"estimate.data.bid.callDataHash","typeLabel":"string"},"callTo":{"type":"string","uniqueKey":"estimate.data.bid.callTo","typeLabel":"string"},"encryptedCallData":{"type":"string","uniqueKey":"estimate.data.bid.encryptedCallData","typeLabel":"string"},"sendingChainTxManagerAddress":{"type":"string","uniqueKey":"estimate.data.bid.sendingChainTxManagerAddress","typeLabel":"string"},"receivingChainTxManagerAddress":{"type":"string","uniqueKey":"estimate.data.bid.receivingChainTxManagerAddress","typeLabel":"string"},"bidExpiry":{"format":"number","type":"number","uniqueKey":"estimate.data.bid.bidExpiry","typeLabel":"number\u003cnumber>"}},"uniqueKey":"estimate.data.bid","typeLabel":"object"},"bidSignature":{"type":"string","uniqueKey":"estimate.data.bidSignature","typeLabel":"string"},"gasFeeInReceivingToken":{"type":"string","uniqueKey":"estimate.data.gasFeeInReceivingToken","typeLabel":"string"},"totalFee":{"type":"string","uniqueKey":"estimate.data.totalFee","typeLabel":"string"},"metaTxRelayerFee":{"type":"string","uniqueKey":"estimate.data.metaTxRelayerFee","typeLabel":"string"},"routerFee":{"type":"string","uniqueKey":"estimate.data.routerFee","typeLabel":"string"}},"uniqueKey":"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"}}]},"uniqueKey":"estimate","typeLabel":"Root Type for Estimate · object"},"routeSlippage":{"title":"Root Type for RouteSlippageCommitment","description":"Present only when the route was requested with `slippageScope=route`. The route-wide slippage commitment: post it back unchanged with the step to `/v1/advanced/stepTransaction`.","required":["scope","slippage","referenceToAmount","minimumToAmount","toChainId","toTokenAddress","settlement","checkpoints"],"type":"object","properties":{"scope":{"enum":["route"],"type":"string","isRequired":true,"uniqueKey":"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":"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":"routeSlippage.referenceToAmount","typeLabel":"string"},"minimumToAmount":{"description":"The floor, in base units of the destination token. Also returned as `toAmountMin`.","type":"string","isRequired":true,"uniqueKey":"routeSlippage.minimumToAmount","typeLabel":"string"},"toChainId":{"description":"The chain the floor applies to","type":"integer","isRequired":true,"uniqueKey":"routeSlippage.toChainId","typeLabel":"integer"},"toTokenAddress":{"description":"The token the floor applies to","type":"string","isRequired":true,"uniqueKey":"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":"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":"routeSlippage.checkpoints.items.[INDEX].stepId","typeLabel":"string"},"chainId":{"type":"integer","isRequired":true,"uniqueKey":"routeSlippage.checkpoints.items.[INDEX].chainId","typeLabel":"integer"},"tokenAddress":{"type":"string","isRequired":true,"uniqueKey":"routeSlippage.checkpoints.items.[INDEX].tokenAddress","typeLabel":"string"},"minimumAmount":{"type":"string","isRequired":true,"uniqueKey":"routeSlippage.checkpoints.items.[INDEX].minimumAmount","typeLabel":"string"}},"uniqueKey":"routeSlippage.checkpoints.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"routeSlippage.checkpoints","typeLabel":"object[]"},"toAddress":{"description":"The recipient the delivery is measured at","type":"string","uniqueKey":"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":"routeSlippage","typeLabel":"Root Type for RouteSlippageCommitment · object"},"integrator":{"description":"A string containing tracking information about the integrator of the API","type":"string","uniqueKey":"integrator","typeLabel":"string"},"includedSteps":{"type":"array","items":{"title":"Root Type for Internal Step","description":"Object that represents one step of an `IncludedSteps` array in `Route`","required":["id","action","estimate","tool","type","toolDetails"],"type":"object","properties":{"id":{"description":"Unique identifier of the step","type":"string","isRequired":true,"uniqueKey":"includedSteps.items.[INDEX].id","typeLabel":"string"},"type":{"description":"The type of the step. `swap` executes a DEX swap on a single chain, `cross` bridges assets between chains, `lifi` runs LiFi's internal multi-action logic, and `protocol` represents protocol-level actions such as fee collection or vault interactions executed inside LiFi managed contracts.","enum":["swap","cross","lifi","protocol"],"type":"string","isRequired":true,"uniqueKey":"includedSteps.items.[INDEX].type","typeLabel":"enum\u003cstring>"},"tool":{"description":"The tool used for this step. E.g. `allbridge`","type":"string","isRequired":true,"uniqueKey":"includedSteps.items.[INDEX].tool","typeLabel":"string"},"toolDetails":{"description":"The details of the tool used for this step. E.g. `allbridge`","type":"object","properties":{"key":{"description":"The tool key","type":"string","uniqueKey":"includedSteps.items.[INDEX].toolDetails.key","typeLabel":"string"},"name":{"description":"The tool name","type":"string","uniqueKey":"includedSteps.items.[INDEX].toolDetails.name","typeLabel":"string"},"logoURI":{"description":"The tool logo URL","type":"string","uniqueKey":"includedSteps.items.[INDEX].toolDetails.logoURI","typeLabel":"string"}},"isRequired":true,"uniqueKey":"includedSteps.items.[INDEX].toolDetails","typeLabel":"object"},"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":"includedSteps.items.[INDEX].action.fromChainId","typeLabel":"number\u003cnumber>"},"fromAmount":{"description":"The amount that should be transferred including all decimals","type":"string","isRequired":true,"uniqueKey":"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":"includedSteps.items.[INDEX].action.fromToken.address","typeLabel":"string"},"decimals":{"format":"number","description":"Number of decimals the token uses","type":"number","isRequired":true,"uniqueKey":"includedSteps.items.[INDEX].action.fromToken.decimals","typeLabel":"number\u003cnumber>"},"symbol":{"description":"Symbol of the token","type":"string","isRequired":true,"uniqueKey":"includedSteps.items.[INDEX].action.fromToken.symbol","typeLabel":"string"},"chainId":{"format":"number","description":"Id of the token's chain","type":"number","isRequired":true,"uniqueKey":"includedSteps.items.[INDEX].action.fromToken.chainId","typeLabel":"number\u003cnumber>"},"name":{"description":"Name of the token","type":"string","isRequired":true,"uniqueKey":"includedSteps.items.[INDEX].action.fromToken.name","typeLabel":"string"},"coinKey":{"description":"Identifier for the token","type":"string","uniqueKey":"includedSteps.items.[INDEX].action.fromToken.coinKey","typeLabel":"string"},"logoURI":{"description":"Logo of the token","type":"string","uniqueKey":"includedSteps.items.[INDEX].action.fromToken.logoURI","typeLabel":"string"},"priceUSD":{"description":"Token price in USD","type":"string","uniqueKey":"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":"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":"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":"includedSteps.items.[INDEX].action.toToken.address","typeLabel":"string"},"decimals":{"format":"number","description":"Number of decimals the token uses","type":"number","isRequired":true,"uniqueKey":"includedSteps.items.[INDEX].action.toToken.decimals","typeLabel":"number\u003cnumber>"},"symbol":{"description":"Symbol of the token","type":"string","isRequired":true,"uniqueKey":"includedSteps.items.[INDEX].action.toToken.symbol","typeLabel":"string"},"chainId":{"format":"number","description":"Id of the token's chain","type":"number","isRequired":true,"uniqueKey":"includedSteps.items.[INDEX].action.toToken.chainId","typeLabel":"number\u003cnumber>"},"name":{"description":"Name of the token","type":"string","isRequired":true,"uniqueKey":"includedSteps.items.[INDEX].action.toToken.name","typeLabel":"string"},"coinKey":{"description":"Identifier for the token","type":"string","uniqueKey":"includedSteps.items.[INDEX].action.toToken.coinKey","typeLabel":"string"},"logoURI":{"description":"Logo of the token","type":"string","uniqueKey":"includedSteps.items.[INDEX].action.toToken.logoURI","typeLabel":"string"},"priceUSD":{"description":"Token price in USD","type":"string","uniqueKey":"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":"includedSteps.items.[INDEX].action.toToken","typeLabel":"Root Type for Token · object"},"slippage":{"format":"double","description":"The maximum allowed slippage","type":"number","uniqueKey":"includedSteps.items.[INDEX].action.slippage","typeLabel":"number\u003cdouble>"},"fromAddress":{"description":"The sending wallet address","type":"string","uniqueKey":"includedSteps.items.[INDEX].action.fromAddress","typeLabel":"string"},"toAddress":{"description":"The receiving wallet address","type":"string","uniqueKey":"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":"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":"includedSteps.items.[INDEX].estimate.tool","typeLabel":"string"},"fromAmount":{"description":"The amount that should be transferred including all decimals","type":"string","isRequired":true,"uniqueKey":"includedSteps.items.[INDEX].estimate.fromAmount","typeLabel":"string"},"toAmount":{"description":"The estimated resulting amount of the `toToken` including all decimals","type":"string","isRequired":true,"uniqueKey":"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":"includedSteps.items.[INDEX].estimate.toAmountMin","typeLabel":"string"},"approvalAddress":{"description":"The contract address for the approval","type":"string","isRequired":true,"uniqueKey":"includedSteps.items.[INDEX].estimate.approvalAddress","typeLabel":"string"},"executionDuration":{"description":"The time needed to complete the following step","type":"number","isRequired":true,"uniqueKey":"includedSteps.items.[INDEX].estimate.executionDuration","typeLabel":"number"},"fromAmountUSD":{"description":"The amount that should be transferred in USD equivalent","type":"string","uniqueKey":"includedSteps.items.[INDEX].estimate.fromAmountUSD","typeLabel":"string"},"toAmountUSD":{"description":"The estimated resulting amount of the `toToken` in USD equivalent","type":"string","uniqueKey":"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":"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":"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":"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":"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":"includedSteps.items.[INDEX].estimate.feeCosts.items.[INDEX].token.decimals","typeLabel":"number\u003cnumber>"},"symbol":{"description":"Symbol of the token","type":"string","isRequired":true,"uniqueKey":"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":"includedSteps.items.[INDEX].estimate.feeCosts.items.[INDEX].token.chainId","typeLabel":"number\u003cnumber>"},"name":{"description":"Name of the token","type":"string","isRequired":true,"uniqueKey":"includedSteps.items.[INDEX].estimate.feeCosts.items.[INDEX].token.name","typeLabel":"string"},"coinKey":{"description":"Identifier for the token","type":"string","uniqueKey":"includedSteps.items.[INDEX].estimate.feeCosts.items.[INDEX].token.coinKey","typeLabel":"string"},"logoURI":{"description":"Logo of the token","type":"string","uniqueKey":"includedSteps.items.[INDEX].estimate.feeCosts.items.[INDEX].token.logoURI","typeLabel":"string"},"priceUSD":{"description":"Token price in USD","type":"string","uniqueKey":"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":"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":"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":"includedSteps.items.[INDEX].estimate.feeCosts.items.[INDEX].included","typeLabel":"boolean"},"description":{"description":"Description of the fee costs","type":"string","uniqueKey":"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":"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":"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":"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":"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":"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":"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":"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":"includedSteps.items.[INDEX].estimate.feeCosts.items.[INDEX].feeSplit.recipients.items.[INDEX].walletAddress","typeLabel":"string"}},"uniqueKey":"includedSteps.items.[INDEX].estimate.feeCosts.items.[INDEX].feeSplit.recipients.items.[INDEX]","typeLabel":"Root Type for FeeRecipient · object"},"uniqueKey":"includedSteps.items.[INDEX].estimate.feeCosts.items.[INDEX].feeSplit.recipients","typeLabel":"Root Type for FeeRecipient · object[]"}},"uniqueKey":"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":"includedSteps.items.[INDEX].estimate.feeCosts.items.[INDEX]","typeLabel":"Root Type for FeeCost · object"},"uniqueKey":"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":"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":"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":"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":"includedSteps.items.[INDEX].estimate.gasCosts.items.[INDEX].token.decimals","typeLabel":"number\u003cnumber>"},"symbol":{"description":"Symbol of the token","type":"string","isRequired":true,"uniqueKey":"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":"includedSteps.items.[INDEX].estimate.gasCosts.items.[INDEX].token.chainId","typeLabel":"number\u003cnumber>"},"name":{"description":"Name of the token","type":"string","isRequired":true,"uniqueKey":"includedSteps.items.[INDEX].estimate.gasCosts.items.[INDEX].token.name","typeLabel":"string"},"coinKey":{"description":"Identifier for the token","type":"string","uniqueKey":"includedSteps.items.[INDEX].estimate.gasCosts.items.[INDEX].token.coinKey","typeLabel":"string"},"logoURI":{"description":"Logo of the token","type":"string","uniqueKey":"includedSteps.items.[INDEX].estimate.gasCosts.items.[INDEX].token.logoURI","typeLabel":"string"},"priceUSD":{"description":"Token price in USD","type":"string","uniqueKey":"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":"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":"includedSteps.items.[INDEX].estimate.gasCosts.items.[INDEX].price","typeLabel":"string"},"estimate":{"description":"Estimated units of gas the transaction consumes","type":"string","uniqueKey":"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":"includedSteps.items.[INDEX].estimate.gasCosts.items.[INDEX].limit","typeLabel":"string"},"amountUSD":{"description":"Amount of the gas cost in USD","type":"string","uniqueKey":"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":"includedSteps.items.[INDEX].estimate.gasCosts.items.[INDEX]","typeLabel":"Root Type for GasCost · object"},"uniqueKey":"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":"includedSteps.items.[INDEX].estimate.data.bid.user","typeLabel":"string"},"router":{"type":"string","uniqueKey":"includedSteps.items.[INDEX].estimate.data.bid.router","typeLabel":"string"},"initiator":{"type":"string","uniqueKey":"includedSteps.items.[INDEX].estimate.data.bid.initiator","typeLabel":"string"},"sendingChainId":{"format":"number","type":"number","uniqueKey":"includedSteps.items.[INDEX].estimate.data.bid.sendingChainId","typeLabel":"number\u003cnumber>"},"sendingAssetId":{"type":"string","uniqueKey":"includedSteps.items.[INDEX].estimate.data.bid.sendingAssetId","typeLabel":"string"},"amount":{"type":"string","uniqueKey":"includedSteps.items.[INDEX].estimate.data.bid.amount","typeLabel":"string"},"receivingChainId":{"format":"number","type":"number","uniqueKey":"includedSteps.items.[INDEX].estimate.data.bid.receivingChainId","typeLabel":"number\u003cnumber>"},"receivingAssetId":{"type":"string","uniqueKey":"includedSteps.items.[INDEX].estimate.data.bid.receivingAssetId","typeLabel":"string"},"amountReceived":{"type":"string","uniqueKey":"includedSteps.items.[INDEX].estimate.data.bid.amountReceived","typeLabel":"string"},"receivingAddress":{"type":"string","uniqueKey":"includedSteps.items.[INDEX].estimate.data.bid.receivingAddress","typeLabel":"string"},"transactionId":{"type":"string","uniqueKey":"includedSteps.items.[INDEX].estimate.data.bid.transactionId","typeLabel":"string"},"expiry":{"format":"number","type":"number","uniqueKey":"includedSteps.items.[INDEX].estimate.data.bid.expiry","typeLabel":"number\u003cnumber>"},"callDataHash":{"type":"string","uniqueKey":"includedSteps.items.[INDEX].estimate.data.bid.callDataHash","typeLabel":"string"},"callTo":{"type":"string","uniqueKey":"includedSteps.items.[INDEX].estimate.data.bid.callTo","typeLabel":"string"},"encryptedCallData":{"type":"string","uniqueKey":"includedSteps.items.[INDEX].estimate.data.bid.encryptedCallData","typeLabel":"string"},"sendingChainTxManagerAddress":{"type":"string","uniqueKey":"includedSteps.items.[INDEX].estimate.data.bid.sendingChainTxManagerAddress","typeLabel":"string"},"receivingChainTxManagerAddress":{"type":"string","uniqueKey":"includedSteps.items.[INDEX].estimate.data.bid.receivingChainTxManagerAddress","typeLabel":"string"},"bidExpiry":{"format":"number","type":"number","uniqueKey":"includedSteps.items.[INDEX].estimate.data.bid.bidExpiry","typeLabel":"number\u003cnumber>"}},"uniqueKey":"includedSteps.items.[INDEX].estimate.data.bid","typeLabel":"object"},"bidSignature":{"type":"string","uniqueKey":"includedSteps.items.[INDEX].estimate.data.bidSignature","typeLabel":"string"},"gasFeeInReceivingToken":{"type":"string","uniqueKey":"includedSteps.items.[INDEX].estimate.data.gasFeeInReceivingToken","typeLabel":"string"},"totalFee":{"type":"string","uniqueKey":"includedSteps.items.[INDEX].estimate.data.totalFee","typeLabel":"string"},"metaTxRelayerFee":{"type":"string","uniqueKey":"includedSteps.items.[INDEX].estimate.data.metaTxRelayerFee","typeLabel":"string"},"routerFee":{"type":"string","uniqueKey":"includedSteps.items.[INDEX].estimate.data.routerFee","typeLabel":"string"}},"uniqueKey":"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":"includedSteps.items.[INDEX].estimate","typeLabel":"Root Type for Estimate · object"}},"uniqueKey":"includedSteps.items.[INDEX]","typeLabel":"Root Type for Internal Step · object"},"uniqueKey":"includedSteps","typeLabel":"Root Type for Internal Step · object[]"},"referrer":{"description":"A string containing tracking information about the referrer of the integrator","type":"string","uniqueKey":"referrer","typeLabel":"string"},"execution":{"description":"An objection containing status information about the execution","uniqueKey":"execution","typeLabel":"any"},"transactionRequest":{"description":"An ether.js TransactionRequest that can be triggered using a wallet provider. (https://docs.ethers.io/v5/api/providers/types/#providers-TransactionRequest) Solana responses also include svmTransactionVersion (0 or 1), the version actually built. This may be lower than the requested maximum.","type":"object","properties":{"svmTransactionVersion":{"description":"Solana transaction version actually built; Jito always uses 0.","type":"number","enum":[0,1],"uniqueKey":"transactionRequest.svmTransactionVersion","typeLabel":"enum\u003cnumber>"}},"uniqueKey":"transactionRequest","typeLabel":"object"},"stepSimulation":{"title":"Step simulation metadata","description":"Metadata about step-level transaction simulation during stepTransaction. Present on EVM and Solana stepTransaction responses when the simulation runs (on EVM, when gas limits are resolved).","required":["status","gasSource"],"type":"object","properties":{"status":{"description":"Whether and how step simulation was attempted","type":"string","enum":["success","skipped","not-attempted","failure"],"isRequired":true,"uniqueKey":"stepSimulation.status","typeLabel":"enum\u003cstring>"},"gasSource":{"description":"Source used for the SEND gas limit on the returned transaction","type":"string","enum":["simulation","tool"],"isRequired":true,"uniqueKey":"stepSimulation.gasSource","typeLabel":"enum\u003cstring>"},"disabledReason":{"description":"Present when status is not-attempted","type":"string","enum":["globally_disabled","skip_requested","simulation_unavailable","chain_not_supported"],"uniqueKey":"stepSimulation.disabledReason","typeLabel":"enum\u003cstring>"},"skipReason":{"description":"Present when status is skipped","type":"string","uniqueKey":"stepSimulation.skipReason","typeLabel":"string"},"revertReason":{"description":"Present when status is failure and dry-run mode is enabled","type":"string","uniqueKey":"stepSimulation.revertReason","typeLabel":"string"}},"uniqueKey":"stepSimulation","typeLabel":"Step simulation metadata · object"}},"example":{"id":"0x48f0a2f93b0d0a9dab992d07c46bca38516c945101e8f8e08ca42af05b9e6aa9","type":"cross","tool":"relay","action":{"fromChainId":100,"toChainId":137,"fromToken":{"address":"0x63e62989d9eb2d37dfdb1f93a22f063635b07d51","symbol":"MIVA","decimals":18,"chainId":100,"name":"Minerva Wallet SuperToken","coinKey":"MIVA","priceUSD":"0.04547537276751318","logoURI":""},"toToken":{"address":"0xc0b2983a17573660053beeed6fdb1053107cf387","symbol":"MIVA","decimals":18,"chainId":137,"name":"Minerva Wallet SuperToken","coinKey":"MIVA","priceUSD":"0","logoURI":""},"fromAmount":"1000000000000000000","slippage":0.003},"estimate":{"fromAmount":"1000000000000000000","toAmount":"999500000000000000","toAmountMin":"999500000000000000","approvalAddress":"0x115909BDcbaB21954bEb4ab65FC2aBEE9866fa93","feeCosts":[{"name":"Gas Fee","description":"Covers gas expense for sending funds to user on receiving chain.","percentage":"0","token":{"address":"0x63e62989d9eb2d37dfdb1f93a22f063635b07d51","symbol":"MIVA","decimals":18,"chainId":100,"name":"Minerva Wallet SuperToken","coinKey":"MIVA","priceUSD":"0.04547537276751318","logoURI":""},"amount":"0","amountUSD":"0.00","included":true},{"name":"Relay Fee","description":"Covers gas expense for claiming user funds on receiving chain.","percentage":"0","token":{"address":"0x63e62989d9eb2d37dfdb1f93a22f063635b07d51","symbol":"MIVA","decimals":18,"chainId":100,"name":"Minerva Wallet SuperToken","coinKey":"MIVA","priceUSD":"0.04547537276751318","logoURI":""},"amount":"0","amountUSD":"0.00","included":true},{"name":"Router Fee","description":"Router service fee.","percentage":"0.0005","token":{"address":"0x63e62989d9eb2d37dfdb1f93a22f063635b07d51","symbol":"MIVA","decimals":18,"chainId":100,"name":"Minerva Wallet SuperToken","coinKey":"MIVA","priceUSD":"0.04547537276751318","logoURI":""},"amount":"500000000000000","amountUSD":"0.00","included":true}],"gasCosts":[{"type":"SEND","price":"1260000000","estimate":"140000","limit":"175000","amount":"176400000000000","amountUSD":"0.00","token":{"address":"0x0000000000000000000000000000000000000000","symbol":"xDai","decimals":18,"chainId":100,"name":"xDai","coinKey":"xDai","priceUSD":"1","logoURI":"https://static.debank.com/image/xdai_token/logo_url/xdai/1207e67652b691ef3bfe04f89f4b5362.png"}}],"data":{"bid":{"user":"0x53F68B2186E4a4aB4dD976eD32de68db45BA360b","router":"0xeE2Ef40F688607CB23618d9312d62392786d13EB","initiator":"0x53F68B2186E4a4aB4dD976eD32de68db45BA360b","sendingChainId":100,"sendingAssetId":"0x63e62989d9eb2d37dfdb1f93a22f063635b07d51","amount":"1000000000000000000","receivingChainId":137,"receivingAssetId":"0xc0b2983a17573660053beeed6fdb1053107cf387","amountReceived":"999500000000000000","receivingAddress":"0x10fBFF9b9450D3A2d9d1612d6dE3726fACD8809E","transactionId":"0x48f0a2f93b0d0a9dab992d07c46bca38516c945101e8f8e08ca42af05b9e6aa9","expiry":1643364189,"callDataHash":"0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","callTo":"0x0000000000000000000000000000000000000000","encryptedCallData":"0x","sendingChainTxManagerAddress":"0x115909BDcbaB21954bEb4ab65FC2aBEE9866fa93","receivingChainTxManagerAddress":"0x6090De2EC76eb1Dc3B5d632734415c93c44Fd113","bidExpiry":1643105290},"gasFeeInReceivingToken":"0","totalFee":"500000000000000","metaTxRelayerFee":"0","routerFee":"500000000000000"}},"integrator":"fee-demo"},"uniqueKey":"","typeLabel":"Root Type for Step · object"},"examples":{"StepRequestExample":{"title":"StepRequestExample","value":{"id":"a8dc011a-f52d-4492-9e99-21de64b5453a","type":"lifi","tool":"1inch","toolDetails":{"key":"1inch","logoURI":"https://raw.githubusercontent.com/lifinance/types/main/src/assets/icons/exchanges/oneinch.svg","name":"1inch"},"action":{"fromChainId":100,"toChainId":100,"fromToken":{"address":"0x0000000000000000000000000000000000000000","symbol":"xDai","decimals":18,"chainId":100,"name":"xDai","coinKey":"xDai","priceUSD":"1","logoURI":"https://static.debank.com/image/xdai_token/logo_url/xdai/1207e67652b691ef3bfe04f89f4b5362.png"},"toToken":{"name":"Minerva Wallet SuperToken","symbol":"MIVA","coinKey":"MIVA","decimals":18,"chainId":100,"priceUSD":"1","logoURI":"https://minerva.digital/i/MIVA-Token_200x200.png","address":"0x63e62989d9eb2d37dfdb1f93a22f063635b07d51"},"fromAmount":"1000000000000000000","slippage":0.003,"fromAddress":"0x552008c0f6870c2f77e5cC1d2eb9bdff03e30Ea0","toAddress":"0x552008c0f6870c2f77e5cC1d2eb9bdff03e30Ea0"},"estimate":{"fromAmount":"1000000000000000000","toAmount":"21922914496086353975","toAmountMin":"21265227061203763356","tool":"1inch","executionDuration":30,"approvalAddress":"0x1111111254fb6c44bac0bed2854e76f90643097d","feeCosts":[],"gasCosts":[{"type":"SEND","price":"1000000000","estimate":"252364","limit":"315455","amount":"252364000000000","amountUSD":"0.00","token":{"address":"0x0000000000000000000000000000000000000000","symbol":"xDai","decimals":18,"chainId":100,"name":"xDai","coinKey":"xDai","priceUSD":"1","logoURI":"https://static.debank.com/image/xdai_token/logo_url/xdai/1207e67652b691ef3bfe04f89f4b5362.png"}}]},"integrator":"fee-demo","includedSteps":[{"id":"a8dc011a-f52d-4492-9e99-21de64b5453a","type":"swap","tool":"1inch","toolDetails":{"key":"1inch","logoURI":"https://raw.githubusercontent.com/lifinance/types/main/src/assets/icons/exchanges/oneinch.svg","name":"1inch"},"action":{"fromChainId":100,"toChainId":100,"fromToken":{"address":"0x0000000000000000000000000000000000000000","symbol":"xDai","decimals":18,"chainId":100,"name":"xDai","coinKey":"xDai","priceUSD":"1","logoURI":"https://static.debank.com/image/xdai_token/logo_url/xdai/1207e67652b691ef3bfe04f89f4b5362.png"},"toToken":{"name":"Minerva Wallet SuperToken","symbol":"MIVA","coinKey":"MIVA","decimals":18,"chainId":100,"priceUSD":"1","logoURI":"https://minerva.digital/i/MIVA-Token_200x200.png","address":"0x63e62989d9eb2d37dfdb1f93a22f063635b07d51"},"fromAmount":"1000000000000000000","slippage":0.003,"fromAddress":"0x552008c0f6870c2f77e5cC1d2eb9bdff03e30Ea0","toAddress":"0x552008c0f6870c2f77e5cC1d2eb9bdff03e30Ea0"},"estimate":{"fromAmount":"1000000000000000000","toAmount":"21922914496086353975","toAmountMin":"21265227061203763356","tool":"1inch","executionDuration":30,"approvalAddress":"0x1111111254fb6c44bac0bed2854e76f90643097d","feeCosts":[],"gasCosts":[{"type":"SEND","price":"1000000000","estimate":"252364","limit":"315455","amount":"252364000000000","amountUSD":"0.00","token":{"address":"0x0000000000000000000000000000000000000000","symbol":"xDai","decimals":18,"chainId":100,"name":"xDai","coinKey":"xDai","priceUSD":"1","logoURI":"https://static.debank.com/image/xdai_token/logo_url/xdai/1207e67652b691ef3bfe04f89f4b5362.png"}}]}}]}}},"exampleType":"examples"}},"required":true,"exampleType":"examples"},"responses":{"f6d39cf3-94db-456a-9637-ca204ebb726c":{"content":{"application/json":{"schema":{"title":"Root Type for Step","description":"Object that represents one step of a `Route`","required":["id","action","tool","type"],"type":"object","properties":{"id":{"description":"Unique identifier of the step","type":"string","isRequired":true,"uniqueKey":"id","typeLabel":"string"},"type":{"description":"The type of the step. `swap` executes a DEX swap on a single chain, `cross` bridges assets between chains, `lifi` runs LiFi's internal multi-action logic, and `protocol` represents protocol-level actions such as fee collection or vault interactions executed inside LiFi managed contracts.","enum":["swap","cross","lifi","protocol"],"type":"string","isRequired":true,"uniqueKey":"type","typeLabel":"enum\u003cstring>"},"tool":{"description":"The tool used for this step. E.g. `relay`","type":"string","isRequired":true,"uniqueKey":"tool","typeLabel":"string"},"action":{"title":"Root Type for Action","description":"The action of the 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":"action.fromChainId","typeLabel":"number\u003cnumber>"},"fromAmount":{"description":"The amount that should be transferred including all decimals","type":"string","isRequired":true,"uniqueKey":"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":"action.fromToken.address","typeLabel":"string"},"decimals":{"format":"number","description":"Number of decimals the token uses","type":"number","isRequired":true,"uniqueKey":"action.fromToken.decimals","typeLabel":"number\u003cnumber>"},"symbol":{"description":"Symbol of the token","type":"string","isRequired":true,"uniqueKey":"action.fromToken.symbol","typeLabel":"string"},"chainId":{"format":"number","description":"Id of the token's chain","type":"number","isRequired":true,"uniqueKey":"action.fromToken.chainId","typeLabel":"number\u003cnumber>"},"name":{"description":"Name of the token","type":"string","isRequired":true,"uniqueKey":"action.fromToken.name","typeLabel":"string"},"coinKey":{"description":"Identifier for the token","type":"string","uniqueKey":"action.fromToken.coinKey","typeLabel":"string"},"logoURI":{"description":"Logo of the token","type":"string","uniqueKey":"action.fromToken.logoURI","typeLabel":"string"},"priceUSD":{"description":"Token price in USD","type":"string","uniqueKey":"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":"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":"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":"action.toToken.address","typeLabel":"string"},"decimals":{"format":"number","description":"Number of decimals the token uses","type":"number","isRequired":true,"uniqueKey":"action.toToken.decimals","typeLabel":"number\u003cnumber>"},"symbol":{"description":"Symbol of the token","type":"string","isRequired":true,"uniqueKey":"action.toToken.symbol","typeLabel":"string"},"chainId":{"format":"number","description":"Id of the token's chain","type":"number","isRequired":true,"uniqueKey":"action.toToken.chainId","typeLabel":"number\u003cnumber>"},"name":{"description":"Name of the token","type":"string","isRequired":true,"uniqueKey":"action.toToken.name","typeLabel":"string"},"coinKey":{"description":"Identifier for the token","type":"string","uniqueKey":"action.toToken.coinKey","typeLabel":"string"},"logoURI":{"description":"Logo of the token","type":"string","uniqueKey":"action.toToken.logoURI","typeLabel":"string"},"priceUSD":{"description":"Token price in USD","type":"string","uniqueKey":"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":"action.toToken","typeLabel":"Root Type for Token · object"},"slippage":{"format":"double","description":"The maximum allowed slippage","type":"number","uniqueKey":"action.slippage","typeLabel":"number\u003cdouble>"},"fromAddress":{"description":"The sending wallet address","type":"string","uniqueKey":"action.fromAddress","typeLabel":"string"},"toAddress":{"description":"The receiving wallet address","type":"string","uniqueKey":"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":"action","typeLabel":"Root Type for Action · object"},"toolDetails":{"description":"The details of the tool used for this step. E.g. `relay`","type":"object","properties":{"key":{"description":"The tool key","type":"string","uniqueKey":"toolDetails.key","typeLabel":"string"},"name":{"description":"The tool name","type":"string","uniqueKey":"toolDetails.name","typeLabel":"string"},"logoURI":{"description":"The tool logo URL","type":"string","uniqueKey":"toolDetails.logoURI","typeLabel":"string"}},"uniqueKey":"toolDetails","typeLabel":"object"},"estimate":{"title":"Root Type for Estimate","description":"The estimation for the step","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":"estimate.tool","typeLabel":"string"},"fromAmount":{"description":"The amount that should be transferred including all decimals","type":"string","isRequired":true,"uniqueKey":"estimate.fromAmount","typeLabel":"string"},"toAmount":{"description":"The estimated resulting amount of the `toToken` including all decimals","type":"string","isRequired":true,"uniqueKey":"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":"estimate.toAmountMin","typeLabel":"string"},"approvalAddress":{"description":"The contract address for the approval","type":"string","isRequired":true,"uniqueKey":"estimate.approvalAddress","typeLabel":"string"},"executionDuration":{"description":"The time needed to complete the following step","type":"number","isRequired":true,"uniqueKey":"estimate.executionDuration","typeLabel":"number"},"fromAmountUSD":{"description":"The amount that should be transferred in USD equivalent","type":"string","uniqueKey":"estimate.fromAmountUSD","typeLabel":"string"},"toAmountUSD":{"description":"The estimated resulting amount of the `toToken` in USD equivalent","type":"string","uniqueKey":"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":"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":"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":"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":"estimate.feeCosts.items.[INDEX].token.address","typeLabel":"string"},"decimals":{"format":"number","description":"Number of decimals the token uses","type":"number","isRequired":true,"uniqueKey":"estimate.feeCosts.items.[INDEX].token.decimals","typeLabel":"number\u003cnumber>"},"symbol":{"description":"Symbol of the token","type":"string","isRequired":true,"uniqueKey":"estimate.feeCosts.items.[INDEX].token.symbol","typeLabel":"string"},"chainId":{"format":"number","description":"Id of the token's chain","type":"number","isRequired":true,"uniqueKey":"estimate.feeCosts.items.[INDEX].token.chainId","typeLabel":"number\u003cnumber>"},"name":{"description":"Name of the token","type":"string","isRequired":true,"uniqueKey":"estimate.feeCosts.items.[INDEX].token.name","typeLabel":"string"},"coinKey":{"description":"Identifier for the token","type":"string","uniqueKey":"estimate.feeCosts.items.[INDEX].token.coinKey","typeLabel":"string"},"logoURI":{"description":"Logo of the token","type":"string","uniqueKey":"estimate.feeCosts.items.[INDEX].token.logoURI","typeLabel":"string"},"priceUSD":{"description":"Token price in USD","type":"string","uniqueKey":"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":"estimate.feeCosts.items.[INDEX].token","typeLabel":"Root Type for Token · object"},"amountUSD":{"description":"The amount of fees in USD","type":"string","isRequired":true,"uniqueKey":"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":"estimate.feeCosts.items.[INDEX].included","typeLabel":"boolean"},"description":{"description":"Description of the fee costs","type":"string","uniqueKey":"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":"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":"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":"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":"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":"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":"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":"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":"estimate.feeCosts.items.[INDEX].feeSplit.recipients.items.[INDEX].walletAddress","typeLabel":"string"}},"uniqueKey":"estimate.feeCosts.items.[INDEX].feeSplit.recipients.items.[INDEX]","typeLabel":"Root Type for FeeRecipient · object"},"uniqueKey":"estimate.feeCosts.items.[INDEX].feeSplit.recipients","typeLabel":"Root Type for FeeRecipient · object[]"}},"uniqueKey":"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":"estimate.feeCosts.items.[INDEX]","typeLabel":"Root Type for FeeCost · object"},"uniqueKey":"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":"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":"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":"estimate.gasCosts.items.[INDEX].token.address","typeLabel":"string"},"decimals":{"format":"number","description":"Number of decimals the token uses","type":"number","isRequired":true,"uniqueKey":"estimate.gasCosts.items.[INDEX].token.decimals","typeLabel":"number\u003cnumber>"},"symbol":{"description":"Symbol of the token","type":"string","isRequired":true,"uniqueKey":"estimate.gasCosts.items.[INDEX].token.symbol","typeLabel":"string"},"chainId":{"format":"number","description":"Id of the token's chain","type":"number","isRequired":true,"uniqueKey":"estimate.gasCosts.items.[INDEX].token.chainId","typeLabel":"number\u003cnumber>"},"name":{"description":"Name of the token","type":"string","isRequired":true,"uniqueKey":"estimate.gasCosts.items.[INDEX].token.name","typeLabel":"string"},"coinKey":{"description":"Identifier for the token","type":"string","uniqueKey":"estimate.gasCosts.items.[INDEX].token.coinKey","typeLabel":"string"},"logoURI":{"description":"Logo of the token","type":"string","uniqueKey":"estimate.gasCosts.items.[INDEX].token.logoURI","typeLabel":"string"},"priceUSD":{"description":"Token price in USD","type":"string","uniqueKey":"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":"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":"estimate.gasCosts.items.[INDEX].price","typeLabel":"string"},"estimate":{"description":"Estimated units of gas the transaction consumes","type":"string","uniqueKey":"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":"estimate.gasCosts.items.[INDEX].limit","typeLabel":"string"},"amountUSD":{"description":"Amount of the gas cost in USD","type":"string","uniqueKey":"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":"estimate.gasCosts.items.[INDEX]","typeLabel":"Root Type for GasCost · object"},"uniqueKey":"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":"estimate.data.bid.user","typeLabel":"string"},"router":{"type":"string","uniqueKey":"estimate.data.bid.router","typeLabel":"string"},"initiator":{"type":"string","uniqueKey":"estimate.data.bid.initiator","typeLabel":"string"},"sendingChainId":{"format":"number","type":"number","uniqueKey":"estimate.data.bid.sendingChainId","typeLabel":"number\u003cnumber>"},"sendingAssetId":{"type":"string","uniqueKey":"estimate.data.bid.sendingAssetId","typeLabel":"string"},"amount":{"type":"string","uniqueKey":"estimate.data.bid.amount","typeLabel":"string"},"receivingChainId":{"format":"number","type":"number","uniqueKey":"estimate.data.bid.receivingChainId","typeLabel":"number\u003cnumber>"},"receivingAssetId":{"type":"string","uniqueKey":"estimate.data.bid.receivingAssetId","typeLabel":"string"},"amountReceived":{"type":"string","uniqueKey":"estimate.data.bid.amountReceived","typeLabel":"string"},"receivingAddress":{"type":"string","uniqueKey":"estimate.data.bid.receivingAddress","typeLabel":"string"},"transactionId":{"type":"string","uniqueKey":"estimate.data.bid.transactionId","typeLabel":"string"},"expiry":{"format":"number","type":"number","uniqueKey":"estimate.data.bid.expiry","typeLabel":"number\u003cnumber>"},"callDataHash":{"type":"string","uniqueKey":"estimate.data.bid.callDataHash","typeLabel":"string"},"callTo":{"type":"string","uniqueKey":"estimate.data.bid.callTo","typeLabel":"string"},"encryptedCallData":{"type":"string","uniqueKey":"estimate.data.bid.encryptedCallData","typeLabel":"string"},"sendingChainTxManagerAddress":{"type":"string","uniqueKey":"estimate.data.bid.sendingChainTxManagerAddress","typeLabel":"string"},"receivingChainTxManagerAddress":{"type":"string","uniqueKey":"estimate.data.bid.receivingChainTxManagerAddress","typeLabel":"string"},"bidExpiry":{"format":"number","type":"number","uniqueKey":"estimate.data.bid.bidExpiry","typeLabel":"number\u003cnumber>"}},"uniqueKey":"estimate.data.bid","typeLabel":"object"},"bidSignature":{"type":"string","uniqueKey":"estimate.data.bidSignature","typeLabel":"string"},"gasFeeInReceivingToken":{"type":"string","uniqueKey":"estimate.data.gasFeeInReceivingToken","typeLabel":"string"},"totalFee":{"type":"string","uniqueKey":"estimate.data.totalFee","typeLabel":"string"},"metaTxRelayerFee":{"type":"string","uniqueKey":"estimate.data.metaTxRelayerFee","typeLabel":"string"},"routerFee":{"type":"string","uniqueKey":"estimate.data.routerFee","typeLabel":"string"}},"uniqueKey":"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"}}]},"uniqueKey":"estimate","typeLabel":"Root Type for Estimate · object"},"routeSlippage":{"title":"Root Type for RouteSlippageCommitment","description":"Present only when the route was requested with `slippageScope=route`. The route-wide slippage commitment: post it back unchanged with the step to `/v1/advanced/stepTransaction`.","required":["scope","slippage","referenceToAmount","minimumToAmount","toChainId","toTokenAddress","settlement","checkpoints"],"type":"object","properties":{"scope":{"enum":["route"],"type":"string","isRequired":true,"uniqueKey":"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":"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":"routeSlippage.referenceToAmount","typeLabel":"string"},"minimumToAmount":{"description":"The floor, in base units of the destination token. Also returned as `toAmountMin`.","type":"string","isRequired":true,"uniqueKey":"routeSlippage.minimumToAmount","typeLabel":"string"},"toChainId":{"description":"The chain the floor applies to","type":"integer","isRequired":true,"uniqueKey":"routeSlippage.toChainId","typeLabel":"integer"},"toTokenAddress":{"description":"The token the floor applies to","type":"string","isRequired":true,"uniqueKey":"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":"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":"routeSlippage.checkpoints.items.[INDEX].stepId","typeLabel":"string"},"chainId":{"type":"integer","isRequired":true,"uniqueKey":"routeSlippage.checkpoints.items.[INDEX].chainId","typeLabel":"integer"},"tokenAddress":{"type":"string","isRequired":true,"uniqueKey":"routeSlippage.checkpoints.items.[INDEX].tokenAddress","typeLabel":"string"},"minimumAmount":{"type":"string","isRequired":true,"uniqueKey":"routeSlippage.checkpoints.items.[INDEX].minimumAmount","typeLabel":"string"}},"uniqueKey":"routeSlippage.checkpoints.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"routeSlippage.checkpoints","typeLabel":"object[]"},"toAddress":{"description":"The recipient the delivery is measured at","type":"string","uniqueKey":"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":"routeSlippage","typeLabel":"Root Type for RouteSlippageCommitment · object"},"integrator":{"description":"A string containing tracking information about the integrator of the API","type":"string","uniqueKey":"integrator","typeLabel":"string"},"includedSteps":{"type":"array","items":{"title":"Root Type for Internal Step","description":"Object that represents one step of an `IncludedSteps` array in `Route`","required":["id","action","estimate","tool","type","toolDetails"],"type":"object","properties":{"id":{"description":"Unique identifier of the step","type":"string","isRequired":true,"uniqueKey":"includedSteps.items.[INDEX].id","typeLabel":"string"},"type":{"description":"The type of the step. `swap` executes a DEX swap on a single chain, `cross` bridges assets between chains, `lifi` runs LiFi's internal multi-action logic, and `protocol` represents protocol-level actions such as fee collection or vault interactions executed inside LiFi managed contracts.","enum":["swap","cross","lifi","protocol"],"type":"string","isRequired":true,"uniqueKey":"includedSteps.items.[INDEX].type","typeLabel":"enum\u003cstring>"},"tool":{"description":"The tool used for this step. E.g. `allbridge`","type":"string","isRequired":true,"uniqueKey":"includedSteps.items.[INDEX].tool","typeLabel":"string"},"toolDetails":{"description":"The details of the tool used for this step. E.g. `allbridge`","type":"object","properties":{"key":{"description":"The tool key","type":"string","uniqueKey":"includedSteps.items.[INDEX].toolDetails.key","typeLabel":"string"},"name":{"description":"The tool name","type":"string","uniqueKey":"includedSteps.items.[INDEX].toolDetails.name","typeLabel":"string"},"logoURI":{"description":"The tool logo URL","type":"string","uniqueKey":"includedSteps.items.[INDEX].toolDetails.logoURI","typeLabel":"string"}},"isRequired":true,"uniqueKey":"includedSteps.items.[INDEX].toolDetails","typeLabel":"object"},"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":"includedSteps.items.[INDEX].action.fromChainId","typeLabel":"number\u003cnumber>"},"fromAmount":{"description":"The amount that should be transferred including all decimals","type":"string","isRequired":true,"uniqueKey":"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":"includedSteps.items.[INDEX].action.fromToken.address","typeLabel":"string"},"decimals":{"format":"number","description":"Number of decimals the token uses","type":"number","isRequired":true,"uniqueKey":"includedSteps.items.[INDEX].action.fromToken.decimals","typeLabel":"number\u003cnumber>"},"symbol":{"description":"Symbol of the token","type":"string","isRequired":true,"uniqueKey":"includedSteps.items.[INDEX].action.fromToken.symbol","typeLabel":"string"},"chainId":{"format":"number","description":"Id of the token's chain","type":"number","isRequired":true,"uniqueKey":"includedSteps.items.[INDEX].action.fromToken.chainId","typeLabel":"number\u003cnumber>"},"name":{"description":"Name of the token","type":"string","isRequired":true,"uniqueKey":"includedSteps.items.[INDEX].action.fromToken.name","typeLabel":"string"},"coinKey":{"description":"Identifier for the token","type":"string","uniqueKey":"includedSteps.items.[INDEX].action.fromToken.coinKey","typeLabel":"string"},"logoURI":{"description":"Logo of the token","type":"string","uniqueKey":"includedSteps.items.[INDEX].action.fromToken.logoURI","typeLabel":"string"},"priceUSD":{"description":"Token price in USD","type":"string","uniqueKey":"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":"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":"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":"includedSteps.items.[INDEX].action.toToken.address","typeLabel":"string"},"decimals":{"format":"number","description":"Number of decimals the token uses","type":"number","isRequired":true,"uniqueKey":"includedSteps.items.[INDEX].action.toToken.decimals","typeLabel":"number\u003cnumber>"},"symbol":{"description":"Symbol of the token","type":"string","isRequired":true,"uniqueKey":"includedSteps.items.[INDEX].action.toToken.symbol","typeLabel":"string"},"chainId":{"format":"number","description":"Id of the token's chain","type":"number","isRequired":true,"uniqueKey":"includedSteps.items.[INDEX].action.toToken.chainId","typeLabel":"number\u003cnumber>"},"name":{"description":"Name of the token","type":"string","isRequired":true,"uniqueKey":"includedSteps.items.[INDEX].action.toToken.name","typeLabel":"string"},"coinKey":{"description":"Identifier for the token","type":"string","uniqueKey":"includedSteps.items.[INDEX].action.toToken.coinKey","typeLabel":"string"},"logoURI":{"description":"Logo of the token","type":"string","uniqueKey":"includedSteps.items.[INDEX].action.toToken.logoURI","typeLabel":"string"},"priceUSD":{"description":"Token price in USD","type":"string","uniqueKey":"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":"includedSteps.items.[INDEX].action.toToken","typeLabel":"Root Type for Token · object"},"slippage":{"format":"double","description":"The maximum allowed slippage","type":"number","uniqueKey":"includedSteps.items.[INDEX].action.slippage","typeLabel":"number\u003cdouble>"},"fromAddress":{"description":"The sending wallet address","type":"string","uniqueKey":"includedSteps.items.[INDEX].action.fromAddress","typeLabel":"string"},"toAddress":{"description":"The receiving wallet address","type":"string","uniqueKey":"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":"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":"includedSteps.items.[INDEX].estimate.tool","typeLabel":"string"},"fromAmount":{"description":"The amount that should be transferred including all decimals","type":"string","isRequired":true,"uniqueKey":"includedSteps.items.[INDEX].estimate.fromAmount","typeLabel":"string"},"toAmount":{"description":"The estimated resulting amount of the `toToken` including all decimals","type":"string","isRequired":true,"uniqueKey":"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":"includedSteps.items.[INDEX].estimate.toAmountMin","typeLabel":"string"},"approvalAddress":{"description":"The contract address for the approval","type":"string","isRequired":true,"uniqueKey":"includedSteps.items.[INDEX].estimate.approvalAddress","typeLabel":"string"},"executionDuration":{"description":"The time needed to complete the following step","type":"number","isRequired":true,"uniqueKey":"includedSteps.items.[INDEX].estimate.executionDuration","typeLabel":"number"},"fromAmountUSD":{"description":"The amount that should be transferred in USD equivalent","type":"string","uniqueKey":"includedSteps.items.[INDEX].estimate.fromAmountUSD","typeLabel":"string"},"toAmountUSD":{"description":"The estimated resulting amount of the `toToken` in USD equivalent","type":"string","uniqueKey":"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":"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":"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":"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":"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":"includedSteps.items.[INDEX].estimate.feeCosts.items.[INDEX].token.decimals","typeLabel":"number\u003cnumber>"},"symbol":{"description":"Symbol of the token","type":"string","isRequired":true,"uniqueKey":"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":"includedSteps.items.[INDEX].estimate.feeCosts.items.[INDEX].token.chainId","typeLabel":"number\u003cnumber>"},"name":{"description":"Name of the token","type":"string","isRequired":true,"uniqueKey":"includedSteps.items.[INDEX].estimate.feeCosts.items.[INDEX].token.name","typeLabel":"string"},"coinKey":{"description":"Identifier for the token","type":"string","uniqueKey":"includedSteps.items.[INDEX].estimate.feeCosts.items.[INDEX].token.coinKey","typeLabel":"string"},"logoURI":{"description":"Logo of the token","type":"string","uniqueKey":"includedSteps.items.[INDEX].estimate.feeCosts.items.[INDEX].token.logoURI","typeLabel":"string"},"priceUSD":{"description":"Token price in USD","type":"string","uniqueKey":"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":"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":"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":"includedSteps.items.[INDEX].estimate.feeCosts.items.[INDEX].included","typeLabel":"boolean"},"description":{"description":"Description of the fee costs","type":"string","uniqueKey":"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":"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":"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":"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":"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":"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":"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":"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":"includedSteps.items.[INDEX].estimate.feeCosts.items.[INDEX].feeSplit.recipients.items.[INDEX].walletAddress","typeLabel":"string"}},"uniqueKey":"includedSteps.items.[INDEX].estimate.feeCosts.items.[INDEX].feeSplit.recipients.items.[INDEX]","typeLabel":"Root Type for FeeRecipient · object"},"uniqueKey":"includedSteps.items.[INDEX].estimate.feeCosts.items.[INDEX].feeSplit.recipients","typeLabel":"Root Type for FeeRecipient · object[]"}},"uniqueKey":"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":"includedSteps.items.[INDEX].estimate.feeCosts.items.[INDEX]","typeLabel":"Root Type for FeeCost · object"},"uniqueKey":"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":"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":"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":"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":"includedSteps.items.[INDEX].estimate.gasCosts.items.[INDEX].token.decimals","typeLabel":"number\u003cnumber>"},"symbol":{"description":"Symbol of the token","type":"string","isRequired":true,"uniqueKey":"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":"includedSteps.items.[INDEX].estimate.gasCosts.items.[INDEX].token.chainId","typeLabel":"number\u003cnumber>"},"name":{"description":"Name of the token","type":"string","isRequired":true,"uniqueKey":"includedSteps.items.[INDEX].estimate.gasCosts.items.[INDEX].token.name","typeLabel":"string"},"coinKey":{"description":"Identifier for the token","type":"string","uniqueKey":"includedSteps.items.[INDEX].estimate.gasCosts.items.[INDEX].token.coinKey","typeLabel":"string"},"logoURI":{"description":"Logo of the token","type":"string","uniqueKey":"includedSteps.items.[INDEX].estimate.gasCosts.items.[INDEX].token.logoURI","typeLabel":"string"},"priceUSD":{"description":"Token price in USD","type":"string","uniqueKey":"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":"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":"includedSteps.items.[INDEX].estimate.gasCosts.items.[INDEX].price","typeLabel":"string"},"estimate":{"description":"Estimated units of gas the transaction consumes","type":"string","uniqueKey":"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":"includedSteps.items.[INDEX].estimate.gasCosts.items.[INDEX].limit","typeLabel":"string"},"amountUSD":{"description":"Amount of the gas cost in USD","type":"string","uniqueKey":"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":"includedSteps.items.[INDEX].estimate.gasCosts.items.[INDEX]","typeLabel":"Root Type for GasCost · object"},"uniqueKey":"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":"includedSteps.items.[INDEX].estimate.data.bid.user","typeLabel":"string"},"router":{"type":"string","uniqueKey":"includedSteps.items.[INDEX].estimate.data.bid.router","typeLabel":"string"},"initiator":{"type":"string","uniqueKey":"includedSteps.items.[INDEX].estimate.data.bid.initiator","typeLabel":"string"},"sendingChainId":{"format":"number","type":"number","uniqueKey":"includedSteps.items.[INDEX].estimate.data.bid.sendingChainId","typeLabel":"number\u003cnumber>"},"sendingAssetId":{"type":"string","uniqueKey":"includedSteps.items.[INDEX].estimate.data.bid.sendingAssetId","typeLabel":"string"},"amount":{"type":"string","uniqueKey":"includedSteps.items.[INDEX].estimate.data.bid.amount","typeLabel":"string"},"receivingChainId":{"format":"number","type":"number","uniqueKey":"includedSteps.items.[INDEX].estimate.data.bid.receivingChainId","typeLabel":"number\u003cnumber>"},"receivingAssetId":{"type":"string","uniqueKey":"includedSteps.items.[INDEX].estimate.data.bid.receivingAssetId","typeLabel":"string"},"amountReceived":{"type":"string","uniqueKey":"includedSteps.items.[INDEX].estimate.data.bid.amountReceived","typeLabel":"string"},"receivingAddress":{"type":"string","uniqueKey":"includedSteps.items.[INDEX].estimate.data.bid.receivingAddress","typeLabel":"string"},"transactionId":{"type":"string","uniqueKey":"includedSteps.items.[INDEX].estimate.data.bid.transactionId","typeLabel":"string"},"expiry":{"format":"number","type":"number","uniqueKey":"includedSteps.items.[INDEX].estimate.data.bid.expiry","typeLabel":"number\u003cnumber>"},"callDataHash":{"type":"string","uniqueKey":"includedSteps.items.[INDEX].estimate.data.bid.callDataHash","typeLabel":"string"},"callTo":{"type":"string","uniqueKey":"includedSteps.items.[INDEX].estimate.data.bid.callTo","typeLabel":"string"},"encryptedCallData":{"type":"string","uniqueKey":"includedSteps.items.[INDEX].estimate.data.bid.encryptedCallData","typeLabel":"string"},"sendingChainTxManagerAddress":{"type":"string","uniqueKey":"includedSteps.items.[INDEX].estimate.data.bid.sendingChainTxManagerAddress","typeLabel":"string"},"receivingChainTxManagerAddress":{"type":"string","uniqueKey":"includedSteps.items.[INDEX].estimate.data.bid.receivingChainTxManagerAddress","typeLabel":"string"},"bidExpiry":{"format":"number","type":"number","uniqueKey":"includedSteps.items.[INDEX].estimate.data.bid.bidExpiry","typeLabel":"number\u003cnumber>"}},"uniqueKey":"includedSteps.items.[INDEX].estimate.data.bid","typeLabel":"object"},"bidSignature":{"type":"string","uniqueKey":"includedSteps.items.[INDEX].estimate.data.bidSignature","typeLabel":"string"},"gasFeeInReceivingToken":{"type":"string","uniqueKey":"includedSteps.items.[INDEX].estimate.data.gasFeeInReceivingToken","typeLabel":"string"},"totalFee":{"type":"string","uniqueKey":"includedSteps.items.[INDEX].estimate.data.totalFee","typeLabel":"string"},"metaTxRelayerFee":{"type":"string","uniqueKey":"includedSteps.items.[INDEX].estimate.data.metaTxRelayerFee","typeLabel":"string"},"routerFee":{"type":"string","uniqueKey":"includedSteps.items.[INDEX].estimate.data.routerFee","typeLabel":"string"}},"uniqueKey":"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":"includedSteps.items.[INDEX].estimate","typeLabel":"Root Type for Estimate · object"}},"uniqueKey":"includedSteps.items.[INDEX]","typeLabel":"Root Type for Internal Step · object"},"uniqueKey":"includedSteps","typeLabel":"Root Type for Internal Step · object[]"},"referrer":{"description":"A string containing tracking information about the referrer of the integrator","type":"string","uniqueKey":"referrer","typeLabel":"string"},"execution":{"description":"An objection containing status information about the execution","uniqueKey":"execution","typeLabel":"any"},"transactionRequest":{"description":"An ether.js TransactionRequest that can be triggered using a wallet provider. (https://docs.ethers.io/v5/api/providers/types/#providers-TransactionRequest) Solana responses also include svmTransactionVersion (0 or 1), the version actually built. This may be lower than the requested maximum.","type":"object","properties":{"svmTransactionVersion":{"description":"Solana transaction version actually built; Jito always uses 0.","type":"number","enum":[0,1],"uniqueKey":"transactionRequest.svmTransactionVersion","typeLabel":"enum\u003cnumber>"}},"uniqueKey":"transactionRequest","typeLabel":"object"},"stepSimulation":{"title":"Step simulation metadata","description":"Metadata about step-level transaction simulation during stepTransaction. Present on EVM and Solana stepTransaction responses when the simulation runs (on EVM, when gas limits are resolved).","required":["status","gasSource"],"type":"object","properties":{"status":{"description":"Whether and how step simulation was attempted","type":"string","enum":["success","skipped","not-attempted","failure"],"isRequired":true,"uniqueKey":"stepSimulation.status","typeLabel":"enum\u003cstring>"},"gasSource":{"description":"Source used for the SEND gas limit on the returned transaction","type":"string","enum":["simulation","tool"],"isRequired":true,"uniqueKey":"stepSimulation.gasSource","typeLabel":"enum\u003cstring>"},"disabledReason":{"description":"Present when status is not-attempted","type":"string","enum":["globally_disabled","skip_requested","simulation_unavailable","chain_not_supported"],"uniqueKey":"stepSimulation.disabledReason","typeLabel":"enum\u003cstring>"},"skipReason":{"description":"Present when status is skipped","type":"string","uniqueKey":"stepSimulation.skipReason","typeLabel":"string"},"revertReason":{"description":"Present when status is failure and dry-run mode is enabled","type":"string","uniqueKey":"stepSimulation.revertReason","typeLabel":"string"}},"uniqueKey":"stepSimulation","typeLabel":"Step simulation metadata · object"}},"example":{"id":"0x48f0a2f93b0d0a9dab992d07c46bca38516c945101e8f8e08ca42af05b9e6aa9","type":"cross","tool":"relay","action":{"fromChainId":100,"toChainId":137,"fromToken":{"address":"0x63e62989d9eb2d37dfdb1f93a22f063635b07d51","symbol":"MIVA","decimals":18,"chainId":100,"name":"Minerva Wallet SuperToken","coinKey":"MIVA","priceUSD":"0.04547537276751318","logoURI":""},"toToken":{"address":"0xc0b2983a17573660053beeed6fdb1053107cf387","symbol":"MIVA","decimals":18,"chainId":137,"name":"Minerva Wallet SuperToken","coinKey":"MIVA","priceUSD":"0","logoURI":""},"fromAmount":"1000000000000000000","slippage":0.003},"estimate":{"fromAmount":"1000000000000000000","toAmount":"999500000000000000","toAmountMin":"999500000000000000","approvalAddress":"0x115909BDcbaB21954bEb4ab65FC2aBEE9866fa93","feeCosts":[{"name":"Gas Fee","description":"Covers gas expense for sending funds to user on receiving chain.","percentage":"0","token":{"address":"0x63e62989d9eb2d37dfdb1f93a22f063635b07d51","symbol":"MIVA","decimals":18,"chainId":100,"name":"Minerva Wallet SuperToken","coinKey":"MIVA","priceUSD":"0.04547537276751318","logoURI":""},"amount":"0","amountUSD":"0.00","included":true},{"name":"Relay Fee","description":"Covers gas expense for claiming user funds on receiving chain.","percentage":"0","token":{"address":"0x63e62989d9eb2d37dfdb1f93a22f063635b07d51","symbol":"MIVA","decimals":18,"chainId":100,"name":"Minerva Wallet SuperToken","coinKey":"MIVA","priceUSD":"0.04547537276751318","logoURI":""},"amount":"0","amountUSD":"0.00","included":true},{"name":"Router Fee","description":"Router service fee.","percentage":"0.0005","token":{"address":"0x63e62989d9eb2d37dfdb1f93a22f063635b07d51","symbol":"MIVA","decimals":18,"chainId":100,"name":"Minerva Wallet SuperToken","coinKey":"MIVA","priceUSD":"0.04547537276751318","logoURI":""},"amount":"500000000000000","amountUSD":"0.00","included":true}],"gasCosts":[{"type":"SEND","price":"1260000000","estimate":"140000","limit":"175000","amount":"176400000000000","amountUSD":"0.00","token":{"address":"0x0000000000000000000000000000000000000000","symbol":"xDai","decimals":18,"chainId":100,"name":"xDai","coinKey":"xDai","priceUSD":"1","logoURI":"https://static.debank.com/image/xdai_token/logo_url/xdai/1207e67652b691ef3bfe04f89f4b5362.png"}}],"data":{"bid":{"user":"0x53F68B2186E4a4aB4dD976eD32de68db45BA360b","router":"0xeE2Ef40F688607CB23618d9312d62392786d13EB","initiator":"0x53F68B2186E4a4aB4dD976eD32de68db45BA360b","sendingChainId":100,"sendingAssetId":"0x63e62989d9eb2d37dfdb1f93a22f063635b07d51","amount":"1000000000000000000","receivingChainId":137,"receivingAssetId":"0xc0b2983a17573660053beeed6fdb1053107cf387","amountReceived":"999500000000000000","receivingAddress":"0x10fBFF9b9450D3A2d9d1612d6dE3726fACD8809E","transactionId":"0x48f0a2f93b0d0a9dab992d07c46bca38516c945101e8f8e08ca42af05b9e6aa9","expiry":1643364189,"callDataHash":"0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","callTo":"0x0000000000000000000000000000000000000000","encryptedCallData":"0x","sendingChainTxManagerAddress":"0x115909BDcbaB21954bEb4ab65FC2aBEE9866fa93","receivingChainTxManagerAddress":"0x6090De2EC76eb1Dc3B5d632734415c93c44Fd113","bidExpiry":1643105290},"gasFeeInReceivingToken":"0","totalFee":"500000000000000","metaTxRelayerFee":"0","routerFee":"500000000000000"}},"integrator":"fee-demo"},"uniqueKey":"","typeLabel":"Root Type for Step · object"},"examples":{"StepResponseExample":{"title":"StepResponseExample","value":{"id":"a8dc011a-f52d-4492-9e99-21de64b5453a","type":"lifi","tool":"1inch","toolDetails":{"key":"1inch","logoURI":"https://raw.githubusercontent.com/lifinance/types/main/src/assets/icons/exchanges/oneinch.svg","name":"1inch"},"action":{"fromChainId":100,"toChainId":100,"fromToken":{"address":"0x0000000000000000000000000000000000000000","symbol":"xDai","decimals":18,"chainId":100,"name":"xDai","coinKey":"xDai","priceUSD":"1","logoURI":"https://static.debank.com/image/xdai_token/logo_url/xdai/1207e67652b691ef3bfe04f89f4b5362.png"},"toToken":{"name":"Minerva Wallet SuperToken","symbol":"MIVA","coinKey":"MIVA","decimals":18,"chainId":100,"logoURI":"https://minerva.digital/i/MIVA-Token_200x200.png","address":"0x63e62989d9eb2d37dfdb1f93a22f063635b07d51"},"fromAmount":"1000000000000000000","slippage":0.003,"fromAddress":"0x552008c0f6870c2f77e5cC1d2eb9bdff03e30Ea0","toAddress":"0x552008c0f6870c2f77e5cC1d2eb9bdff03e30Ea0"},"estimate":{"fromAmount":"1000000000000000000","toAmount":"21922914496086353975","toAmountMin":"21265227061203763356","approvalAddress":"0x1111111254fb6c44bac0bed2854e76f90643097d","feeCosts":[],"gasCosts":[{"type":"SEND","price":"1000000000","estimate":"252364","limit":"315455","amount":"252364000000000","amountUSD":"0.00","token":{"address":"0x0000000000000000000000000000000000000000","symbol":"xDai","decimals":18,"chainId":100,"name":"xDai","coinKey":"xDai","priceUSD":"1","logoURI":"https://static.debank.com/image/xdai_token/logo_url/xdai/1207e67652b691ef3bfe04f89f4b5362.png"}}],"data":{"fromToken":{"name":"xDAI","address":"0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee","symbol":"xDAI","decimals":18,"logoURI":"https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0x6B175474E89094C44Da98b954EedeAC495271d0F/logo.png"},"toToken":{"name":"Minerva Wallet SuperToken","address":"0x63e62989d9eb2d37dfdb1f93a22f063635b07d51","symbol":"MIVA","decimals":18,"logoURI":"https://minerva.digital/i/MIVA-Token_200x200.png"},"toTokenAmount":"21922914496086353975","fromTokenAmount":"1000000000000000000","protocols":[{"name":"GNOSIS_HONEYSWAP","part":100,"fromTokenAddress":"0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee","toTokenAddress":"0x63e62989d9eb2d37dfdb1f93a22f063635b07d51"}],"estimatedGas":252364}},"integrator":"fee-demo","transactionRequest":{"from":"0x552008c0f6870c2f77e5cC1d2eb9bdff03e30Ea0","to":"0x1111111254fb6c44bac0bed2854e76f90643097d","chainId":100,"data":"0x...","value":"0x0de0b6b3a7640000","gasPrice":"0xb2d05e00","gasLimit":"0x0e9cb2"},"includedSteps":[{"id":"a8dc011a-f52d-4492-9e99-21de64b5453a","type":"swap","tool":"1inch","toolDetails":{"key":"1inch","logoURI":"https://raw.githubusercontent.com/lifinance/types/main/src/assets/icons/exchanges/oneinch.svg","name":"1inch"},"action":{"fromChainId":100,"toChainId":100,"fromToken":{"address":"0x0000000000000000000000000000000000000000","symbol":"xDai","decimals":18,"chainId":100,"name":"xDai","coinKey":"xDai","priceUSD":"1","logoURI":"https://static.debank.com/image/xdai_token/logo_url/xdai/1207e67652b691ef3bfe04f89f4b5362.png"},"toToken":{"name":"Minerva Wallet SuperToken","symbol":"MIVA","coinKey":"MIVA","decimals":18,"chainId":100,"logoURI":"https://minerva.digital/i/MIVA-Token_200x200.png","address":"0x63e62989d9eb2d37dfdb1f93a22f063635b07d51"},"fromAmount":"1000000000000000000","slippage":0.003,"fromAddress":"0x552008c0f6870c2f77e5cC1d2eb9bdff03e30Ea0","toAddress":"0x552008c0f6870c2f77e5cC1d2eb9bdff03e30Ea0"},"estimate":{"fromAmount":"1000000000000000000","toAmount":"21922914496086353975","toAmountMin":"21265227061203763356","approvalAddress":"0x1111111254fb6c44bac0bed2854e76f90643097d","feeCosts":[],"gasCosts":[{"type":"SEND","price":"1000000000","estimate":"252364","limit":"315455","amount":"252364000000000","amountUSD":"0.00","token":{"address":"0x0000000000000000000000000000000000000000","symbol":"xDai","decimals":18,"chainId":100,"name":"xDai","coinKey":"xDai","priceUSD":"1","logoURI":"https://static.debank.com/image/xdai_token/logo_url/xdai/1207e67652b691ef3bfe04f89f4b5362.png"}}],"data":{"fromToken":{"name":"xDAI","address":"0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee","symbol":"xDAI","decimals":18,"logoURI":"https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0x6B175474E89094C44Da98b954EedeAC495271d0F/logo.png"},"toToken":{"name":"Minerva Wallet SuperToken","address":"0x63e62989d9eb2d37dfdb1f93a22f063635b07d51","symbol":"MIVA","decimals":18,"logoURI":"https://minerva.digital/i/MIVA-Token_200x200.png"},"toTokenAmount":"21922914496086353975","fromTokenAmount":"1000000000000000000","protocols":[{"name":"GNOSIS_HONEYSWAP","part":100,"fromTokenAddress":"0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee","toTokenAddress":"0x63e62989d9eb2d37dfdb1f93a22f063635b07d51"}],"estimatedGas":252364}}}]}}},"exampleType":"examples"}},"description":"The step populated with the transaction data","exampleType":"examples"},"93b3b024-3c0e-4830-bcaf-39074d2edfb4":{"description":"Invalid Step Request","content":{"_mintlify/placeholder":{"schema":{"type":"object","description":""}}}}},"security":{},"servers":{"a1681415-8815-49fe-91ec-61037569c8c4":{"url":"https://li.quest","description":"LI.FI Production Environment"},"95ef63d1-369e-4ffa-8914-97e36e91254b":{"url":"https://staging.li.quest","description":"LI.FI Staging Environment"}}},"originalFileLocation":"openapi.yaml"},"subdomain":"lifi","siteName":"LI.FI","title":"用交易数据填充步骤 - LI.FI","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{"en":{"href":"/introduction/introduction","matchLevel":4},"zh-Hans":{"href":"/zh-hans-api-reference/advanced/populate-a-step-with-transaction-data","matchLevel":0}}},"lastModified":"2026-10-29T06:58:52.380Z","originalFileLocation":"zh-hans-api-reference/advanced/populate-a-step-with-transaction-data.mdx","locale":"zh-Hans"},"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=\"此端点用必要的交易数据填充路由步骤,准备执行跨链转账的各个阶段。\">\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=\"用交易数据填充步骤 - LI.FI\">\u003cmeta data-mint-head property=\"og:description\" content=\"此端点用必要的交易数据填充路由步骤,准备执行跨链转账的各个阶段。\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"LI.FI\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.li.fi/zh-hans-api-reference/advanced/populate-a-step-with-transaction-data\">\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=%E9%AB%98%E7%BA%A7%E8%B7%AF%E7%94%B1\u0026amp;title=%E7%94%A8%E4%BA%A4%E6%98%93%E6%95%B0%E6%8D%AE%E5%A1%AB%E5%85%85%E6%AD%A5%E9%AA%A4\u0026amp;description=%E6%AD%A4%E7%AB%AF%E7%82%B9%E7%94%A8%E5%BF%85%E8%A6%81%E7%9A%84%E4%BA%A4%E6%98%93%E6%95%B0%E6%8D%AE%E5%A1%AB%E5%85%85%E8%B7%AF%E7%94%B1%E6%AD%A5%E9%AA%A4%EF%BC%8C%E5%87%86%E5%A4%87%E6%89%A7%E8%A1%8C%E8%B7%A8%E9%93%BE%E8%BD%AC%E8%B4%A6%E7%9A%84%E5%90%84%E4%B8%AA%E9%98%B6%E6%AE%B5%E3%80%82\u0026amp;theme=d2a96653fbdd3b58627ba1f7\u0026amp;signature=36a50fcf0f967ec17e2f63aa5b62728537034173af627aeecb61979d37e53648\">\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=\"用交易数据填充步骤 - LI.FI\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"此端点用必要的交易数据填充路由步骤,准备执行跨链转账的各个阶段。\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://lifi.mintlify.site/_mintlify/api/og/v2?division=%E9%AB%98%E7%BA%A7%E8%B7%AF%E7%94%B1\u0026amp;title=%E7%94%A8%E4%BA%A4%E6%98%93%E6%95%B0%E6%8D%AE%E5%A1%AB%E5%85%85%E6%AD%A5%E9%AA%A4\u0026amp;description=%E6%AD%A4%E7%AB%AF%E7%82%B9%E7%94%A8%E5%BF%85%E8%A6%81%E7%9A%84%E4%BA%A4%E6%98%93%E6%95%B0%E6%8D%AE%E5%A1%AB%E5%85%85%E8%B7%AF%E7%94%B1%E6%AD%A5%E9%AA%A4%EF%BC%8C%E5%87%86%E5%A4%87%E6%89%A7%E8%A1%8C%E8%B7%A8%E9%93%BE%E8%BD%AC%E8%B4%A6%E7%9A%84%E5%90%84%E4%B8%AA%E9%98%B6%E6%AE%B5%E3%80%82\u0026amp;theme=d2a96653fbdd3b58627ba1f7\u0026amp;signature=36a50fcf0f967ec17e2f63aa5b62728537034173af627aeecb61979d37e53648\">\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/zh-hans-api-reference/advanced/populate-a-step-with-transaction-data\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/zh-hans-api-reference/advanced/populate-a-step-with-transaction-data.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/zh-hans-api-reference/advanced/populate-a-step-with-transaction-data#webpage\",\"url\":\"https://docs.li.fi/zh-hans-api-reference/advanced/populate-a-step-with-transaction-data\",\"name\":\"用交易数据填充步骤\",\"description\":\"此端点用必要的交易数据填充路由步骤,准备执行跨链转账的各个阶段。\",\"dateModified\":\"2026-10-29T06:58:52.380Z\",\"isPartOf\":{\"@id\":\"https://docs.li.fi#website\"},\"breadcrumb\":{\"@id\":\"https://docs.li.fi/zh-hans-api-reference/advanced/populate-a-step-with-transaction-data#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.li.fi/zh-hans-api-reference/advanced/populate-a-step-with-transaction-data#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"请求报价\",\"item\":\"https://docs.li.fi/zh-hans-api-reference/presets/overview\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"高级路由\",\"item\":\"https://docs.li.fi/zh-hans-api-reference/advanced/get-a-set-of-routes-for-a-request-that-describes-a-transfer-of-tokens\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"用交易数据填充步骤\",\"item\":\"https://docs.li.fi/zh-hans-api-reference/advanced/populate-a-step-with-transaction-data\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.li.fi/zh-hans-api-reference/advanced/populate-a-step-with-transaction-data#apireference\",\"headline\":\"用交易数据填充步骤\",\"name\":\"用交易数据填充步骤\",\"description\":\"此端点用必要的交易数据填充路由步骤,准备执行跨链转账的各个阶段。\",\"url\":\"https://docs.li.fi/zh-hans-api-reference/advanced/populate-a-step-with-transaction-data\",\"mainEntityOfPage\":{\"@id\":\"https://docs.li.fi/zh-hans-api-reference/advanced/populate-a-step-with-transaction-data#webpage\"},\"dateModified\":\"2026-10-29T06:58:52.380Z\",\"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\",\"publisher\":{\"@type\":\"Organization\",\"name\":\"LI.FI\"},\"provider\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","agentPointerHref":"/zh-hans-api-reference/advanced/populate-a-step-with-transaction-data.md","siteName":"LI.FI","nav":{"global":null,"languages":[{"language":"en","pages":[{"title":"en","href":"/introduction/introduction"}]},{"language":"zh-Hans","tabs":[{"tab":"概述","pages":[{"title":"概述","href":"/zh-Hans/introduction/introduction"}]},{"tab":"企业级功能","pages":[{"title":"企业级功能","href":"/zh-Hans/enterprise/overview"}]},{"tab":"Perps","pages":[{"title":"Perps","href":"/zh-Hans/perps/overview"}]},{"tab":"API 参考","groups":[{"group":"关于 API","pages":[{"title":"概述","href":"/zh-hans-api-reference/introduction"},{"title":"OpenAPI Specification","href":"/zh-hans-api-reference/openapi-spec"},{"title":"速率限制和 API 认证","href":"/zh-hans-api-reference/rate-limits"},{"title":"API 密钥安全","href":"/zh-hans-api-reference/api-key-security"},{"title":"身份验证","href":"/zh-hans-api-reference/authentication"},{"title":"错误代码","href":"/zh-hans-api-reference/error-codes"}]},{"group":"通用 API","pages":[{"group":"链","pages":[{"openapi":"openapi.yaml GET /v1/chains","title":"Get information about all currently supported chains","href":"/zh-hans-api-reference/get-information-about-all-currently-supported-chains"}]},{"group":"代币","pages":[{"title":"获取所有已知代币","openapi":"get /v1/tokens","href":"/zh-hans-api-reference/fetch-all-known-tokens"},{"title":"获取有关代币的信息","openapi":"get /v1/token","href":"/zh-hans-api-reference/fetch-information-about-a-token"}]},{"group":"工具","pages":[{"openapi":"get /v1/tools","title":"Get available bridges and exchanges","href":"/zh-hans-api-reference/get-available-bridges-and-exchanges"}]},{"group":"连接","pages":[{"title":"返回基于源链或目标链的所有可能连接","openapi":"get /v1/connections","href":"/zh-hans-api-reference/returns-all-possible-connections-based-on-a-from-or-tochain"}]},{"group":"Gas 端点","pages":[{"title":"获取指定链 ID 的 Gas 价格","openapi":"get /v1/gas/prices/{chainId}","href":"/zh-hans-api-reference/gas/get-gas-price-for-the-specified-chainid"},{"title":"获取已启用链的 Gas 价格","openapi":"get /v1/gas/prices","href":"/zh-hans-api-reference/gas/get-gas-prices-for-enabled-chains"},{"title":"获取指定链的 Gas 建议","openapi":"get /v1/gas/suggestion/{chain}","href":"/zh-hans-api-reference/get-a-gas-suggestion-for-the-specified-chain"},{"openapi":"get /v1/gas/status","title":"Get status information about a lifuel transaction","href":"/zh-hans-api-reference/get-status-information-about-a-lifuel-transaction"},{"title":"强制重新获取被中继器遗漏的交易","openapi":"get /v1/gas/refetch","href":"/zh-hans-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":"交易状态","pages":[{"title":"检查跨链转账状态","openapi":"get /v1/status","href":"/zh-hans-api-reference/check-the-status-of-a-cross-chain-transfer"}]},{"group":"集成商费用信息","pages":[{"openapi":"get /v1/integrators/{integratorId}/withdraw/{chainId}","title":"Get transaction request for withdrawing collected integrator's fees by chain","href":"/zh-hans-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":"/zh-hans-api-reference/get-integrators-collected-fees-data-for-all-supported-chains"}]},{"group":"分析","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":"/zh-hans-api-reference/get-the-total-amount-of-a-token-received-on-a-specific-chain-for-cross-chain-transfers"},{"title":"获取过滤的转账列表","openapi":"get /v1/analytics/transfers","href":"/zh-hans-api-reference/get-a-list-of-filtered-transfers"},{"openapi":"get /v2/analytics/transfers","title":"Get a paginated list of filtered transfers","href":"/zh-hans-api-reference/get-a-paginated-list-of-filtered-transfers"}]}]},{"group":"请求报价","pages":[{"group":"API 预设","pages":[{"title":"API 预设","href":"/zh-hans-api-reference/presets/overview"},{"title":"Stablecoin 预设","href":"/zh-hans-api-reference/presets/stablecoin"}]},{"group":"单步报价","pages":[{"openapi":"get /v1/quote","title":"Get a quote for a token transfer","href":"/zh-hans-api-reference/get-a-quote-for-a-token-transfer"},{"openapi":"get /v1/quote/toAmount","title":"Get a quote for a token transfer","href":"/zh-hans-api-reference/get-a-quote-for-a-token-transfer-1"},{"title":"执行多个跨区块链合约调用(测试版)","openapi":"post /v1/quote/contractCalls","href":"/zh-hans-api-reference/perform-multiple-contract-calls-across-blockchains-beta"}]},{"group":"高级路由","pages":[{"openapi":"post /v1/advanced/routes","title":"Get a set of routes for a request that describes a transfer of tokens","description":"In order to execute any transfer, you must first request possible `Routes`. From the result set a `Route` can be selected and executed by retrieving the transaction for every included `Step` using the `/steps/transaction` endpoint.\n**Attention**: This request is more complex and intended to be used via our [JavaScript SDK](https://docs.li.fi/integrate-li.fi-js-sdk/install-li.fi-sdk).","href":"/zh-hans-api-reference/advanced/get-a-set-of-routes-for-a-request-that-describes-a-transfer-of-tokens"},{"title":"用交易数据填充步骤","openapi":"post /v1/advanced/stepTransaction","href":"/zh-hans-api-reference/advanced/populate-a-step-with-transaction-data"}]},{"group":"解析交易调用数据","pages":[{"title":"解析交易调用数据(测试版)","description":"此端点解析交易调用数据,提取函数调用信息、参数和合约交互详情,用于调试和分析目的。","openapi":"get /v1/calldata/parse","href":"/zh-hans-api-reference/parse-transaction-call-data-beta"}]}]}]},{"tab":"SDK","pages":[{"title":"SDK","href":"/zh-Hans/sdk/overview"}]},{"tab":"Widget","pages":[{"title":"Widget","href":"/zh-Hans/widget/overview"}]},{"tab":"Composer","pages":[{"title":"Composer","href":"/zh-Hans/composer/overview"}]},{"tab":"Earn","pages":[{"title":"Earn","href":"/zh-Hans/earn/overview"}]},{"tab":"意图与求解器","pages":[{"title":"意图与求解器","href":"/zh-Hans/lifi-intents/introduction"}]},{"tab":"面向 Agent","pages":[{"title":"面向 Agent","href":"/zh-Hans/agents/quick-start/code-samples"}]},{"tab":"Widget Playground","href":"https://playground.li.fi/"},{"tab":"Bigmi","pages":[{"title":"Bigmi","href":"/zh-Hans/bigmi/overview"}]},{"tab":"指南","pages":[{"title":"指南","href":"/zh-Hans/guides/gas-options"}]},{"tab":"常见问题","pages":[{"title":"常见问题","href":"/zh-Hans/faqs/fees-monetization"}]}]}]},"basePath":"","title":"用交易数据填充步骤 - LI.FI","buildId":"dpl_G2Qd45vZZ7MkBiGF9yYx8ZsbbKXX","deploymentId":"dpl_G2Qd45vZZ7MkBiGF9yYx8ZsbbKXX","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-NXj-Rqjv.js","utils-m0thOP-_.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-D13EKcfm.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema--XTdfsEb.js","snippetPresets-D3s4lmAH.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","conditional-requirements-CFM0id0Q.js","ApiExamples-ChURybxL.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-DL8CiXq2.js","shallow-DI2-YB2E.js","getApiPlaygroundDisplay-DxbW7b_y.js","CodeSnippet-CiNYS0pP.js","CodeSnippets-BT87bThu.js","Page-DSpdRuhM.js","getPastedJson-F_g_IrFQ.js","icon-CCIG5BAs.js","MethodPill-DY3E0jwx.js","DuplicateIcon-BN88xnEg.js","createIcon-VCCc5HO5.js","DynamicMarkdown-CaSwclgK.js","SectionHeading-DXV8nWhc.js","axios-vUo_bRtp.js","Markdown-CV32Re6G.js","clsx-5ydLOnhV.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-pFDdfjRe.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-BUGO5bPJ.js"]}