Developer quickstart
Tempo is EVM-compatible — your existing tooling works, point it at the RPC. Connect a wallet, run your first call, grab an SDK, then pull live ecosystem data from the TempoAtlas API.
Tempo Mainnet
- Chain ID
- 4217 (0x1079)
- RPC
- https://rpc.tempo.xyz
- Explorer
- https://explore.tempo.xyz
Moderato (Testnet)
- Chain ID
- 42431 (0xa5bf)
- RPC
- https://rpc.moderato.tempo.xyz
- Explorer
- https://explore.tempo.xyz
Talk to the chain
curl -s https://rpc.tempo.xyz \
-X POST -H 'content-type: application/json' \
--data '{"jsonrpc":"2.0","id":1,"method":"eth_chainId","params":[]}'
# → {"jsonrpc":"2.0","id":1,"result":"0x1079"} (4217)import { createPublicClient, http, defineChain } from "viem";
export const tempo = defineChain({
id: 4217,
name: "Tempo",
// No native gas token — fees are paid in USD-denominated TIP-20 stablecoins.
nativeCurrency: { name: "USD", symbol: "USD", decimals: 18 },
rpcUrls: { default: { http: ["https://rpc.tempo.xyz"] } },
blockExplorers: { default: { name: "Tempo Explorer", url: "https://explore.tempo.xyz" } },
});
const client = createPublicClient({ chain: tempo, transport: http() });
const block = await client.getBlockNumber();Tempo libraries
tempo-ts
TypeScript
accounts
TypeScript (Accounts SDK)
tempo-go
Go
tempo-alloy
Rust (Alloy)
pytempo
Python
tempo-foundry
Foundry toolchain
Source: github.com/tempoxyz. Verify repo availability against the org — some libraries are pre-release.
Read API · MCP · embeds
Pull the cross-linked ecosystem — entities, categories, validators, metrics — as JSON. No key, CORS-open, built to be cited.
curl -s https://tempoatlas.net/api/v1
# → { name, entities, categories, validators, endpoints, … }Read API
Read-only JSON at /api/v1. No auth. ETag + Cache-Control.
MCP server
Tools for AI agents: search_entities, get_entity, list_validators, get_metric.
Embeds
Drop-in entity cards, metric tiles, and the validator board via iframe.
OpenAPI 3.1 and the MCP endpoint are being finalised. The /api/v1 index and the embed builder below are live.
The filing API
Listings enter through /submit and are reviewed before anything publishes. Review agents work the queue over a key-gated API: claim a filing, write the enrichment — corrected fields, sources, confidence, a recommendation — then decide. Approval creates the entity and lists it, on the record with its sources.
# the queue
curl -s https://tempoatlas.net/api/agent/submissions?status=open \
-H "Authorization: Bearer $AGENT_API_KEY" -H "X-Agent-Name: my-reviewer"
# claim → enrich → decide
curl -s -X POST .../api/agent/submissions/$ID/claim -H "Authorization: Bearer $AGENT_API_KEY"
curl -s -X POST .../api/agent/submissions/$ID/enrich \
-H "Authorization: Bearer $AGENT_API_KEY" -H "content-type: application/json" \
-d '{"sources":[{"url":"https://…"}],"confidence":72,"recommendation":"approve"}'
curl -s -X POST .../api/agent/submissions/$ID/decision \
-H "Authorization: Bearer $AGENT_API_KEY" -H "content-type: application/json" \
-d '{"action":"approve"}'| Endpoint | Does |
|---|---|
| POST /api/submissions | File a listing (multipart; the public form uses it too). |
| POST /api/submissions/autofill | Scrape a project site into prefill suggestions + a captured logo. |
| GET /api/submissions/status/{token} | Submitter-facing status + review ledger. |
| GET /api/agent/submissions?status=open | The review queue, newest first. |
| GET /api/agent/submissions/{id} | One filing with its full event ledger. |
| POST /api/agent/submissions/{id}/claim | Open the filing for review. |
| POST /api/agent/submissions/{id}/enrich | Write the review payload. |
| POST /api/agent/submissions/{id}/decision | approve · reject · needs_info. Approve lists the entity. |
/api/agent/* wants Authorization: Bearer $AGENT_API_KEY and an X-Agent-Nameheader — every action lands on the filing's ledger under that name. Keys are issued by the editors; the public endpoints are rate-limited instead.
Embed a widget
Self-contained, framable widgets in the TempoAtlas house style — they adapt to light or dark automatically. Pick one, copy the iframe, paste it anywhere. No script, no key, attribution built in.
Start typing for suggestions from the wiki.
Live preview
Building on Tempo, answered
- What chain ID is Tempo?
- Tempo mainnet is chain ID 4217 (0x1079), RPC https://rpc.tempo.xyz. The public testnet "Moderato" is chain ID 42431 (0xa5bf), RPC https://rpc.moderato.tempo.xyz.
- How do I pay for gas without a native token?
- You hold a USD-denominated TIP-20 stablecoin and set it as your fee token in the transaction. A Fee AMM converts it to the validator's preferred stablecoin. Standard EVM tooling works; just point it at the Tempo RPC.
- Does TempoAtlas have an API?
- Yes — a read-only JSON API at /api/v1 (no key required) plus an MCP server for AI agents and copy-paste embeddable widgets. The API index lists available endpoints; OpenAPI and the full surface are being finalised.