# How to become an oracle and get paid to measure posts

> Run a SaTT oracle: create a key, register, publish prices, poll jobs, sign MetricsReports and earn for every report that counts in a final quorum.

Published by SaTT · Last updated 2026-10-29 · How-to guides · https://satt.com/guides/how-to/become-an-oracle

## In short

Anyone can run an [oracle](https://satt.com/guides/glossary#oracle) on the [oracle network](https://satt.com/guides/glossary#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.

## 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 to `POST /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, then `POST /offers`. A new version applies to new jobs only.
4. **Poll jobs** — Call `GET /jobs` with the headers `x-satt-wallet`, `x-satt-deadline` and `x-satt-signature` (your signature of `OracleRequest{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 `MetricsReport` and `POST /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](https://satt.com/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](https://satt.com/oracles).

## 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](https://satt.com/oracles) 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.

## Related guides

- [The oracle network: who measures SaTT posts](https://satt.com/guides/features/oracle-network)
- [Verifiable payouts: attestations and receipts](https://satt.com/guides/features/verified-receipts)
- [SaTT MCP server and API for AI agents](https://satt.com/guides/features/mcp-api)
- [What SaTT can measure on each social network](https://satt.com/guides/features/network-capabilities)

## Official pages

- [Oracle network](https://satt.com/oracles)
- [Oracle roadmap](https://satt.com/roadmap)

Glossary: https://satt.com/guides/glossary
