Oracle reads
Public reads on the OracleFacet — signer set, consensus config, and per-event submissions.
All endpoints GET, public, no auth.
/v1/oracle/oracles/:chainId
The current authorised signer set.
{
"data": {
"chainId": 8453,
"oracles": [
"0x1f038152d5e6f120e26f8f11688cb9dc27703236",
"0x488f6090ede627cddf3f4f12e46fb5665ebbccfa",
"0xa1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8a9b0"
]
}
}
Addresses are lower-cased in the response.
/v1/oracle/config/:chainId
Consensus parameters.
{
"data": {
"chainId": 8453,
"requiredSigners": 3,
"toleranceBps": 700,
"oracleCount": 5,
"maxOracles": 10
}
}
See Concepts → Oracle consensus for what these mean.
/v1/oracle/is-authorised/:chainId/:addr
Is a given address an authorised oracle?
{ "data": { "chainId": 8453, "addr": "0x1f03...", "authorised": true } }
400 validation_error if the address is malformed.
/v1/oracle/submissions/:chainId/:eventId
Every submission for an event. The contract returns parallel arrays; the API zips them into a per-oracle structure.
{
"data": {
"chainId": 8453,
"eventId": 12,
"count": 5,
"submissions": [
{ "oracle": "0x1f03...", "price": "11700000", "timestamp": 1775676000, "isStale": false },
{ "oracle": "0x488f...", "price": "11710000", "timestamp": 1775676100, "isStale": false },
...
]
}
}
isStale flags submissions older than the staleness window — those are
ignored when the contract computes consensus.
/v1/oracle/submission/:chainId/:eventId/:oracle
A single oracle's submission for an event.
{
"data": {
"chainId": 8453, "eventId": 12,
"oracle": "0x1f03...",
"price": "11700000",
"timestamp": 1775676000,
"exists": true,
"isStale": false
}
}
If the oracle hasn't submitted for this event, exists: false.
/v1/oracle/submitter-count/:chainId/:eventId
How many oracles have submitted so far. Useful for showing "3 / 5 oracles have submitted" in a settlement UI.
{ "data": { "chainId": 8453, "eventId": 12, "count": 3 } }