LifiQuote

Documentation for eth_defi.lifi.quote.LifiQuote Python class.

class LifiQuote

Bases: object

LI.FI cross-chain quote response.

Contains all information needed to execute a cross-chain transfer, including the ready-to-sign transaction request.

Attributes summary

source_chain_id

Source chain ID

target_chain_id

Target chain ID

from_token

Source token address

to_token

Destination token address

from_amount

Amount to send (raw, with decimals)

estimate_to_amount

Estimated amount to receive (raw, with decimals)

estimate_to_amount_min

Minimum guaranteed amount to receive including slippage (raw, with decimals)

gas_cost_usd

Estimated gas cost in USD

execution_duration

Estimated execution duration in seconds

fetched_at

Unix timestamp (seconds) when this quote was fetched

data

Full API response data for reference

Methods summary

__init__(source_chain_id, target_chain_id, ...)

get_age_seconds()

Seconds elapsed since this quote was fetched.

get_transaction_request()

Get the transaction request from the quote.

is_valid([max_age_seconds])

Check if this quote is still fresh enough to execute.

source_chain_id: int

Source chain ID

target_chain_id: int

Target chain ID

from_token: str

Source token address

to_token: str

Destination token address

from_amount: int

Amount to send (raw, with decimals)

estimate_to_amount: int

Estimated amount to receive (raw, with decimals)

estimate_to_amount_min: int

Minimum guaranteed amount to receive including slippage (raw, with decimals)

gas_cost_usd: decimal.Decimal | None

Estimated gas cost in USD

execution_duration: int | None

Estimated execution duration in seconds

fetched_at: float

Unix timestamp (seconds) when this quote was fetched

data: dict

Full API response data for reference

get_transaction_request()

Get the transaction request from the quote.

This is the ready-to-sign transaction with from, to, data, value, gasLimit, gasPrice, and chainId.

Returns

Transaction request dict from LI.FI API

Return type

dict

get_age_seconds()

Seconds elapsed since this quote was fetched.

Returns

Age of the quote in seconds.

Return type

float

is_valid(max_age_seconds=120)

Check if this quote is still fresh enough to execute.

The LI.FI /v1/quote endpoint does not return an explicit expiry timestamp. This method uses a time-based heuristic: quotes older than max_age_seconds are considered stale because gas prices and bridge liquidity change rapidly.

Parameters

max_age_seconds (float) – Maximum acceptable age in seconds (default 120s)

Returns

True if the quote is younger than max_age_seconds.

Return type

bool

__init__(source_chain_id, target_chain_id, from_token, to_token, from_amount, estimate_to_amount, estimate_to_amount_min, gas_cost_usd, execution_duration, fetched_at, data)
Parameters
  • source_chain_id (int) –

  • target_chain_id (int) –

  • from_token (str) –

  • to_token (str) –

  • from_amount (int) –

  • estimate_to_amount (int) –

  • estimate_to_amount_min (int) –

  • gas_cost_usd (decimal.Decimal | None) –

  • execution_duration (int | None) –

  • fetched_at (float) –

  • data (dict) –

Return type

None