Skip to content
Keel
Ledger
64,490,135
Methodology
1.0.8-draft
Age
8s

What depth stands behind this price?

sUSD against USDC · GCHW7C…T7JYIH

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 — this asset
  3. High
  4. Critical

Mediumpartial 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.

19,178.60 USDC (shortened; full value 19178.608032452935653023801449619842294784468559623568 USDC)

Limited by liquidation depth

Liquidation termbinds
19,178.60 USDC (shortened; full value 19178.608032452935653023801449619842294784468559623568 USDC)

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

Manipulation term
42,784.45 USDC (shortened; full value 42784.45053121552266096316868 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.99350170 USDC (shortened; full value 0.9935017067348353 USDC)

Source: order book mid

Spread
0.1002 % (shortened; full value 0.10021449199711676560417613 %)

Undefined unless the price came from a two-sided book

Pool spot price
0.99280364 USDC (shortened; full value 0.9928036442726618 USDC)

Reported whenever an active pool exists, whichever source won

Divergence between the two
0.0703 % (shortened; full value 0.07031223809466450608543516 %)

Null means there is no pool to diverge from, not that the sources agree

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
171,142.72 USDC (shortened; full value 171142.7288099628575498311766335296 USDC)
Sell side
38,156.54 USDC (shortened; full value 38156.545023128556591409070708902871173632886078794688 USDC)

5% from mid

Buy side
171,149.78 USDC (shortened; full value 171149.7801431690002600269393050497 USDC)
Sell side
38,163.80 USDC (shortened; full value 38163.803905968299673162856747779920333632341303171968 USDC)

10% from mid

Buy side
171,161.31 USDC (shortened; full value 171161.3121234899746057547525526062 USDC)
Sell side
38,357.21 USDC (shortened; full value 38357.216064905871306047602899239684589568937119247136 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%1.490252 USDC (shortened; full value 1.49025256010225295 USDC)171,245.45 USDC (shortened; full value 171245.4503824635964463402068604734 USDC)171,137.80 USDC (shortened; full value 171137.80212486209064385267472 USDC)
1%1.987003 USDC (shortened; full value 1.9870034134696706 USDC)171,336.06 USDC (shortened; full value 171336.0603979527531222443841879522 USDC)171,137.80 USDC (shortened; full value 171137.80212486209064385267472 USDC)
10%10.928518 USDC (shortened; full value 10.9285187740831883 USDC)172,245.85 USDC (shortened; full value 172245.8545699674209380523742253249 USDC)171,137.80 USDC (shortened; full value 171137.80212486209064385267472 USDC)
100%100.343672 USDC (shortened; full value 100.3436723802183653 USDC)175,465.91 USDC (shortened; full value 175465.9114506453471704786684590419 USDC)171,137.80 USDC (shortened; full value 171137.80212486209064385267472 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(2)

  • THIN_DEPTH_5PCT
  • HOLDER_CONCENTRATION_HIGH

Could not be evaluated(3)

  • NO_GENUINE_TRADE_30D
  • NO_GENUINE_TRADE_7D
  • 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
35.1574 % (shortened; full value 35.15747673403019738143477979 %)
Top ten holders
92.8848 % (shortened; full value 92.88484911344507045928038618 %)
Concentration index
2,212.24 (shortened; full value 2212.2433547256137859145572347699038611680653292295347081)

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.

No readings were stored in this range from this source

The engine accepted the request and returned nothing for Trades implied. The series is as old as the deployment, and the reconstruction sources are not populated in production, so a window can reach back further than anything that was recorded. It is not empty because the figures were zero.

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,135

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

Computed at
2026-09-18T13:01:01.49557Z
Data source
horizon
Methodology
1.0.8-draft

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