What depth stands behind this price?
ETH against USDC · GBFXOH…MGSOCC
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.
48.78 USDC (shortened; full value 48.780646756389191860174398916038321163015857598573 USDC)
Limited by liquidation depth
- Liquidation termbinds
- 48.78 USDC (shortened; full value 48.780646756389191860174398916038321163015857598573 USDC)
Sell-side depth at the liquidation delta, times the haircut.
- Manipulation term
- 3,097.97 USDC (shortened; full value 3097.97288195 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
- 2,325.5 USDC
Source: order book mid
- Spread
- 27.9939 % (shortened; full value 27.99397978929262524188346592 %)
Undefined unless the price came from a two-sided book
- Pool spot price
- 2,490.66291757 USDC (shortened; full value 2490.6629175743236122 USDC)
Reported whenever an active pool exists, whichever source won
- Divergence between the two
- 6.6312 % (shortened; full value 6.63128343899611629452533907 %)
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?
SPREAD_EXTREME is triggered, so this ladder is not meaningful
The spread is past the threshold at which the engine says the mid price, and every figure derived from it including these rungs, stops describing an executable market.
- 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?
Every target price below is measured from the same unreliable mid
SPREAD_EXTREME is triggered. A target price is the mid price moved by the delta, so when the mid sits between quotes that are far apart, the targets describe a market that is not there. Reachability and the furthest price the book reaches are the readings that still mean something here.
| Move | Target price | Cost, all venues | Cost, order book only |
|---|---|---|---|
| 0.5% | 3,488.25 USDC | 12,608.00 USDC (shortened; full value 12608.0034191752131112891928139656 USDC) | 12,391.89 USDC (shortened; full value 12391.8915278 USDC) |
| 1% | 4,651 USDC | 23,017.13 USDC (shortened; full value 23017.1310583675703221506246827396 USDC) | 22,585.33 USDC (shortened; full value 22585.3330178 USDC) |
| 10% | 25,580.5 USDC | 35,877.91 USDC (shortened; full value 35877.9183898997250358730060127582 USDC) | 33,280.46 USDC (shortened; full value 33280.4656978 USDC) |
| 100% | 234,875.5 USDC | 43,785.88 USDC (shortened; full value 43785.8881415837611931430678797328 USDC) | 33,523.48 USDC (shortened; full value 33523.4806978 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?
Triggered(3)
- ZERO_DEPTH_2PCT
- 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?
- 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?
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,131
Closed at 2026-09-18T13:00:33Z
- Computed at
- 2026-09-18T13:00:42.052083Z
- Data source
- horizon
- Methodology
- 1.0.8-draft
The version that produced these figures, not the one this page was built against