Skip to content

Blockspace Overview

Abstract

This specification defines the structure of valid blocks in the Tempo blockchain.

Motivation

Tempo blocks extend the Ethereum block format in multiple ways: there are new header fields to account for payment lanes and sub-blocks, and system transactions are added to the block body for the fee AMM and other protocol operations. This specification contains all the modifications to the block format.

Specification

Header fields

Tempo extends an Ethereum header with three extra scalars.

Header struct
pub struct Header {
    pub general_gas_limit: u64,
    pub shared_gas_limit: u64,
    pub timestamp_millis_part: u64,
    pub inner: Header,
}
  • inner is the canonical Ethereum header (parent_hash, state_root, gas_limit, etc.).
  • general_gas_limit and shared_gas_limit carve up the canonical gas_limit for payment and sub-block gas (see payment lane specification and sub-block specification).
  • timestamp_millis_part stores the sub‑second component; the full timestamp is inner.timestamp * 1000 + timestamp_millis_part .

Block body

The block body in Tempo retains the canonical Ethereum block body structure, with the addition of new system transactions. Transactions are ordered in the following sections:

  1. Start-of-block system transaction(s) (must begin with the rewards registry call).
  2. Proposer lane transactions, subject to general_gas_limit on non-payment transactions.
  3. Sub-block transactions, grouped by proposer and prefixed with the reserved nonce key.
  4. Gas incentive transactions that consume leftover shared gas.
  5. End-of-block system transactions (see below).

System transactions

A valid tempo block must contain the following new system transactions

  • Rewards Registry (start-of-block) — must be the first transaction in the block body; refreshes validator rewards metadata before user transactions begin. Detailed specification here.
  • Fee Manager (end-of-block 1/3) — settles block fee accounting. Detailed specification here.
  • Stablecoin DEX (end-of-block 2/3) — settles stablecoin exchange balances. Detailed specification here.
  • Subblock Metadata (end-of-block 3/3) — contains metadata about the sub-blocks included in the block. Detailed specification here.