Skip to main content
We covered how to access wallets in the Accessing Wallets section. Tempo wallets have different capabilities than standard EVM wallets, so we cover Tempo-specific behavior here.

What is Tempo?

Tempo is an EVM-compatible blockchain with no native token. All transaction fees are paid in TIP-20 stablecoins (similar to ERC-20 tokens). This unique design means users don’t need to hold a native gas token - they can pay for transactions directly with stablecoins.

Checking if a wallet is a Tempo wallet

import { useDynamicContext } from '@dynamic-labs/sdk-react-core';
import { isTempoWallet } from '@dynamic-labs/tempo';

// the wallet object is the wallet you want to use
// you can access the available wallets via the `useUserWallets` hook
// or get the primaryWallet via the `useDynamicContext` hook
if (!isTempoWallet(wallet)) {
  throw new Error('This wallet is not a Tempo wallet');
}

// Now you can use Tempo-specific methods
await wallet.signMessage('Hello, Tempo!');

Key Concepts

TIP-20 Stablecoins

On Tempo, transaction fees are paid using TIP-20 tokens (Tempo’s equivalent of ERC-20). When sending transactions, you specify which stablecoin to use for gas fees via the feeToken parameter.

Networks

Tempo supports two networks:
NetworkChain IDDescription
Mainnet4217Production network
Moderato (Testnet)42431Test network

Viem Support

Tempo chains are available natively in viem:
import { tempo, tempoModerato } from 'viem/chains';

Examples

We’ve included several examples of how to use Tempo wallets in this section: