XRPL price data · XLS-47 PriceOracle

How prices get onto XRPL

Every AMM swap, every lending liquidation, every on-chain rate needs a source of truth for asset prices. The XLS-47 PriceOracle amendment lets accounts publish signed price feeds directly to the ledger as native PriceOracle objects — no bridge, no API middleman. This page decodes what's actually live on mainnet today.
Production providers
1
publishing to mainnet
Live oracle objects
2
PriceOracle ledger entries
Snapshot age
30m
walker cadence: 30 min

What a PriceOracle is

A PriceOracle is a native XRPL object that stores a set of signed price pairs (up to 10) alongside a Unix timestamp. Anyone can create one; consumers (AMM invariants, lending protocols, dApps) read the pairs directly from the ledger without trusting any off-chain relay.

Each entry carries a Provider tag, a URI pointing at the publisher's methodology, and a PriceDataSeries array. Prices are stored as an integer plus a Scale field — the real value is int(AssetPrice) ÷ 10^Scale. We decode all of that below so you're reading the actual number, not a hex blob.

Oracle #1 · doc 42
stale
These prices are stale
The oracle's LastUpdateTime is 2.0 hours old. The pairs below are historical values from that update — do not treat them as current market prices.
providerdiadata doc id42 asset classcurrency last update 2026-07-02T14:23:28+00:00 (2.0h ago)
Pair Price Scale Raw (hex)
XRP/USD $1.0952 8 6871dd3
BTC/USD $61,895.30 8 5a11cbff5fd
ETH/USD $1,703.08 8 27a72546bc
BTC/USD pending
ETH/USD pending
EUROP/USD $1.1383 8 6c8e870
RLUSD/USD $0.999900 8 5f5b9f0
USDC/USD $0.999607 8 5f5474d
USDT/USD $0.998734 8 5f3f261
XRP/USD pending
Oracle #2
cold — not live
These prices are not live
The oracle's LastUpdateTime is 16.4 months old. The pairs below are historical values from that update — do not treat them as current market prices.
providerdiadata asset classcurrency last update 2025-02-24T11:44:09+00:00 (493.2d ago)
Pair Price Scale Raw (hex)
XRP/USD $2.4835 8 ecd8ff2
BTC/USD $95,832.18 8 8b744504564
DAI/USD pending
ETH/USD $2,684.82 8 3e82c17085
Band Protocol has been press-claimed as an XRPL price provider but is not currently observed publishing PriceOracle objects on mainnet. This footnote will auto-clear once a Band-tagged owner surfaces in the walker.
Scope note. This page curates production providers currently publishing to mainnet. It's an explainer, not a full directory. For every PriceOracle object on-ledger (including hobbyist and experimental feeds), see XRPLWin's Price Oracles directory. New production providers get added by editing named_accounts.json (the walker picks them up on the next 30-minute cycle).

How to read this

Fresh / Recent / Stale / Cold — the pill is the age of the oracle's LastUpdateTime. Fresh is under 15 minutes; Recent is under an hour; Stale is under a day; Cold is over a day (typical for uninitialized or abandoned oracles).

Prices — the actual numeric value after applying Scale. A 40-character hex currency code (custom-issued tokens) is decoded to its ASCII label where possible; otherwise it renders as a truncated hex fingerprint.

Provider tag — published by the oracle itself; it's not verified against any registry (Provider is any string the account chooses). The r-address is what actually identifies the publisher.