The oracle, live

Every number below is read from the chain as you look at it, through the same call any contract makes.

Read the docs

Read the oracle

One call returns the average over the window you choose, so a short window follows the market and a long one resists it.

UpdatesEvery swap
LatencySame block
Window5 min to 24 h
Quote assetAny allowlisted: ETH, stables, stocks
Min. observations12
Read costOne storage read

Moving a 30-minute average by 10% means holding the spot price 10% away for most of 30 minutes against everyone who trades, and because the recorded price cannot move faster than about 3% per second, a single block cannot jump it.

// Any contract on Robinhood Chain. Interface in the docs.
import {IDelphiOracle} from "./IDelphiOracle.sol";

IDelphiOracle oracle = IDelphiOracle(0x5320…facC);

// 30-minute time-weighted price, quote asset per token
uint256 price = oracle.consult(PYTHIA, 30 minutes);

// Quote needed to move spot 1%. Thin pool, small number.
uint256 depth = oracle.depth(PYTHIA, 100);

// Reverts if fewer than 12 swaps have been recorded

Who reads Delphi prices

Any contract on Robinhood Chain can call the oracle. Lending markets, perps, index vaults and feeds shaped like Chainlink's all read the same number.

Use cases, compared with a plain pool
Contracts
Token factory0x1Dd2…183f
View
Oracle hook0x5320…facC
View
Router0xF9D6…961E
View
Feed factory0xFf2f…7134
View
ChainRobinhood Chain testnet
Chain id46630
RPChttps://rpc.testnet.chain.robinhood.com
Explorerhttps://explorer.testnet.chain.robinhood.com

Source verified on the explorer.