Supported Methods
Tempo supports the full Ethereum JSON-RPC specification including:Account Methods
eth_getBalance- Returns the balance placeholder (use TIP-20 contracts for actual balances)eth_getCode- Returns the code at a given addresseth_getStorageAt- Returns the value from a storage positioneth_getTransactionCount- Returns the number of transactions sent from an address
Block Methods
eth_blockNumber- Returns the current block numbereth_getBlockByHash- Returns information about a block by hasheth_getBlockByNumber- Returns information about a block by numbereth_getBlockTransactionCountByHash- Returns the number of transactions in a blocketh_getBlockTransactionCountByNumber- Returns the number of transactions in a blocketh_getBlockReceipts- Returns all transaction receipts for a block
Transaction Methods
eth_sendRawTransaction- Submits a signed transactioneth_sendTransaction- Signs and sends a transaction (requires unlocked account)eth_getTransactionByHash- Returns transaction details by hasheth_getTransactionByBlockHashAndIndex- Returns transaction by block hash and indexeth_getTransactionByBlockNumberAndIndex- Returns transaction by block number and indexeth_getTransactionReceipt- Returns the receipt of a transactioneth_call- Executes a call without creating a transactioneth_estimateGas- Estimates gas needed for a transaction
State Methods
eth_getLogs- Returns logs matching a filtereth_getProof- Returns the Merkle proof for account and storage values
Gas and Fee Methods
eth_gasPrice- Returns the current gas price (returns 0 on Tempo)eth_maxPriorityFeePerGas- Returns the current max priority fee per gaseth_feeHistory- Returns historical gas fee data
Network Methods
eth_chainId- Returns the chain IDeth_syncing- Returns sync statusnet_version- Returns the network IDnet_listening- Returns true if the node is listening for connectionsnet_peerCount- Returns the number of connected peers
Utility Methods
web3_clientVersion- Returns the client versionweb3_sha3- Returns Keccak-256 hash of data
Tempo-Specific Behavior
eth_getBalance
Returns a placeholder value since Tempo uses TIP-20 tokens instead of native currency:balanceOf method.
eth_gasPrice
Returns0 because Tempo uses a fixed base fee model:
eth_maxPriorityFeePerGas to get the suggested priority fee.
eth_estimateGas
Gas estimation accounts for:- Fee token balance (for AA transactions with custom fee tokens)
- 2D nonce storage reads (for AA transactions with custom nonce keys)
- Multi-call execution (for AA transactions with batched calls)
- Fee token transfers
- Nonce management
- Authorization verification
eth_sendRawTransaction
Tempo supports both standard Ethereum transactions and Account Abstraction (AA) transactions.
subblockProposer field:
- If the transaction targets this validator, it’s forwarded to the subblocks service
- If the transaction targets a different validator, it’s rejected with:
"subblock transaction rejected: target validator mismatch" - Only the target validator will accept the transaction
Transaction Receipts
Tempo transaction receipts include additional fields:Address of the token used to pay transaction fees (null for free transactions)
Address that paid for the transaction (may differ from sender for AA transactions)
Block Structure
Tempo blocks include standard Ethereum fields plus Tempo-specific extensions:Gas limit for general (non-payment) transactions
Gas limit for payment lane transactions (= blockGasLimit / 10)
Millisecond component of block timestamp (0-999)
Unsupported Methods
The following Ethereum methods are not supported on Tempo:eth_getUncleByBlockHashAndIndex- Tempo has no uncle blockseth_getUncleByBlockNumberAndIndex- Tempo has no uncle blockseth_getUncleCountByBlockHash- Tempo has no uncle blockseth_getUncleCountByBlockNumber- Tempo has no uncle blockseth_coinbase- Block rewards use a different mechanismeth_mining- Tempo uses a different consensus mechanismeth_hashrate- Tempo uses a different consensus mechanism
Next Steps
Tempo-Specific Methods
Learn about Tempo’s custom RPC methods and extensions