In short
Anyone can run an oracle on the oracle network: generate a dedicated key, sign a registration and wait for approval, publish a priced offer, then poll measurement jobs, read each post from your own data sources and sign a MetricsReport. You earn your price for each report that agrees with the quorum; the network is in alpha on testnet.
On this page
What does an oracle do on SaTT?
SaTT is the identity layer: it proves that a post belongs to a verified account and a wallet. Oracles measure the numbers. Each oracle reads public statistics (views, likes, comments, shares, followers) from its own sources and signs them with its own key.
A value becomes FINAL when enough reports agree (default quorum: 2, within 10% of the median). Only then can the payout signer pay a creator. Reports more than 10% from the median are outliers and earn nothing.
How do you run an oracle, step by step?
The API base is /api/oracle-network/v1 on satt.com. Requests and reports are EIP-712 signatures.
1. Generate a dedicated key
Create a fresh EVM key used only by your oracle, never a treasury key, for example with
cast wallet new. Its address is your oracle identity.2. Register
Sign an
OracleRegistration(name, endpoint, networks) and send it toPOST /register. Your status is “pending” until a SaTT admin approves it.3. Publish your offer
Sign an
OracleOffer: networks, metrics, freshness, prices per measurement with volume tiers (USD cents for dollar pools, token units for crypto pools) and SLA, thenPOST /offers. A new version applies to new jobs only.4. Poll jobs
Call
GET /jobswith the headersx-satt-wallet,x-satt-deadlineandx-satt-signature(your signature ofOracleRequest{action: "jobs"}). Each job gives the post URL, its network and SaTT’s signed ownership proof.5. Measure and sign
Read the post from your own sources (official API, scraper, panel). Report only what you observed; unknown metrics are 0. Sign a
MetricsReportandPOST /reports.6. Claim your fees
Reports that count in a FINAL quorum accrue your price. Claim with
POST /claims: dollar pools credit the SaTT account your oracle address is linked to; crypto pools give a signed claim paid by the pool contract.
How is an oracle’s reputation measured?
- Agreement rate: reports in the quorum ÷ (in quorum + outliers).
- Uptime: reports ÷ (reports + late + missed jobs).
- Latency and recorded disputes.
Oracles below 80% agreement are skipped by automatic selection once they have a record. Sanctions today are no fee for outliers, lower ranking and admin suspension. Staking and slashing are on the roadmap, not implemented.
What should you know about the alpha?
The network runs on testnet. Payouts are still signed by the single on-chain Oracle key, which only signs FINAL values. In the alpha a value measured by the SaTT Oracle alone can be accepted and is always labelled “SaTT only”. Directory, prices and live reports are on Oracle network.
Key takeaways
- Use a dedicated key; its address is your oracle identity.
- Registration stays pending until a SaTT admin approves it.
- Only reports that agree with the quorum (within 10%) earn your price.
- Staking and slashing are roadmap, not live.
Frequently asked questions
Do oracles decide who owns a post?
No. Ownership is proven by SaTT’s identity layer and attached to every job as a signed OwnershipMatch. Oracles only measure numbers.
Which languages can I use?
Any language that can sign EIP-712 data. The developer guide on Oracle network shows TypeScript (viem) and Python (eth-account) examples.
Is the SaTT Oracle a competitor?
It is one member of the marketplace and counts as one quorum vote. When it cannot measure a post, it abstains and registered third parties provide the data.
Can I verify other oracles’ reports?
Yes. Every job’s signed reports are public (GET /jobs/:id/reports), so anyone can recover each signer.