Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.privy.io/llms.txt

Use this file to discover all available pages before exploring further.

Tempo is a low-cost, high-throughput EVM-compatible blockchain optimized for payments. Just like with other chains, your app can use Privy to create wallets for users to send and receive payments on Tempo. This guide demonstrates how to create an embedded wallet and send transactions on Tempo.

Prerequisites

Before implementing Tempo support, ensure the following:

1. Create an embedded wallet

Privy embedded wallets support Tempo by default. To create an embedded wallet for a user on Tempo, use the same “Ethereum” chain_type as any other EVM-compatible chain. This recipe includes examples of creating an EVM-compatible wallet in React, Node, or via the REST API. See Create a wallet for more guidance across all SDKs. Once created, the wallet address receives payments on Tempo.

2. Send a transaction on Tempo

To send transactions on Tempo mainnet, specify the CAIP-2 identifier eip155:4217 when making transaction requests. This routes transactions to the Tempo network.
To send transactions on Tempo Moderato (testnet), specify the CAIP-2 identifier eip155:42431.
There are several ways to transfer tokens on Tempo:
If no transaction type is specified, Privy sends a standard EIP-1559 transaction. Use Tempo transaction type 118 to access Tempo-native features like specifying the fee token.
The Privy Node SDK and REST API support Tempo transactions natively. Specify type: 118 in the transaction params to access Tempo-native features like fee token control.
This approach uses viem’s tempoActions extension to send native Tempo transactions. Use this path when building with viem directly, particularly for React embedded wallets.
This approach sends a standard EIP-1559 transaction on Tempo with Privy paying the gas fee. Gas sponsorship must be enabled in the Privy Dashboard before use, and requires TEE execution. Use this when you want Privy to cover transaction fees rather than the user paying in a fee token.

Controlling transactions with policies

Privy’s policy engine supports Tempo-specific transaction fields via the tempo_transaction field source. Your app can require a specific fee token, enforce or block transaction sponsorship, and time-bound validity windows, all without affecting standard EVM policy rules. See Tempo policy examples for ready-to-use policy configurations.

Send a transaction

Complete guide to sending transactions with Privy

Gas sponsorship overview

Learn about Privy’s gas sponsorship engine

Balance webhooks

Subscribe to deposit and withdrawal events.

Create a wallet

Learn more about creating embedded wallets

Tempo policy examples

Configure policies for fee tokens, sponsorship, and time windows on Tempo