Oracles
Where the protocol’s prices come from, how a mark becomes an attestation on the state plane, and why reading the chain defeats a man in the middle.
Last updated 2026-09-07 · maintained in the Final Wiki
#Marks, not spot reads
A mark is the protocol's price for an asset. It is built from an index of venues and pools — public market data and on-chain liquidity — as a time-weighted composite, never a single spot read. Each round, a publisher quorum agrees on the mark and publishes it to the state plane, together with the freshness and dispersion of the sources behind it. Fee floors are quoted at these marks; morphing settles at them; Launch Sale purchases are priced at the mark of the round that admits them.
#Attestations you can read
Every published mark is a record on the state plane — the Pre-Final Chain today, Final Chain at release. The API serves them directly:
| Route | Answer |
|---|---|
GET /oracle/{asset} | the current mark |
The explorer shows the same records. A price the protocol used is therefore never something you have to take on trust: it is an attestation with a round, a quorum and a source set, readable by anyone.
#Why this defeats a man in the middle
An intent is also a record on the state plane before it executes. Its target chain, deadline and schedule are public from the moment it is admitted, and the execution on the target chain has to match the admitted record — the gateway verifies it against a root the chain already holds. A party sitting between you and the network cannot substitute what will execute, cannot move the price it settles at, and cannot hide either: you read both, the intent and the mark, from the chain itself.
#Access
The oracle and the state-plane reads are part of the public API, in the test and the production environment, under the RPC and oracle API plans: paid keys and pay-as-you-go, with a key's tier the higher of its plan and the holder's PHI tier. See Developer API and Fees and PHI.
#See also
Security-first architecture · Intents · Morphing · Fees and PHI · Developer API