What depth stands behind this price?
eBTC against USDC · GCEAHW…UEEBTC
How much can this asset safely back?
- Low
- Medium
- High
- 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
- 40.64 USDC (shortened; full value 40.647114083148343289643671548364808803742843860658 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.
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?
- Mid price
- 0.00171879 USDC (shortened; full value 0.001718794422947 USDC)
Source: AMM pool spot
- Spread
- not computed
Undefined unless the price came from a two-sided book
- Pool spot price
- 0.00171879 USDC (shortened; full value 0.001718794422947 USDC)
Reported whenever an active pool exists, whichever source won
- Divergence between the two
- not computed
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?
- SDEX
- AMM
- Sell side, composition not reported
2% from mid
5% from mid
10% from mid
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?
| Move | Target price | Cost, all venues | Cost, order book only |
|---|---|---|---|
| 0.5% | 0.002578 USDC (shortened; full value 0.0025781916344205 USDC) | 358.17 USDC (shortened; full value 358.1792711544405112920011322925 USDC) | free to reach |
| 1% | 0.003437 USDC (shortened; full value 0.003437588845894 USDC) | 660.13 USDC (shortened; full value 660.1383646907635745230938398565 USDC) | free to reach |
| 10% | 0.018906 USDC (shortened; full value 0.018906738652417 USDC) | 3,692.03 USDC (shortened; full value 3692.0396617284465886342522090781 USDC) | free to reach |
| 100% | 0.173598 USDC (shortened; full value 0.173598236717647 USDC) | 14,422.92 USDC (shortened; full value 14422.9224628826417375700555953705 USDC) | free to reach |
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?
Triggered(5)
- MANIPULATION_CHEAP
- MANIPULATION_RATIO_LOW
- HOLDER_CONCENTRATION_EXTREME
- THIN_DEPTH_5PCT
- HOLDER_CONCENTRATION_HIGH
Could not be evaluated(5)
- PRICE_SOURCE_CONFLICT
- SPREAD_EXTREME
- 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?
- Largest holder
- 94.4231 % (shortened; full value 94.42318753797337025766758876 %)
- Top ten holders
- 98.4769 % (shortened; full value 98.47692218034962546402293913 %)
- Concentration index
- 8,919.82 (shortened; full value 8919.8239599059055753937171636075255937486548760191464746)
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?
This source is a lower bound, not a measurement
Trades-implied rebuilds the book from trades that happened, so every figure below is a floor: the real value is at least this, and may be more. It is not comparable with a direct reading.
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,491
Closed at 2026-09-18T13:30:33Z
- Computed at
- 2026-09-18T13:30:40.13309Z
- Data source
- horizon
- Methodology
- 1.0.8-draft
The version that produced these figures, not the one this page was built against