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.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.
Prerequisites
Before implementing Tempo support, ensure the following:- A Privy app configured with the application
- Basic familiarity with sending transactions
- (Optional) Gas sponsorship enabled to sponsor transaction fees
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 identifiereip155: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.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.Using Privy SDK or REST API (Tempo transaction type)
Using Privy SDK or REST API (Tempo transaction type)
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.Using viem tempoActions (Tempo transaction type)
Using viem tempoActions (Tempo transaction type)
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.Using gas sponsorship (EVM transaction type)
Using gas sponsorship (EVM transaction type)
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 thetempo_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.
Related resources
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

