Skip to content
Keel
Ledger
64,490,131
Methodology
1.0.8-draft
Age
5s

What depth stands behind this price?

BTCLN against USDC · GDPKQ2…3EVBVT

How much can this asset safely back?

The ceiling is the lower of two independent limits. Which one binds is the part a lender acts on, so both are shown.
  1. Low
  2. Medium
  3. High — this asset
  4. Critical

Highpartial confidence

A band marked partial is a floor. At least one high-severity check could not be evaluated, so the real band can only be worse than the one shown, never better.

9.94 USDC (shortened; full value 9.946667561879291084320008655653040944765124879086 USDC)

Limited by liquidation depth

Liquidation termbinds
9.94 USDC (shortened; full value 9.946667561879291084320008655653040944765124879086 USDC)

Sell-side depth at the liquidation delta, times the haircut.

Manipulation term
5,352.56 USDC (shortened; full value 5352.561384225036106143610595 USDC)

Order-book-only manipulation cost at the critical delta, times the safety margin.

These bands come from thresholds that were chosen, not calibrated

The thresholds were chosen based on the magnitude of the Blend incident of February 2026 and on conservative judgement, not calibrated against a set of incidents. Every flag is reported separately so that consumers can apply their own thresholds.

Every threshold, as the engine serves it

Where this number comes from
Source
GET /asset/{assetId}/depth → maxSafeCollateral, maxSafeCollateralLiquidation, maxSafeCollateralManipulation
What it is
Awaiting methodology copy.
What it does not account for
Awaiting methodology copy.

What this computation could not do

  • maxReachablePrice and costToMaxReachablePrice are null because an active pool is present: under a constant product curve the price tends to infinity as the base reserve tends to zero, so every target is reachable and a highest price has no meaning

Served by the engine with this response and shown as written.

Where does the price come from?

Two venues can disagree. Both readings are shown, not only the one that won.
Mid price
0.00077848 USDC (shortened; full value 0.0007784895438423 USDC)

Source: AMM pool spot

Spread
36.1574 % (shortened; full value 36.15746795603979582372846333 %)

Undefined unless the price came from a two-sided book

Pool spot price
0.00077848 USDC (shortened; full value 0.0007784895438423 USDC)

Reported whenever an active pool exists, whichever source won

Divergence between the two
18.0773 % (shortened; full value 18.07739084402629373799649456 %)

PRICE_SOURCE_CONFLICT is triggered: the two sources disagree past the threshold and the pool was taken

Where this number comes from
Source
GET /asset/{assetId}/depth → midPrice, priceSource, spreadPct, poolSpotPrice, priceDivergencePct
What it is
Awaiting methodology copy.
What it does not account for
Awaiting methodology copy.

What volume can it absorb before the price moves?

Three rungs at 2, 5 and 10 per cent, in each direction. The buy side matters for oracle manipulation and the sell side for liquidation.
  • SDEX
  • AMM
  • Sell side, composition not reported

2% from mid

Buy side
3.88 USDC (shortened; full value 3.8806402293530959980550709157 USDC)
Sell side
3.89 USDC (shortened; full value 3.8961601811177170799246990965106119836700296555 USDC)

5% from mid

Buy side
9.93 USDC (shortened; full value 9.930947241590171838338135868 USDC)
Sell side
9.81 USDC (shortened; full value 9.815722294282351135644988546418923603171373471733 USDC)

10% from mid

Buy side
19.33 USDC (shortened; full value 19.3351868890530579679697923857 USDC)
Sell side
19.89 USDC (shortened; full value 19.893335123758582168640017311306081889530249758172 USDC)

Bars share one scale. The venue split decomposes the buy side; the sell side is drawn as an outline because its composition is not reported.

Where this number comes from
Source
GET /asset/{assetId}/depth → depth[]
What it is
Awaiting methodology copy.
What it does not account for
Awaiting methodology copy.

What would it cost to move the price?

Read cost together with reachability: a figure on an unreachable rung says how far the book goes, not what the move costs.
Cost to move the price by each delta, through all venues and through the order book alone, with whether the target is reachable at all.
MoveTarget priceCost, all venuesCost, order book only
0.5%0.001167 USDC (shortened; full value 0.00116773431576345 USDC)21,497.89 USDC (shortened; full value 21497.8948133147392755170490102147 USDC)21,410.24 USDC (shortened; full value 21410.24553690014442457444238 USDC)
1%0.001556 USDC (shortened; full value 0.0015569790876846 USDC)63,131.82 USDC (shortened; full value 63131.8280406999239632071427463282 USDC)62,970.28 USDC (shortened; full value 62970.28700620016119457444238 USDC)
10%0.008563 USDC (shortened; full value 0.0085633849822653 USDC)63,873.75 USDC (shortened; full value 63873.7580635884916133003783825328 USDC)62,970.28 USDC (shortened; full value 62970.28700620016119457444238 USDC)
100%0.078627 USDC (shortened; full value 0.0786274439280723 USDC)66,620.00 USDC (shortened; full value 66620.0084359557623724697214321684 USDC)63,090.60 USDC (shortened; full value 63090.60620790112119457444238 USDC)

