Supported Transaction Types
Legacy (Type 0x00)
Original Ethereum transaction format withgasPrice field.
- Backward compatibility with older tools
- Simple transfers without dynamic fees
- Legacy contract interactions
EIP-2930 (Type 0x01)
Access list transactions that declare storage slots accessed during execution.- Reduced gas costs for pre-declared storage access
- Predictable gas usage
- Protection against gas price increases mid-execution
EIP-1559 (Type 0x02)
Dynamic fee transactions with base fee and priority fee.- Predictable gas pricing with base fee
- Better UX (no need to guess gas price)
- Priority fees for faster inclusion
- Refund of excess fees
EIP-7702 (Type 0x04)
Set Code transactions for temporary account delegation.- Temporary smart contract wallet functionality
- Batch operations from EOAs
- Account abstraction patterns
- One-time delegated execution
Unsupported Transaction Types
EIP-4844 (Type 0x03) - Not Supported
Blob transactions (EIP-4844) are not supported by Tempo Protocol. Reason: Tempo uses a different approach to data availability that doesn’t rely on blob transactions. Attempts to submit EIP-4844 transactions will be rejected.Differences from Ethereum
While Tempo supports standard EVM transaction types, there are some differences:Gas Pricing
TIP-1000 State Creation Costs: Tempo has higher gas costs for state creation operations to protect against state growth attacks:- New state element (SSTORE zero → non-zero): 250,000 gas (vs. 20,000 on Ethereum)
- Account creation (first nonce write): 250,000 gas (vs. 0 on Ethereum)
- Contract creation: 1,000 gas per byte + 500,000 gas for metadata
Transaction Pool
- Higher throughput: Optimized for ~20,000 TPS
- Parallel processing: More aggressive transaction parallelization
- Expiry: Transactions may expire faster due to high throughput
Block Time
- Tempo: Sub-second block times (typically ~400ms)
- Ethereum: ~12 seconds
Nonce Management
EVM transactions use sequential nonces like standard Ethereum:Transaction Envelope
Tempo uses a unified transaction envelope that includes all supported types:envelope.rs:40-60
Transaction Type Detection
The transaction type is determined by the first byte:RPC Support
Tempo’s RPC interface supports standard Ethereum methods:eth_sendRawTransaction: Submit signed transactionseth_call: Simulate contract callseth_estimateGas: Estimate gas for transactionseth_getTransactionByHash: Get transaction detailseth_getTransactionReceipt: Get execution receipt
Signature Recovery
All EVM transactions use secp256k1 signature recovery:envelope.rs:220-238
Wallet Compatibility
Tempo is compatible with standard Ethereum wallets:Supported Wallets
- MetaMask: Full support for all EVM transaction types
- Hardware Wallets: Ledger, Trezor support via standard interfaces
- WalletConnect: Compatible with WalletConnect v2
- Other Web3 Wallets: Any wallet supporting standard Ethereum JSON-RPC
Configuration
Add Tempo as a custom network:System Transactions
Tempo uses special system transactions for protocol operations:- Uses legacy transaction format
- Special zero signature:
Signature(0, 0, false) - Sender is
Address::ZERO - All gas fields must be zero
- Nonce must be zero
- Value must be zero
- Block rewards distribution
- Protocol state transitions
- Validator set updates
envelope.rs:17-21