Skip to content
Liquidity Lens

Truefill, Execution-price oracle

The price you can actually execute, at your size.

Drag the trade size and watch bid and ask move from $1K to $10M. Every number on this page is live, computed from the exact state of every indexed pool at the latest block, with the route behind it.

  • Ladder from $1K to $10M
  • Route proof per price
  • Exact pool state, no curve fitting
  • 14 days of per-minute history

Execution ladder

WETHspot
USDC
ConnectingBase

Live markets

Mid of the executable bid and ask for a $1K trade, in USDC, with the $1K spread and the size each side absorbs within 2% of spot. The wrapped native token leads, then the majors and other markets executable on both sides, stablecoins last. Pick one to drive the ladder, chart and depth below.

Connecting to the live tip…

WETH executable price

Bid and ask for a $1K trade, per published minute.

Depth at 1% and 2%

How large a trade stays within the band, per side.

What Truefill gives you

Priced at the size you trade

Ask for $10K or $10M, buy or sell. You get the amount the production router delivers across the indexed pools at the latest block, and the impact against spot.

Every number is checkable

Each answer carries its block number, block hash and route: the pools, the split between them, and the amount and fee on every leg.

A whole book on one block

Up to 100 quotes in one call, all computed on the same block, so a review of many tokens and sizes is internally consistent. Larger batches run asynchronously.

Your quote token, priced too

Prices are in the chain's quote token, USDC on Base and Sonic. Ask for USDC itself and you get its executable rate into USDT at your size, never an assumed 1.

Backtest with real trading costs

Swap-cost history gives what a trade of your size would have cost, per hour, day or week, against the mid at the same block, split into pool fees and price impact. Pairs are priced on their best route, never above their two legs through the stable.

See execution get worse

Token health compares each token's spot-to-executable gap with its own 24-hour baseline and flags it when it widens past a set multiple.

Our outages are not on your bill

When a call fails on our side (no price engine ready, a compute error, a deadline missed at compute) its request and quotes are refunded to the key and the organization.

How it works

  1. 01

    Exact pool state

    Every indexed pool is rebuilt from its on-chain events and checked against the chain with exact equality. No fitted curves, no sampling.

  2. 02

    Routed at your size

    The production router finds the best split across pools and hops for the exact amount, on one consistent block.

  3. 03

    Answered with proof

    You get the amount out, the price, the impact and the route, with integer amounts as decimal strings so nothing is rounded on the way.

Call it from code

The exact amount out for any pair and amount at the latest block, the price, the impact against spot and the route proof.

GET /api/v1/ext/oracle/quote · 51 CU

Send your key in x-api-key and a compute budget in x-compute-budget-ms (1 to 5000 ms; the example uses 2000).

Example values are illustrative. Token addresses are real Base contracts; amounts are raw integer units as decimal strings.

curl -s "https://llens.abanchev.com/api/v1/ext/oracle/quote?chainId=8453&tokenIn=0x4200000000000000000000000000000000000006&tokenOut=0x833589fcd6edb6e08f4c7c32d4f71b54bda02913&amountIn=10000000000000000000" \
  -H "x-api-key: $LL_API_KEY" \
  -H "x-compute-budget-ms: 2000"
Example response
{
  "chainId": "8453",
  "sequence": "1843207",
  "blockNumber": "52914031",
  "blockHash": "0x7c1e5f0b9a2d43e8c6f1a0b7d9e2c4f6a8b0d1e3f5a7c9b2d4e6f8a0c2e4b6d8",
  "stateDigest": "4b9e0c7f2a1d3e5b8c6a9f0d2e4b7c1a3f5e8d0b2c4a6e9f1d3b5c7a0e2f4d6b",
  "blockTimestamp": "1792419821",
  "stateAgeMs": 412,
  "tokenIn": "0x4200000000000000000000000000000000000006",
  "tokenOut": "0x833589fcd6edb6e08f4c7c32d4f71b54bda02913",
  "amountIn": "10000000000000000000",
  "amountOut": "26161734512",
  "price": "2616.1734512",
  "impactPercent": "0.0857978781",
  "spotSource": "canonical-stable-100usd-routing",
  "instantaneous": true,
  "route": [
    {
      "tokenIn": "0x4200000000000000000000000000000000000006",
      "tokenOut": "0x833589fcd6edb6e08f4c7c32d4f71b54bda02913",
      "amountIn": "10000000000000000000",
      "amountOut": "26161734512",
      "feeToken": "0x4200000000000000000000000000000000000006",
      "feeAmount": "4600000000000000",
      "legs": [
        {
          "pool": "0xd0b53d9277642d899df5c87a3966a349a798f224",
          "deploymentId": 41,
          "dex": "Uniswap v3",
          "tokenIn": "0x4200000000000000000000000000000000000006",
          "tokenOut": "0x833589fcd6edb6e08f4c7c32d4f71b54bda02913",
          "amountIn": "6000000000000000000",
          "amountOut": "15697201234",
          "feeToken": "0x4200000000000000000000000000000000000006",
          "feeAmount": "3000000000000000",
          "shareNumerator": "3",
          "shareDenominator": "5"
        },
        {
          "pool": "0xb2cc224c1c9fee385f8ad6a55b4d94e92359dc59",
          "deploymentId": 57,
          "dex": "Aerodrome Slipstream",
          "tokenIn": "0x4200000000000000000000000000000000000006",
          "tokenOut": "0x833589fcd6edb6e08f4c7c32d4f71b54bda02913",
          "amountIn": "4000000000000000000",
          "amountOut": "10464533278",
          "feeToken": "0x4200000000000000000000000000000000000006",
          "feeAmount": "1600000000000000",
          "shareNumerator": "2",
          "shareDenominator": "5"
        }
      ]
    }
  ]
}

Plans

  • Public
  • Builder
  • Pro
  • Enterprise

The overview, depth ladder and history are free without a key. Keys add every endpoint below.

Pricing on request.

Good to know

  • Prices are instantaneous: each reflects pool state at one block.
  • Not manipulation-resistant yet. Do not use these values as the only trigger for on-chain liquidations.
  • Live on Base and Sonic.
  • History covers the last 14 days.
  • Swap-cost history samples one block per hour (the first at or after the hour) for anything without stored minutes: 1 sample in an hourly bucket, 24 in a day, 168 in a week. Each row reports its own sample count; with one sample, p50 and p90 equal it.
Liquidity LensPrices are informational and instantaneous. They are not investment advice or a guarantee of execution.