the blockchain for payments
See the codeThe 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.
TIP‑20 token standard (enshrined ERC‑20 extensions)
Low, predictable fees in stablecoins
Tempo Transactions (native “smart accounts”)
Performance and finality
Coming soon
While the execution environment mirrors Ethereum's, Tempo introduces some differences optimized for payments, described here.
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
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.
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
Our contributor guidelines can be found in CONTRIBUTING.md.
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 0
0xa217bb85001d4dcf8e5c50136f77af88cb2cab1857279b91c6240f41cca95c4f43f6dcab3e0dfb87dafb3ecbeb6251e90a5df2e6c47432482821cd8b84665ee4642589d2d9628a92b03e2bbfb00e006d038cd98def76d2a41b7c228c05f5a193
Testnet (Moderato) — from epoch 1747
0x967ae1a6d3ddbe5cb0fe5e6fc58e74249787b4a277619b549fed6609d04660540dd2449cd7174def35e40f544e5ad72d15d064191a205ed6e0c49619c68f975108b614d0d51def9a8416a10a07c4193bea0cbbc4252ec1b33f21095a5d7aa590
See the compiled network identities for the built-in values. To override them, see How do I override the network identity?.
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.
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
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.
(top 24 of 38)
654 followers · starred Jul 2026
331 followers · starred Feb 2026
2,188 followers · starred Dec 2025
1,339 followers · starred Dec 2025
the blockchain for payments
See the codeThe 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.
TIP‑20 token standard (enshrined ERC‑20 extensions)
Low, predictable fees in stablecoins
Tempo Transactions (native “smart accounts”)
Performance and finality
Coming soon
While the execution environment mirrors Ethereum's, Tempo introduces some differences optimized for payments, described here.
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
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.
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
Our contributor guidelines can be found in CONTRIBUTING.md.
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 0
0xa217bb85001d4dcf8e5c50136f77af88cb2cab1857279b91c6240f41cca95c4f43f6dcab3e0dfb87dafb3ecbeb6251e90a5df2e6c47432482821cd8b84665ee4642589d2d9628a92b03e2bbfb00e006d038cd98def76d2a41b7c228c05f5a193
Testnet (Moderato) — from epoch 1747
0x967ae1a6d3ddbe5cb0fe5e6fc58e74249787b4a277619b549fed6609d04660540dd2449cd7174def35e40f544e5ad72d15d064191a205ed6e0c49619c68f975108b614d0d51def9a8416a10a07c4193bea0cbbc4252ec1b33f21095a5d7aa590
See the compiled network identities for the built-in values. To override them, see How do I override the network identity?.
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.
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
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.
(top 24 of 38)
654 followers · starred Jul 2026
331 followers · starred Feb 2026
2,188 followers · starred Dec 2025
1,339 followers · starred Dec 2025