Skip to content
Keel
Ledger
64,488,696
Methodology
1.0.8-draft
Age
16s

What depth stands behind this price?

XRP against USDC · GBXRPL…PRDTD5

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.

348.22 USDC (shortened; full value 348.2228171219015350297564125 USDC)

Limited by manipulation cost

Liquidation term
601.59 USDC (shortened; full value 601.5956341517874745169386332199298296262856629268735 USDC)

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

Manipulation termbinds
348.22 USDC (shortened; full value 348.2228171219015350297564125 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.32912258 USDC (shortened; full value 1.32912258128068775 USDC)

Source: order book mid

Spread
0.3603 % (shortened; full value 0.36032060765688881133993397 %)

Undefined unless the price came from a two-sided book

Pool spot price
1.33096724 USDC (shortened; full value 1.3309672424709525 USDC)

Reported whenever an active pool exists, whichever source won

Divergence between the two
0.1385 % (shortened; full value 0.13859553649420553176861183 %)

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
1,306.02 USDC (shortened; full value 1306.0205402344707111302634049704 USDC)
Sell side
1,000.30 USDC (shortened; full value 1000.301575281876660282093426375740001783217138323077 USDC)

5% from mid

Buy side
1,328.28 USDC (shortened; full value 1328.2897111999089573377182536569 USDC)
Sell side
1,008.14 USDC (shortened; full value 1008.149341260163777892704567124618429928969986221119 USDC)

10% from mid

Buy side
1,353.37 USDC (shortened; full value 1353.3772621464852170728452710496 USDC)
Sell side
1,203.19 USDC (shortened; full value 1203.191268303574949033877266439859659252571325853747 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.993683 USDC (shortened; full value 1.993683871921031625 USDC)1,508.73 USDC (shortened; full value 1508.7322498618019779684718701994 USDC)1,392.89 USDC (shortened; full value 1392.89126848760614011902565 USDC)
1%2.658245 USDC (shortened; full value 2.6582451625613755 USDC)2,938.59 USDC (shortened; full value 2938.5969127388195297625232176642 USDC)2,724.79 USDC (shortened; full value 2724.79510012560614011902565 USDC)
10%14.620348 USDC (shortened; full value 14.62034839408756525 USDC)238,119.46 USDC (shortened; full value 238119.4673444779493445878416817781 USDC)236,922.06 USDC (shortened; full value 236922.06352202250064011902565 USDC)
100%134.241380 USDC (shortened; full value 134.24138070934946275 USDC)567,022.01 USDC (shortened; full value 567022.0167394560694585534390015402 USDC)562,343.32 USDC (shortened; full value 562343.32614130333230011902565 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)

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

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

Band at each reading

Critical
162 of 162

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
THIN_DEPTH_5PCTthroughout
ZERO_DEPTH_2PCT1 of 162

Price

Lowest
1.25985960 USDC (shortened; full value 1.2598596057417886 USDC)
Highest
1.47633615 USDC (shortened; full value 1.47633615015863905 USDC)
2026-09-11T17:48:29Z2026-09-18T10:46:08Z
Mid price
1.33320245 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
0.91 USDC (shortened; full value 0.9124175014125687492428919827 USDC)
Highest
5,488.08 USDC (shortened; full value 5488.0847008882257291924434033201 USDC)
2026-09-11T17:48:29Z2026-09-18T10:46:08ZOne scale across every line on this chart
2% from mid
1,310.06 USDC (shortened; full value 1310.0667925736899897647119815272 USDC)
5% from mid
1,332.34 USDC (shortened; full value 1332.3476548806116452192408079914 USDC)
10% from mid
1,357.45 USDC (shortened; full value 1357.4543262283901932491512183355 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
91.65 USDC (shortened; full value 91.6571016716296 USDC)
Highest
7,078.18 USDC (shortened; full value 7078.18204616743522067221929 USDC)
2026-09-11T17:48:29Z2026-09-18T10:46:08Z
Manipulation cost, 0.5%
1,396.13 USDC (shortened; full value 1396.13839696938539710341927 USDC)

Collateral ceiling

Lowest
22.91 USDC (shortened; full value 22.9142754179074 USDC)
Highest
718.49 USDC (shortened; full value 718.49528364705929854163096807439264419886581647126 USDC)
2026-09-11T17:48:29Z2026-09-18T10:46:08Z
Max safe collateral
349.03 USDC (shortened; full value 349.0345992423463492758548175 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,696

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

Computed at
2026-09-18T11:01:14.55045Z
Data source
horizon
Methodology
1.0.8-draft

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