tempoxyz/tempo
tempoxyz/tempo has 1,042 GitHub stars and 381 forks. Star changes are not measured yet. Last checked 2026-11-09 11:48 UTC. Last push 2026-11-03.
the blockchain for payments
Measured star growth
- in 24h
- Update delayed
- in 7 days
- Update delayed
- in 15 days
- Update delayed
- in 1 month
- Update delayed
Net star changes over overlapping periods, not daily totals. Missing measurements are left blank. Stars measure attention, not software quality.
README.md
OriginalTempo
The blockchain for payments at scale.
Tempo nodes use published network identities to verify consensus finalisation and authenticate snapshots.
Tempo is a blockchain designed specifically for stablecoin payments. Its architecture focuses on high throughput, low cost, and features that financial institutions, payment service providers, and fintech platforms expect from modern payment infrastructure.
You can get started today by integrating with the Tempo testnet, building on Tempo, running a Tempo node, reading the Tempo protocol specs or by building with Tempo SDKs.
What makes Tempo different
TIP‑20 token standard (enshrined ERC‑20 extensions)
- Predictable payment throughput via dedicated payment lanes reserved for TIP‑20 transfers (eliminates noisy‑neighbor contention).
- Native reconciliation with on‑transfer memos and commitment patterns (hash/locator) for off‑chain PII and large data.
- Built‑in compliance through TIP‑403 Policy Registry: single policy shared across multiple tokens, updated once and enforced everywhere.
Low, predictable fees in stablecoins
- Users pay gas directly in USD-stablecoins at launch; the Fee AMM automatically converts to the validator’s preferred stablecoin.
- TIP‑20 transfers target sub‑millidollar costs (<$0.001).
Tempo Transactions (native “smart accounts”)
- Batched payments: atomic multi‑operation payouts (payroll, settlements, refunds).
- Fee sponsorship: apps can pay users' gas to streamline onboarding and flows.
- Scheduled payments: protocol‑level time windows for recurring and timed disbursements.
- Modern authentication: passkeys via WebAuthn/P256 (biometric sign‑in, secure enclave, cross‑device sync).
Performance and finality
- Built on the Reth SDK, the most performant and flexible EVM (Ethereum Virtual Machine) execution client.
- Simplex Consensus (via Commonware): fast, sub‑second finality in normal conditions; graceful degradation under adverse networks.
Coming soon
- On‑chain FX and non‑USD stablecoin support for direct on‑chain liquidity; pay fees in more currencies.
- Native private token standard: opt‑in privacy for balances/transfers coexisting with issuer compliance and auditability.
What makes Tempo familiar
- Fully compatible with the Ethereum Virtual Machine (EVM), targeting the Osaka hardfork.
- Deploy and interact with smart contracts using the same tools, languages, and frameworks used on Ethereum, such as Solidity, Foundry, and Hardhat.
- All Ethereum JSON-RPC methods work out of the box.
While the execution environment mirrors Ethereum's, Tempo introduces some differences optimized for payments, described here.
Getting Started
As a user
You can connect to Tempo's public testnet using the following details:
| Property | Value |
|---|---|
| Network Name | Tempo Testnet (Moderato) |
| Currency | USD |
| Chain ID | 42431 |
| HTTP URL | https://rpc.moderato.tempo.xyz |
| WebSocket URL | wss://rpc.moderato.tempo.xyz |
| Block Explorer | https://explore.tempo.xyz |
Next, grab some stablecoins to test with from Tempo's Faucet.
Alternatively, use cast:
cast rpc tempo_fundAddress <ADDRESS> --rpc-url https://rpc.moderato.tempo.xyz
As an operator
We provide three different installation paths: installing a pre-built binary, building from source or using our provided Docker image.
See the Tempo documentation for instructions on how to install and run Tempo.
As a developer
Tempo has several SDKs to help you get started building on Tempo:
For local development and CI, run the bootstrapped localnet container:
docker run --rm -p 127.0.0.1:8545:8545 ghcr.io/tempoxyz/tempo-localnet:latest
For prover E2E devnets, ghcr.io/tempoxyz/tempo-devnet (also on Docker Hub)
contains the Tempo L1 binary built with custom-pcrs. It is published alongside
the regular images with matching tags, including sha-<short-sha> and nightly.
Pass the prover measurements using --zone-verifier.custom-pcrs or
TEMPO_ZONE_VERIFIER_CUSTOM_PCRS; this variant refuses to start on mainnet and
Moderato. The regular images keep the compiled-in PCR policy.
Want to contribute?
First, clone the repository:
git clone https://github.com/tempoxyz/tempo
cd tempo
Next, install just.
Install the dependencies:
just
Configure Git to run the repository hooks:
./scripts/setup-hooks.sh
Build Tempo:
just build-all
Run the tests:
cargo nextest run
Start a localnet:
just localnet
Contributing
Our contributor guidelines can be found in CONTRIBUTING.md.
Network identities
These BLS threshold public keys are built into Tempo nodes and used by both follow/RPC nodes and validators to verify consensus finalisation certificates, including those used to authenticate snapshots.
Mainnet — from epoch 2042
0x8627d33753b0d90a8eae75363d6b393ab9204076545b3af6caf831903e4bedde4374f1106551b481fb5ea35e59d51c92165c963881c718216e3e4570a307c08885af55c274f19488f709afe021ca3d9e567138ab097860d9146e895407bea182
Testnet (Moderato) — from epoch 1747
0x967ae1a6d3ddbe5cb0fe5e6fc58e74249787b4a277619b549fed6609d04660540dd2449cd7174def35e40f544e5ad72d15d064191a205ed6e0c49619c68f975108b614d0d51def9a8416a10a07c4193bea0cbbc4252ec1b33f21095a5d7aa590
See the network identity loader for how these files are loaded. To override them, see How do I override the network identity?.
Security
See SECURITY.md. Note: Tempo is still undergoing audit and does not have an active bug bounty. Submissions will not be eligible for a bounty until audits have concluded.
Verifying release binaries
Each release ships <binary>-<version>-<target>.tar.gz plus .sha256 (archive checksum) and .asc (GPG signature), and is also covered by Sigstore-signed SLSA build provenance.
The tempoup installer performs these checks automatically on every install. To verify manually, pick one of the two paths below — both prove the archive came from the tagged commit, signed by tempoxyz.
Path A — offline / no GitHub auth required (checksum + GPG):
TAG=v1.6.0
ARCHIVE=tempo-${TAG}-x86_64-unknown-linux-gnu.tar.gz
gh release download "$TAG" --repo tempoxyz/tempo \
-p "$ARCHIVE" -p "$ARCHIVE.sha256" -p "$ARCHIVE.asc"
sha256sum -c "$ARCHIVE.sha256"
# Public key + fingerprint:
# https://docs.tempo.xyz/guide/node/installation#verifying-releases
gpg --verify "$ARCHIVE.asc" "$ARCHIVE"
Path B — Sigstore (requires gh installed and authenticated):
TAG=v1.6.0
ARCHIVE=tempo-${TAG}-x86_64-unknown-linux-gnu.tar.gz
gh release download "$TAG" --repo tempoxyz/tempo -p "$ARCHIVE"
gh attestation verify "$ARCHIVE" --repo tempoxyz/tempo \
--predicate-type https://slsa.dev/provenance/v1
License
Licensed under either of Apache License, Version 2.0 or MIT License at your option.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in these crates by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.
Explore related projects
codecrafters-io/build-your-own-x
Master programming by recreating your favorite technologies from scratch.
561,618 starspublic-apis/public-apis
A collective list of free APIs
497,937 starsmorluto/rea
Reverse engineer anything with agents, from app behavior down to native binaries.
449,963 starsopenclaw/openclaw
The AI that really does things. Any OS. Any Platform. The lobster way. 🦞
394,302 stars