fetch_quote

Documentation for eth_defi.cow.quote.fetch_quote function.

fetch_quote(from_, buy_token, sell_token, amount_in, min_amount_out, api_timeout=datetime.timedelta(seconds=30), price_quality='fast')

Fetch a CowSwap quote for a given token pair and amounts.

Note

Work in progress.

https://docs.cow.fi/cow-protocol/reference/apis/quote

Example:

chain_id = web3.eth.chain_id
weth = fetch_erc20_details(
    web3,
    WRAPPED_NATIVE_TOKEN[chain_id],
)

usdce = fetch_erc20_details(web3, BRIDGED_USDC_TOKEN[chain_id])

amount = Decimal("0.0001")
quoted_data = fetch_quote(
    from_="0xdcc6D3A3C006bb4a10B448b1Ee750966395622c6",  # Dummy address
    buy_token=usdce,
    sell_token=weth,
    amount_in=amount,
    min_amount_out=amount / 2,
)

assert quoted_data["from"].startswith("0x")
# assert quoted_data["expiration"] == "1970-01-01T00:00:00Z"
assert quoted_data["id"] is None
assert quoted_data["verified"] is False
assert quoted_data["quote"]["sellToken"] == "0x82af49447d8a07e3bd95bd0d56f35241523fbab1"
assert quoted_data["quote"]["buyToken"] == "0xff970a61a04b1ca14834a43f5de4533ebddb5cc8"
assert quoted_data["quote"]["receiver"] is None
assert int(quoted_data["quote"]["sellAmount"]) > 1
assert int(quoted_data["quote"]["buyAmount"]) > 1
assert quoted_data["quote"]["validTo"] > 1761863893
assert quoted_data["quote"]["appData"] == "0x0000000000000000000000000000000000000000000000000000000000000000"
assert int(quoted_data["quote"]["feeAmount"]) > 1
assert quoted_data["quote"]["kind"] == "sell"
assert quoted_data["quote"]["partiallyFillable"] is False
assert quoted_data["quote"]["sellTokenBalance"] == "erc20"
assert quoted_data["quote"]["buyTokenBalance"] == "erc20"
assert quoted_data["quote"]["signingScheme"] == "presign"
Parameters
Return type

eth_defi.cow.quote.Quote