---
title: "Check the status of a cross chain transfer"
method: GET
path: "/v1/status"
---

# Check the status of a cross chain transfer

`GET /v1/status`

## Request

- Base URL: `https://li.quest`
- URL: `https://li.quest/v1/status`
- Auth: none declared
- TypeScript: <https://skmtc.dev/lifi/apis/li-fi-api/docs/v1/status/get.ts> (a function with typed inputs; its response is checked against the schema)

Cross chain transfers might take a while to complete. Waiting on the transaction on the sending chain doesn't help here. For this reason we build a simple endpoint that let's you check the status of your transfer.
Important: A transaction that is not currently found may return HTTP `404` with code `1003`. Clients should also handle a `200` response with status `NOT_FOUND`. Neither response proves execution failure or authorizes resubmission. Poll within a bounded window, then reconcile the original hash against the source chain; a polling timeout leaves the outcome unknown.
While none of the parameters `fromChain`, `toChain` and `bridge` are required, passing the `fromChain` parameter will speed up the request and is therefore encouraged.
If you want to learn more about how to use this endpoint please have a look at our [guide](/introduction/user-flows-and-examples/status-tracking).

## Query parameters

- `txHash` string, required
- `bridge` string: Identifier for a bridge tool. Retrieve the latest bridge keys from the `/v1/tools` endpoint. Keywords such as `all`, `none`, `default`, and `[]` are also supported where applicable.
- `fromChain` string
- `toChain` string

## Headers

- `x-lifi-api-key` string

## Response `200`

Response of the Status request

