LP Prices
The LP Prices page displays, for each LP market, the oracle price used by the protocol, its freshness, the live DEX value of the LP token, and their history. No wallet is required.
Price source
An LP token has no market of its own. Its value is derived from the AMM pool: the two reserves, the oracle prices of the two assets, and the LP token supply. Securd computes two values from the same inputs.
| Value | Formula | Description |
|---|---|---|
| DEX value | (A + B) / L | The redemption value of one LP token at the current reserves. A and B are the USD values of the two reserves at oracle prices, L the LP token supply |
| Fair value | 2 × √(A × B) / L | The value of one LP token if the pool were balanced at oracle prices. Equal to the DEX value when the pool is balanced, lower when it is skewed |
| Oracle price | Fair value × (1 − haircut) | The price published on-chain and used to value LP collateral |
The fair value depends only on the pool's invariant and the oracle prices. Trades that skew the reserves cannot raise it, which protects the protocol against pool manipulation. The difference between the two values is under 0.01 % for an imbalance of up to a few percent between the two sides.
The oracle price is published by Securd's publisher. It is re-published at least every two minutes, or earlier on a move of 1 % or more. The page takes a snapshot every 5 minutes.
Gap vs DEX
Gap vs DEX is the difference between the oracle price and the DEX value at the last snapshot. It is at least the haircut: it equals the haircut when the pool is balanced, grows with the pool's imbalance, and drifts between two publications. It is expected, not a discrepancy between two sources.
Freshness badge
| Badge | Meaning |
|---|---|
| ✓ Updated … ago | The oracle price is live |
| ⚠ Stale price | No publication for more than 15 minutes. The protocol ignores the last price. The displayed figure is marked not used (stale) |
| Oracle price not published yet | No price has been published on-chain |
Market not open yet indicates a market listed on-chain but not available in the app. View market → opens the market details page when the market is open.
A published price remains valid for 15 minutes. A publication that is skipped does not make the price stale by itself; the price becomes stale only when no publication has succeeded for 15 minutes.
Chart
The chart displays the history over the selected range: 24h, 7d, 30d or All. The percentage next to the DEX value is the change over the range.
| Series | Description |
|---|---|
| Oracle price (teal line) | AMM value with the haircut applied, as published. A gap in the line is a period without a usable price |
| DEX value (grey area) | Live AMM value, no haircut |
Hover a point to display both values and the gap at that time. Not enough data points yet indicates fewer than two snapshots in the range.
Pool data
| Field | Description |
|---|---|
| TVL | Total value of the pool, in USD |
| Reserves | The two reserves of the pool |
| Supply | LP tokens in circulation |
| Fee | The pool's trading fee |
| Snapshot | Age of the last snapshot |
| Ledger | The validated XRPL ledger of the snapshot, with a link to the explorer |
Publication guards
The publisher runs every minute. It reads the pool from a validated XRPL ledger and the asset prices from the oracle, computes the oracle price, and publishes it only when every guard passes. When a guard fails, nothing is published: the last price stays valid until it expires, and the price becomes stale rather than incorrect.
Values for the XRP/USDC pool as of 2026-10-11.
| Guard | Rule |
|---|---|
| Valid inputs | Reserves, supply and both asset prices must be read and above zero |
| Pool size | Pool value of at least $25,000 |
| Concentration | Neither side above 85 % of the pool value |
| Reserve movement | Neither reserve moved more than 15 % since the reference snapshot, 5 to 20 minutes old |
| Step bound | The new price within +5 % / −10 % of the last published price. A larger move is skipped, never clamped, and raises an alert |
| First publication | A first publication, or the first after a gap, requires the reference snapshot to agree within 1 % and an operator approval |
| Publisher balance | The publisher holds enough XRP to pay for the transaction |
A sustained move of the pool beyond the step bound stops publication until an operator reviews it; the price then goes stale after 15 minutes and LP collateral stops counting for new borrows. See Health factor and liquidations.
The oracle contract itself only checks that the caller is authorized and the price is non-zero. The guards are applied by the publisher before publication.