Skip to content
Keel
Ledger
64,489,412
Methodology
1.0.8-draft
Age
5s

What depth stands behind this price?

EURC against USDC · GDHU6W…ITNPP2

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.

12,303.15 USDC (shortened; full value 12303.15700186883599460684291 USDC)

Limited by manipulation cost

Liquidation term
24,697.12 USDC (shortened; full value 24697.12847096629526191874052910631877958282738053128 USDC)

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

Manipulation termbinds
12,303.15 USDC (shortened; full value 12303.15700186883599460684291 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
1.14286928 USDC (shortened; full value 1.14286928965767645 USDC)

Source: order book mid

Spread
0.1816 % (shortened; full value 0.18163973112787863744308058 %)

Undefined unless the price came from a two-sided book

Pool spot price
1.14361755 USDC (shortened; full value 1.1436175531907974 USDC)

Reported whenever an active pool exists, whichever source won

Divergence between the two
0.0654 % (shortened; full value 0.0654295250219993927835135 %)

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
42,245.33 USDC (shortened; full value 42245.3369493795444058994457672205 USDC)
Sell side
36,848.71 USDC (shortened; full value 36848.713008509209019174027551067706047119801420897184 USDC)

5% from mid

Buy side
46,710.97 USDC (shortened; full value 46710.9706061903607290712921946805 USDC)
Sell side
48,777.34 USDC (shortened; full value 48777.340444283840378583393872662713101418555088439616 USDC)

10% from mid

Buy side
48,907.18 USDC (shortened; full value 48907.1887828587764554652594797797 USDC)
Sell side
49,394.25 USDC (shortened; full value 49394.25694193259052383748105821263755916565476106256 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.714303 USDC (shortened; full value 1.714303934486514675 USDC)49,757.05 USDC (shortened; full value 49757.0590894436706855811657165318 USDC)49,212.62 USDC (shortened; full value 49212.62800747534397842737164 USDC)
1%2.285738 USDC (shortened; full value 2.2857385793153529 USDC)50,409.20 USDC (shortened; full value 50409.2051304515386099076656215314 USDC)49,405.12 USDC (shortened; full value 49405.12800747534397842737164 USDC)
10%12.571562 USDC (shortened; full value 12.57156218623444095 USDC)56,312.90 USDC (shortened; full value 56312.9045324273317830898552586017 USDC)50,693.62 USDC (shortened; full value 50693.62800747534397842737164 USDC)
100%115.429798 USDC (shortened; full value 115.42979825542532145 USDC)76,553.46 USDC (shortened; full value 76553.4609099454364233579020185836 USDC)54,599.49 USDC (shortened; full value 54599.49567499233757842737164 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(1)

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

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

Band at each reading

Low
52 of 163
Medium
111 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.

THIN_DEPTH_5PCT111 of 163

Price

Lowest
1.14167035 USDC (shortened; full value 1.1416703565158065 USDC)
Highest
1.15887064 USDC (shortened; full value 1.15887064427797595 USDC)
2026-09-11T17:47:56Z2026-09-18T11:45:33Z
Mid price
1.14456004 USDC (shortened; full value 1.144560045 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
21,463.04 USDC (shortened; full value 21463.044367585751044217157441609 USDC)
Highest
224,920.54 USDC (shortened; full value 224920.5479751870821532152125342045 USDC)
2026-09-11T17:47:56Z2026-09-18T11:45:33ZOne scale across every line on this chart
2% from mid
39,608.12 USDC (shortened; full value 39608.1273021807054874971723525805 USDC)
5% from mid
43,374.11 USDC (shortened; full value 43374.1188275669139959758655011961 USDC)
10% from mid
45,011.57 USDC (shortened; full value 45011.5788838576673298317069127522 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
29,420.24 USDC (shortened; full value 29420.24456949276701673192614 USDC)
Highest
224,936.58 USDC (shortened; full value 224936.58496405339980200646581 USDC)
2026-09-11T17:47:56Z2026-09-18T11:45:33Z
Manipulation cost, 0.5%
45,197.92 USDC (shortened; full value 45197.92430619362492612849658 USDC)

Collateral ceiling

Lowest
7,355.06 USDC (shortened; full value 7355.061142373191754182981535 USDC)
Highest
56,234.14 USDC (shortened; full value 56234.1462410133499505016164525 USDC)
2026-09-11T17:47:56Z2026-09-18T11:45:33Z
Max safe collateral
11,299.48 USDC (shortened; full value 11299.481076548406231532124145 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,489,412

Closed at 2026-09-18T12:00:38Z

Computed at
2026-09-18T12:00:43.11962Z
Data source
horizon
Methodology
1.0.8-draft

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