Skip to content
Keel
Ledger
64,488,689
Methodology
1.0.8-draft
Age
8s

What depth stands behind this price?

ACT against USDC · GAHHUL…HX3FS7

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

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

0 USDC

Limited by manipulation cost

Liquidation term
4.57 USDC (shortened; full value 4.57597528770193714231877751466973200110012960916 USDC)

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

Manipulation termbinds
0 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.00066938 USDC (shortened; full value 0.0006693866507856 USDC)

Source: AMM pool spot

Spread
1,019.9635 % (shortened; full value 1019.963572919652068224428042 %)

Undefined unless the price came from a two-sided book

Pool spot price
0.00066938 USDC (shortened; full value 0.0006693866507856 USDC)

Reported whenever an active pool exists, whichever source won

Divergence between the two
539.1746 % (shortened; full value 539.17468252147599509361063334 %)

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
1.78 USDC (shortened; full value 1.7852918745306075101622421593 USDC)
Sell side
1.79 USDC (shortened; full value 1.79243307311151977155960166462417460208541133 USDC)

5% from mid

Buy side
4.43 USDC (shortened; full value 4.4307267873732281491609087203 USDC)
Sell side
4.51 USDC (shortened; full value 4.51573397679907857980954816600443512832880129598 USDC)

10% from mid

Buy side
8.75 USDC (shortened; full value 8.7571573308545056558022323862 USDC)
Sell side
9.15 USDC (shortened; full value 9.15195057540387428463755502933946400220025921832 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.001004 USDC (shortened; full value 0.0010040799761784 USDC)40.32 USDC (shortened; full value 40.3231436893934031606238144229 USDC)free to reach
1%0.001338 USDC (shortened; full value 0.0013387733015712 USDC)74.31 USDC (shortened; full value 74.3171263052497228445287694799 USDC)free to reach
10%0.007363 USDC (shortened; full value 0.0073632531586416 USDC)415.64 USDC (shortened; full value 415.6428296561681115191630989188 USDC)free to reach
100%0.067608 USDC (shortened; full value 0.0676080517293456 USDC)2,403.10 USDC (shortened; full value 2403.1071359741215336116104953364 USDC)779.40 USDC (shortened; full value 779.40185281430774 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(6)

  • MANIPULATION_CHEAP
  • MANIPULATION_RATIO_LOW
  • PRICE_SOURCE_CONFLICT
  • SPREAD_EXTREME
  • 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
41.5175 % (shortened; full value 41.51754326161869072704407124 %)
Top ten holders
80.1240 % (shortened; full value 80.12407931291155667787330842 %)
Concentration index
2,056.52 (shortened; full value 2056.5241204774952615256026998876242994719392719756550715)

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.

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

Band at each reading

Critical
163 of 163

Which checks were firing

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

MANIPULATION_CHEAPthroughout
PRICE_SOURCE_CONFLICTthroughout
SPREAD_EXTREMEthroughout
THIN_DEPTH_5PCTthroughout
HOLDER_CONCENTRATION_HIGH150 of 163
MANIPULATION_RATIO_LOW147 of 163

Price

Lowest
0.00062535 USDC (shortened; full value 0.000625359242101 USDC)
Highest
0.00072080 USDC (shortened; full value 0.0007208031498475 USDC)
2026-09-11T17:47:45Z2026-09-18T11:00:23Z
Mid price
0.00066938 USDC (shortened; full value 0.0006693866507856 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
1.72 USDC (shortened; full value 1.7253470127127024440640647321 USDC)
Highest
9.07 USDC (shortened; full value 9.0713179494697380194449880917 USDC)
2026-09-11T17:47:45Z2026-09-18T11:00:23ZOne scale across every line on this chart
2% from mid
1.78 USDC (shortened; full value 1.7852918745306075101622421593 USDC)
5% from mid
4.43 USDC (shortened; full value 4.4307267873732281491609087203 USDC)
10% from mid
8.75 USDC (shortened; full value 8.7571573308545056558022323862 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
0 USDC
Highest
0 USDC
2026-09-11T17:47:45Z2026-09-18T11:00:23Z
Manipulation cost, 0.5%
0 USDC

Collateral ceiling

Lowest
0 USDC
Highest
0 USDC
2026-09-11T17:47:45Z2026-09-18T11:00:23Z
Max safe collateral
0 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,488,689

Closed at 2026-09-18T11:00:23Z

Computed at
2026-09-18T11:00:31.876996Z
Data source
horizon
Methodology
1.0.8-draft

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