- StatusResponse: The current status of a transfer
  - `sending` TransactionInfo, required: A transaction info object
    - `txHash` string, required: The hash of the transaction
    - `txLink` string, required: Link to a block explorer showing the transaction
    - `amount` string, required: The amount of the transaction
    - `token` Token, required: Representation of a Token
      - `address` string, required: Address of the token
      - `decimals` number, required: Number of decimals the token uses
      - `symbol` string, required: Symbol of the token
      - `chainId` number, required: Id of the token's chain
      - `coinKey` string: Identifier for the token
      - `name` string, required: Name of the token
      - `logoURI` string: Logo of the token
      - `priceUSD` string: Token price in USD
    - `chainId` number, required: The id of the chain
    - `gasToken` Token: Representation of a Token
      - `address` string, required: Address of the token
      - `decimals` number, required: Number of decimals the token uses
      - `symbol` string, required: Symbol of the token
      - `chainId` number, required: Id of the token's chain
      - `coinKey` string: Identifier for the token
      - `name` string, required: Name of the token
      - `logoURI` string: Logo of the token
      - `priceUSD` string: Token price in USD
    - `gasAmount` string: The amount of the gas that was paid
    - `gasAmountUSD` string: The amount of the gas that was paid in USD
    - `gasPrice` string: The price of the gas
    - `gasUsed` string: The amount of the gas that was used
    - `timestamp` number: The transaction timestamp
    - `value` string: The transaction value
    - `includedSteps` IncludedSwapSteps[]: An array of swap or protocol steps included in the LI.FI transaction
      - `tool` string: The tool used for this step
      - `toolDetails` object: The details of the tool used for this step. E.g. `1inch` or `feeProtocol`
        - `key` string: The tool key
        - `name` string: The tool name
        - `logoURI` string: The tool logo URL
      - `fromAmount` string: The amount that was sent to the tool
      - `fromToken` string: The token that was sent to the tool
      - `toAmount` string: The amount that was received from the tool
      - `toToken` string: The token that was received from the tool
      - `bridgedAmount` string: The amount that was sent to the bridge
  - `receiving` TransactionInfo: A transaction info object
    - `txHash` string, required: The hash of the transaction
    - `txLink` string, required: Link to a block explorer showing the transaction
    - `amount` string, required: The amount of the transaction
    - `token` Token, required: Representation of a Token
      - `address` string, required: Address of the token
      - `decimals` number, required: Number of decimals the token uses
      - `symbol` string, required: Symbol of the token
      - `chainId` number, required: Id of the token's chain
      - `coinKey` string: Identifier for the token
      - `name` string, required: Name of the token
      - `logoURI` string: Logo of the token
      - `priceUSD` string: Token price in USD
    - `chainId` number, required: The id of the chain
    - `gasToken` Token: Representation of a Token
      - `address` string, required: Address of the token
      - `decimals` number, required: Number of decimals the token uses
      - `symbol` string, required: Symbol of the token
      - `chainId` number, required: Id of the token's chain
      - `coinKey` string: Identifier for the token
      - `name` string, required: Name of the token
      - `logoURI` string: Logo of the token
      - `priceUSD` string: Token price in USD
    - `gasAmount` string: The amount of the gas that was paid
    - `gasAmountUSD` string: The amount of the gas that was paid in USD
    - `gasPrice` string: The price of the gas
    - `gasUsed` string: The amount of the gas that was used
    - `timestamp` number: The transaction timestamp
    - `value` string: The transaction value
    - `includedSteps` IncludedSwapSteps[]: An array of swap or protocol steps included in the LI.FI transaction
      - `tool` string: The tool used for this step
      - `toolDetails` object: The details of the tool used for this step. E.g. `1inch` or `feeProtocol`
        - `key` string: The tool key
        - `name` string: The tool name
        - `logoURI` string: The tool logo URL
      - `fromAmount` string: The amount that was sent to the tool
      - `fromToken` string: The token that was sent to the tool
      - `toAmount` string: The amount that was received from the tool
      - `toToken` string: The token that was received from the tool
      - `bridgedAmount` string: The amount that was sent to the bridge
  - `feeCosts` object[]: An array of fee costs for the transaction
    - `name` string
    - `description` string
    - `percentage` string
    - `token` object
      - `address` string
      - `decimals` number
      - `symbol` string
      - `chainId` number
      - `coinKey` string
      - `name` string
      - `logoURI` string
    - `amount` string
    - `amountUSD` string
    - `included` boolean
  - `status` 'NOT_FOUND' | 'INVALID' | 'PENDING' | 'DONE' | 'FAILED', required: The current status of the transfer. Can be `PENDING`, `DONE`, `NOT_FOUND` or `FAILED`
  - `substatus` 'WAIT_SOURCE_CONFIRMATIONS' | 'WAIT_DESTINATION_TRANSACTION' | 'BRIDGE_NOT_AVAILABLE' | 'CHAIN_NOT_AVAILABLE' | 'REFUND_IN_PROGRESS' | 'UNKNOWN_ERROR' | 'COMPLETED' | 'PARTIAL' | 'REFUNDED': A more specific substatus. This is available for PENDING and DONE statuses. More information can be found here: https://docs.li.fi/introduction/user-flows-and-examples/status-tracking
  - `substatusMessage` string: A message that describes the substatus
  - `tool` string, required: The tool used for this transfer
  - `transactionId` string: The ID of this transfer (NOT a transaction hash).
  - `fromAddress` string: The address of the sender.
  - `toAddress` string: The address of the receiver.
  - `lifiExplorerLink` string: The link to the LI.FI explorer.
  - `metadata` Metadata: The metadata of the transaction which includes integrator data, etc.
    - `integrator` string: Integrator ID
  - `quote` TransferQuote: The quote that was issued for a transfer at quote time. The `action` describes what was requested and the `estimate` records the quoted amounts and costs, so they can be compared against the actual outcome reported by the status response.
    - `stepId` string, required: The id of the quoted step, matching `id` on the quote response.
    - `tool` string, required: The tool that was quoted for this transfer.
    - `type` string, required: The type of the quoted step.
    - `action` Action, required: Object describing what happens in a `Step`
      - `fromChainId` number, required: The id of the chain where the transfer should start
      - `fromAmount` string, required: The amount that should be transferred including all decimals
      - `fromToken` Token, required: Representation of a Token
        - `address` string, required: Address of the token
        - `decimals` number, required: Number of decimals the token uses
        - `symbol` string, required: Symbol of the token
        - `chainId` number, required: Id of the token's chain
        - `coinKey` string: Identifier for the token
        - `name` string, required: Name of the token
        - `logoURI` string: Logo of the token
        - `priceUSD` string: Token price in USD
      - `toChainId` number, required: The id of the chain where the transfer should end
      - `toToken` Token, required: Representation of a Token
        - `address` string, required: Address of the token
        - `decimals` number, required: Number of decimals the token uses
        - `symbol` string, required: Symbol of the token
        - `chainId` number, required: Id of the token's chain
        - `coinKey` string: Identifier for the token
        - `name` string, required: Name of the token
        - `logoURI` string: Logo of the token
        - `priceUSD` string: Token price in USD
      - `slippage` number, double: The maximum allowed slippage
      - `fromAddress` string: The sending wallet address
      - `toAddress` string: The receiving wallet address
    - `estimate` Estimate, required: An estimate for the current transfer
      - `tool` string, required: The tools that is being used for this step
      - `fromAmount` string, required: The amount that should be transferred including all decimals
      - `fromAmountUSD` string: The amount that should be transferred in USD equivalent
      - `toAmount` string, required: The estimated resulting amount of the `toToken` including all decimals
      - `toAmountMin` string, required: The minimal outcome of the transfer including all decimals. It may reflect applicable slippage and known fee-on-transfer tax adjustments.
      - `toAmountUSD` string: The estimated resulting amount of the `toToken` in USD equivalent
      - `approvalAddress` string, required: The contract address for the approval
      - `skipApproval` boolean: 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.
      - `feeCosts` FeeCost[]: 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.
        - `name` string, required: 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.
        - `description` string: Description of the fee costs
        - `percentage` string, required: 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`.
        - `token` Token, required: Representation of a Token
          - `address` string, required: Address of the token
          - `decimals` number, required: Number of decimals the token uses
          - `symbol` string, required: Symbol of the token
          - `chainId` number, required: Id of the token's chain
          - `coinKey` string: Identifier for the token
          - `name` string, required: Name of the token
          - `logoURI` string: Logo of the token
          - `priceUSD` string: Token price in USD
        - `amount` string: The fee amount in the smallest unit of `token`, before decimals are applied. Divide by `10 ** token.decimals` for a human-readable amount.
        - `amountUSD` string, required: The amount of fees in USD
        - `included` boolean, required: `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`.
        - `feeSplit` object: 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. For 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. This 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.
          - `lifiFee` string: LI.FI's slice of `amount`, in the smallest unit of `token`.
          - `integratorFee` string: 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.
          - `intermediaryFee` string: The intermediary's slice of `amount`, in the smallest unit of `token`. Present only when an intermediary participates in the split.
          - `recipients` object[]: 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.
            - `name` string, required: 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.
            - `fee` string, required: The amount credited to this recipient, in the smallest unit of this fee entry's `token`.
            - `type` string: 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. `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[]`. To detect Dynamic Pricing on a quote, look for a recipient whose `type` is `DYNAMIC`.
            - `walletAddress` string: The recipient's wallet address on the source chain.
      - `gasCosts` GasCost[]: 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` 'SUM' | 'APPROVE' | 'SEND' | 'FEE', required: The kind of gas cost this entry represents. - `SEND`: estimated network gas for the transaction the sender submits, normally on the source chain. This is the only value the API currently returns. - `APPROVE`: estimated network gas for a separate ERC-20 approval transaction. Reserved; approval gas is not currently returned as its own entry. - `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. - `SUM`: an aggregate of the other entries. Reserved and not currently returned. Treat `APPROVE`, `FEE`, and `SUM` as forward-compatible values: handle them if they appear, but do not build a flow that depends on them.
        - `price` string: Gas price used for the estimate, in the smallest unit of the gas token per unit of gas (wei per gas on EVM chains).
        - `estimate` string: Estimated units of gas the transaction consumes
        - `limit` string: Suggested gas limit: `estimate` plus a safety buffer. Use this value when submitting the transaction, not `estimate`.
        - `amount` string, required: 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.
        - `amountUSD` string: Amount of the gas cost in USD
        - `token` Token, required: Representation of a Token
          - `address` string, required: Address of the token
          - `decimals` number, required: Number of decimals the token uses
          - `symbol` string, required: Symbol of the token
          - `chainId` number, required: Id of the token's chain
          - `coinKey` string: Identifier for the token
          - `name` string, required: Name of the token
          - `logoURI` string: Logo of the token
          - `priceUSD` string: Token price in USD
      - `executionDuration` number, required: The time needed to complete the following step
      - `data` object: Arbitrary data that depends on the the used tool
        - `bid` object
          - `user` string
          - `router` string
          - `initiator` string
          - `sendingChainId` number
          - `sendingAssetId` string
          - `amount` string
          - `receivingChainId` number
          - `receivingAssetId` string
          - `amountReceived` string
          - `receivingAddress` string
          - `transactionId` string
          - `expiry` number
          - `callDataHash` string
          - `callTo` string
          - `encryptedCallData` string
          - `sendingChainTxManagerAddress` string
          - `receivingChainTxManagerAddress` string
          - `bidExpiry` number
        - `bidSignature` string
        - `gasFeeInReceivingToken` string
        - `totalFee` string
        - `metaTxRelayerFee` string
        - `routerFee` string
    - `includedSteps` object[], required: The steps included in the quoted step.
      - `tool` string, required
      - `type` string, required
      - `action` Action, required: Object describing what happens in a `Step`
        - `fromChainId` number, required: The id of the chain where the transfer should start
        - `fromAmount` string, required: The amount that should be transferred including all decimals
        - `fromToken` Token, required: Representation of a Token
          - `address` string, required: Address of the token
          - `decimals` number, required: Number of decimals the token uses
          - `symbol` string, required: Symbol of the token
          - `chainId` number, required: Id of the token's chain
          - `coinKey` string: Identifier for the token
          - `name` string, required: Name of the token
          - `logoURI` string: Logo of the token
          - `priceUSD` string: Token price in USD
        - `toChainId` number, required: The id of the chain where the transfer should end
        - `toToken` Token, required: Representation of a Token
          - `address` string, required: Address of the token
          - `decimals` number, required: Number of decimals the token uses
          - `symbol` string, required: Symbol of the token
          - `chainId` number, required: Id of the token's chain
          - `coinKey` string: Identifier for the token
          - `name` string, required: Name of the token
          - `logoURI` string: Logo of the token
          - `priceUSD` string: Token price in USD
        - `slippage` number, double: The maximum allowed slippage
        - `fromAddress` string: The sending wallet address
        - `toAddress` string: The receiving wallet address
      - `estimate` Estimate, required: An estimate for the current transfer
        - `tool` string, required: The tools that is being used for this step
        - `fromAmount` string, required: The amount that should be transferred including all decimals
        - `fromAmountUSD` string: The amount that should be transferred in USD equivalent
        - `toAmount` string, required: The estimated resulting amount of the `toToken` including all decimals
        - `toAmountMin` string, required: The minimal outcome of the transfer including all decimals. It may reflect applicable slippage and known fee-on-transfer tax adjustments.
        - `toAmountUSD` string: The estimated resulting amount of the `toToken` in USD equivalent
        - `approvalAddress` string, required: The contract address for the approval
        - `skipApproval` boolean: 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.
        - `feeCosts` FeeCost[]: 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.
          - `name` string, required: 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.
          - `description` string: Description of the fee costs
          - `percentage` string, required: 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`.
          - `token` Token, required: Representation of a Token
            - `address` string, required: Address of the token
            - `decimals` number, required: Number of decimals the token uses
            - `symbol` string, required: Symbol of the token
            - `chainId` number, required: Id of the token's chain
            - `coinKey` string: Identifier for the token
            - `name` string, required: Name of the token
            - `logoURI` string: Logo of the token
            - `priceUSD` string: Token price in USD
          - `amount` string: The fee amount in the smallest unit of `token`, before decimals are applied. Divide by `10 ** token.decimals` for a human-readable amount.
          - `amountUSD` string, required: The amount of fees in USD
          - `included` boolean, required: `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`.
          - `feeSplit` object: 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. For 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. This 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.
            - `lifiFee` string: LI.FI's slice of `amount`, in the smallest unit of `token`.
            - `integratorFee` string: 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.
            - `intermediaryFee` string: The intermediary's slice of `amount`, in the smallest unit of `token`. Present only when an intermediary participates in the split.
            - `recipients` object[]: 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.
              - …
        - `gasCosts` GasCost[]: 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` 'SUM' | 'APPROVE' | 'SEND' | 'FEE', required: The kind of gas cost this entry represents. - `SEND`: estimated network gas for the transaction the sender submits, normally on the source chain. This is the only value the API currently returns. - `APPROVE`: estimated network gas for a separate ERC-20 approval transaction. Reserved; approval gas is not currently returned as its own entry. - `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. - `SUM`: an aggregate of the other entries. Reserved and not currently returned. Treat `APPROVE`, `FEE`, and `SUM` as forward-compatible values: handle them if they appear, but do not build a flow that depends on them.
          - `price` string: Gas price used for the estimate, in the smallest unit of the gas token per unit of gas (wei per gas on EVM chains).
          - `estimate` string: Estimated units of gas the transaction consumes
          - `limit` string: Suggested gas limit: `estimate` plus a safety buffer. Use this value when submitting the transaction, not `estimate`.
          - `amount` string, required: 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.
          - `amountUSD` string: Amount of the gas cost in USD
          - `token` Token, required: Representation of a Token
            - `address` string, required: Address of the token
            - `decimals` number, required: Number of decimals the token uses
            - `symbol` string, required: Symbol of the token
            - `chainId` number, required: Id of the token's chain
            - `coinKey` string: Identifier for the token
            - `name` string, required: Name of the token
            - `logoURI` string: Logo of the token
            - `priceUSD` string: Token price in USD
        - `executionDuration` number, required: The time needed to complete the following step
        - `data` object: Arbitrary data that depends on the the used tool
          - `bid` object
            - `user` string
            - `router` string
            - `initiator` string
            - `sendingChainId` number
            - `sendingAssetId` string
            - `amount` string
            - `receivingChainId` number
            - `receivingAssetId` string
            - `amountReceived` string
            - `receivingAddress` string
            - `transactionId` string
            - `expiry` number
            - `callDataHash` string
            - `callTo` string
            - `encryptedCallData` string
            - `sendingChainTxManagerAddress` string
            - `receivingChainTxManagerAddress` string
            - `bidExpiry` number
          - `bidSignature` string
          - `gasFeeInReceivingToken` string
          - `totalFee` string
          - `metaTxRelayerFee` string
          - `routerFee` string
    - `integrator` string: The integrator the quote was issued for.
    - `gasLimit` string, required: The gas limit of the transaction that was proposed at quote time.
    - `createdAt` string, date-time, required: When the quote was issued (ISO 8601).
    - `routeSlippage` RouteSlippageCommitment: Route-wide slippage commitment attached to a route and its steps when the request used `slippageScope=route`. `minimumToAmount` is `ceil(referenceToAmount × (1 − slippage))` and doesn't change for the life of the route: every build of the transaction enforces at least this amount, or is refused.
      - `scope` 'route', required
      - `slippage` string, required: The budget for the whole route, as a decimal string, for example `0.01`
      - `referenceToAmount` string, required: The expected output the floor was computed from, in base units of the destination token
      - `minimumToAmount` string, required: The floor, in base units of the destination token. Also returned as `toAmountMin`.
      - `toChainId` integer, required: The chain the floor applies to
      - `toTokenAddress` string, required: The token the floor applies to
      - `toAddress` string: The recipient the delivery is measured at
      - `settlement` 'atomic' | 'conditional', required: `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`.
      - `checkpoints` object[], required: 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.
        - `stepId` string, required
        - `chainId` integer, required
        - `tokenAddress` string, required
        - `minimumAmount` string, required
  - `routeSlippage` RouteSlippageOutcome: How a route-wide slippage commitment played out, judged from the transfer's final state. Present on the status response only for transfers requested with `slippageScope=route`.
    - `outcome` 'PENDING' | 'FULFILLED' | 'NOT_FULFILLED', required: `FULFILLED`: the committed token arrived on the committed chain with at least `minimumToAmount`. `NOT_FULFILLED`: it didn't, see `shortfall`. `PENDING`: the transfer is still in flight, or its delivery isn't resolved yet.
    - `minimumToAmount` string, required: The floor, in base units of the committed token
    - `deliveredAmount` string: What arrived in the committed token, once known
    - `shortfall` 'REVERTED' | 'REFUNDED' | 'DIFFERENT_TOKEN' | 'BELOW_FLOOR': Why the floor wasn't met. `REVERTED`: the source transaction reverted. `REFUNDED`: the bridge refunded instead of delivering. `DIFFERENT_TOKEN`: another token was delivered, for example a recovered bridged token. `BELOW_FLOOR`: the committed token arrived under the floor, which isn't an expected outcome: the bridge delivered under the minimum it was built with.

## Other responses

- `400`: The passed parameters are invalid
- `404`: Transaction not currently found. This is not proof of execution failure; reconcile on the source chain before considering any replacement.

---

[API](https://skmtc.dev/lifi/apis/li-fi-api.md) - [All operations](https://skmtc.dev/lifi/apis/li-fi-api/llms.txt) - [OpenAPI document](https://skmtc.dev/lifi/apis/li-fi-api/revisions/82e72a7fa5e0?raw)
