
Prices on the ledger
4 minDifficulty Checked 2026-11-10- A blockchain cannot look up outside data. An oracle brings it on-ledger.
- On the XRPL, an oracle is a ledger entry owned by one account.
- Only the owner can change an oracle. Readers have to trust that owner.
The XRP Ledger knows what happens on the XRP Ledger. It knows every balance and every trade on its own exchange. It does not know the price of gold, a stock or a currency in the outside world. It has no way to go and look.
Many financial apps need those outside prices. A lending app has to value what it holds. A stablecoin tool has to know an exchange rate.
An oracle fixes this. Picture a scoreboard at a stadium. The game happens on the field. Someone with a view of the field writes the score on the board, and everyone in the stadium reads it from there.
On the XRP Ledger:
- The field is the outside market.
- The scorekeeper is an account that publishes prices. It is run by whoever publishes the data.
- The scoreboard is a ledger entry called an
Oracle. It holds prices for up to 10 pairs, such as BTC/USD.
Anyone can read the scoreboard. Only the scorekeeper can write on it.
That is the catch. The ledger does not check whether a posted price is true. It stores what the owner submits. If the scorekeeper is wrong, late or dishonest, the board is wrong.
Careful apps do two things. They choose oracles run by publishers they trust. They read several oracles and combine the answers, so one bad number has less effect.
The feature is live on mainnet. It was added by the PriceOracle amendment.
XLS-47 adds one ledger entry type, two transactions and one API method.
| Piece | Kind | Purpose |
|---|---|---|
Oracle | Ledger entry | Holds price data for up to 10 asset pairs |
OracleSet | Transaction | Creates or updates an oracle |
OracleDelete | Transaction | Deletes an oracle |
get_aggregate_price | API method | Combines prices from many oracles |
Each oracle is identified by its Owner account and an OracleDocumentID. The ID number must be unique per owner, so one account can run many oracles.
Descriptive fields on the entry:
Provider: an arbitrary value naming the data provider. xrpl.org gives Chainlink, Band and DIA as examples.AssetClass: a short label such as "currency", "commodity" or "index".URI: an optional link to price data off the ledger.
These are labels the owner sets. The entry's real identity is the Owner address. xrpl.org recommends that oracle owners set up multi-signing on that account.
The XRPL oracle is the last step of a longer chain. Off-ledger oracle networks collect and check prices. They send the result to an XRPL oracle account, which stores it on-ledger with OracleSet. Apps then query the entry.
The feature reports asset prices only. It is not a general data feed for other facts, such as sports results or weather.
Related: Inside an oracle, Lending Protocol.
- Price OraclesRead 2026-11-10
- XLS-47 Price Oracles on XRP LedgerRead 2026-11-10
- Oracle ledger entryRead 2026-11-10
- OracleSetRead 2026-11-10
- Known AmendmentsRead 2026-11-10
