·Transfa Team

What Is a Tempo Transaction?

Tempo Transactions (type 0x76) extend standard EVM transactions with atomic batching, fee sponsorship, time-bounded execution, and passkey signatures.

tempotransactionsevm

A Tempo Transaction is a custom EIP-2718 transaction type (0x76) that extends standard EVM transactions with features designed for payments: atomic multi-call batching, stablecoin fee payment, fee sponsorship via co-signatures, time-bounded execution windows, and inline access key provisioning.

Transaction structure

TempoTransaction {
  chain_id
  nonce
  calls: Vec<Call>                        // atomic multi-call
  fee_token: Option<Address>              // pay fees in a specific stablecoin
  fee_payer_signature: Option<Signature>  // someone else pays gas
  valid_before: Option<u64>               // execution deadline
  valid_after: Option<u64>                // earliest execution time
  key_authorization: Option<...>          // provision access key inline
}

The transaction is encoded as 0x76 || rlp([...fields]). Optional fields use 0x80 (RLP empty string) when unset.

Features

Atomic batching. The calls field contains multiple (to, value, input) tuples that execute atomically: all succeed or all revert. One signature covers the entire batch. This replaces the need for multicall contracts in common payment flows like approving a token and executing a swap in one step.

Fee token selection. The fee_token field lets you specify which TIP-20 stablecoin pays the transaction fee. Without it, the protocol falls back to a cascading preference system.

Fee sponsorship. The fee_payer_signature field lets a third party pay gas. The sender signs with domain prefix 0x76, the fee payer signs with 0x78. Domain separation prevents cross-context signature replay.

Time-bounded execution. valid_before and valid_after set execution windows as Unix timestamps. Validators reject transactions outside these windows. Account for ~15 seconds of validator time variance.

Parallelizable nonces. Tempo supports 2D nonces through a Nonce Manager precompile. Key 0 is the standard protocol nonce; keys 1-N enable parallel transaction submission without nonce conflicts.

Signature types

Tempo Transactions support three signature types natively:

TypeUse case
secp256k1 (65 bytes)Standard Ethereum ECDSA
P256 (130 bytes, prefix 0x01)Passkeys, Apple Secure Enclave, Android Keystore
WebAuthn (variable, prefix 0x02)Full FIDO2 assertion verification

All three derive addresses the same way: keccak256(pubKeyX || pubKeyY)[12:].

Standard EVM transactions still work

Tempo is fully backward-compatible. Legacy (0x00), EIP-2930 (0x01), and EIP-1559 (0x02) transactions all work. Tempo Transactions are only needed when you want the extended features.

Related content