Reachability on the all-venues ladder is unconditionally true whenever an active pool exists, because a constant product curve has no upper price bound. The order-book-only column is the one that answers whether a target is attainable, and it is the one Keel itself uses.

How far the book actually goes

Furthest price the book reaches
not computed

Null by structure, not by failure: an active pool means every target is reachable and a highest price has no meaning

Cost to walk it that far
not computed

Null for the same reason as the price above

Against genuine volume

Not reported for this asset. Without it there is no comparison between the cost of an attack and the genuine trading it would have to hide inside.

Where this number comes from
Source
GET /asset/{assetId}/depth → manipulationCostCombined[], manipulationCostOrderbookOnly[], oracleResistance
What it is
Awaiting methodology copy.
What it does not account for
Awaiting methodology copy.

Which checks fired, and which could not run?

An unevaluated check is not a check that came back clear. The two never share a treatment.

Triggered(3)

  • PRICE_SOURCE_CONFLICT
  • SPREAD_EXTREME
  • THIN_DEPTH_5PCT

Could not be evaluated(6)

  • MANIPULATION_RATIO_LOW
  • NO_GENUINE_TRADE_30D
  • HOLDER_CONCENTRATION_EXTREME
  • NO_GENUINE_TRADE_7D
  • HOLDER_CONCENTRATION_HIGH
  • WASH_TRADE_SUSPECTED
Where this number comes from
Source
GET /asset/{assetId}/depth → flags[], unevaluatedFlags[], bandConfidence
What it is
Awaiting methodology copy.
What it does not account for
Awaiting methodology copy.

Who holds it, and is it genuinely traded?

Concentration and wash trading bound how much of the depth above is real.
Largest holder
not computed
Top ten holders
not computed
Concentration index
not computed

Herfindahl–Hirschman, over the holder distribution

Volume excluded as not genuine
not computed

Of 30 day volume. A high share indicates suspected wash trading

Volume to supply, 30 day
not computed
Last genuine trade
not computed

No genuine trade was found in the window

Where this number comes from
Source
GET /asset/{assetId}/depth → holderTop1Pct, holderTop10Pct, holderHhi, volumeToSupply, lastGenuineTrade, tradesExcludedPct
What it is
Awaiting methodology copy.
What it does not account for
Awaiting methodology copy.

How has this moved over time?

A single reading cannot separate a thin asset from one that just got thin. This is a stored series, not the historical replay that health reports as unavailable — those are different endpoints.

2 readings from horizon, with no gaps reported. One source per chart.

Band at each reading

High
2 of 2

Which checks were firing

Whether a finding has been there all along or started recently. Only checks that fired at least once appear.

PRICE_SOURCE_CONFLICTthroughout
SPREAD_EXTREMEthroughout
THIN_DEPTH_5PCTthroughout

Price

Lowest
0.00076193 USDC (shortened; full value 0.0007619345295201 USDC)
Highest
0.00077821 USDC (shortened; full value 0.0007782187129895 USDC)
2026-09-17T23:45:33Z2026-09-18T12:45:33Z
Mid price
0.00077821 USDC (shortened; full value 0.0007782187129895 USDC)

Buy-side depth

What an order can absorb before the price moves against a buyer. The rungs are nested, so one scale covers all three, and the lines darken as the rung widens.

Lowest
3.83 USDC (shortened; full value 3.8390491835845326022176767891 USDC)
Highest
19.33 USDC (shortened; full value 19.3318705260905432005561015702 USDC)
2026-09-17T23:45:33Z2026-09-18T12:45:33ZOne scale across every line on this chart
2% from mid
3.87 USDC (shortened; full value 3.8799641337176880019743750456 USDC)
5% from mid
9.92 USDC (shortened; full value 9.9292693114514846056765513219 USDC)
10% from mid
19.33 USDC (shortened; full value 19.3318705260905432005561015702 USDC)

Cost to move the price by half

The series carries one manipulation rung, at the half per cent delta the engine treats as critical. A reading the engine could not produce breaks the line rather than sitting at zero.

Lowest
21,000.37 USDC (shortened; full value 21000.37407050010588457444238 USDC)
Highest
21,410.24 USDC (shortened; full value 21410.24553690014442457444238 USDC)
2026-09-17T23:45:33Z2026-09-18T12:45:33Z
Manipulation cost, 0.5%
21,410.24 USDC (shortened; full value 21410.24553690014442457444238 USDC)

Collateral ceiling

Lowest
9.84 USDC (shortened; full value 9.840067988414575500500911714003457363387204933154 USDC)
Highest
9.94 USDC (shortened; full value 9.944934625753457638185643201598618952044744597508 USDC)
2026-09-17T23:45:33Z2026-09-18T12:45:33Z
Max safe collateral
9.94 USDC (shortened; full value 9.944934625753457638185643201598618952044744597508 USDC)
Where this number comes from
Source
GET /asset/{assetId}/history → points[], gaps[], dataSource
What it is
Awaiting methodology copy.
What it does not account for
Awaiting methodology copy.

What was this computed from?

Ledger
64,490,131

Closed at 2026-09-18T13:00:33Z

Computed at
2026-09-18T13:00:38.854011Z
Data source
horizon
Methodology
1.0.8-draft

The version that produced these figures, not the one this page was built against