v1.10.0 (superseded by v1.10.1)
Release v1.10.0
Warning
v1.10.0 is superseded by v1.10.1. The v1.10.0 release was published without release assets after the release workflow failed the Cargo workspace-version check. Use v1.10.1 for the T7 release artifacts.
Important
This release is required for the T7 network upgrade scheduled for testnet on July 2, 2026 16:00 CEST (1783000800) and mainnet on July 9, 2026 16:00 CEST (1783605600). Node operators must update before activation or their nodes will fall out of sync. This release activates T7 support for dynamic base fees, storage credits, and reusable storage accounting across contract, DEX, and channel-reserve state, with the goal of lowering ordinary Tempo transaction costs and making repeated storage use cheaper.
Update Priority
| User Class | Priority |
|---|---|
| Validators | High |
| RPC Nodes | High |
Nodes that are not updated will fall out of sync at the T7 activation timestamp.
Activation Times
| Network | Date | Timestamp |
|---|---|---|
| Testnet | July 2, 2026 16:00 CEST | 1783000800 |
| Mainnet | July 9, 2026 16:00 CEST | 1783605600 |
TIPs included with T7
The T7 network upgrade includes:
- TIP-1060 Storage Credits: Replaces one-time storage-clearing refunds with per-account storage credits that can offset later storage creations by the same account. Adds the
StorageCreditsprecompile at0x1060000000000000000000000000000000000000. - TIP-1064 StablecoinDEX Order Storage Credits: Adds maker-attributed reusable storage accounting for StablecoinDEX order records, so makers receive credit for reusable order storage they previously freed.
- TIP-1067 Dynamic Base Fee: Replaces the fixed base fee with a bounded EIP-1559-style controller capped at
12_000_000_000attodollars per gas, floored at600_000_000, with a10_000_000gas target. - TIP-1066 Channel Storage Credits: Adds payer-scoped reusable storage credits for TIP-20 channel reserve state, including the
storageCredits(address)channel-reserve view.
Gas Cost and Benchmarking Highlights
| Area | T6 | T7 | Diff | Notes |
|---|---|---|---|---|
| Base-fee ceiling (50k-gas transfer) | $0.001 |
cap $0.0006 · floor $0.00003 |
cap −40% · floor −97% |
The T7 cap is 12_000_000_000 attodollars per gas; the floor is 600_000_000, 20x below the cap. |
| Observed transfer-like costs | avg $0.0037857 · median $0.0011855 (1k txs); avg $0.0008975 · median $0.0007657 (598 steady-state) |
— | — | Removing state-creation-like txs (gas_used >= 250k) left 598 steady-state transfers; excluding two IQR outliers gives $0.0008929 avg. T7's lower base-fee cap/floor reduces the per-gas component further for equivalent gas profiles. |
Credited storage creation (SSTORE 0→x) |
250,000 gas |
5,000 residual + 245,000 creditable |
−98% |
TIP-1060 splits the previous creation component into a 5,000 gas residual plus a 245,000 gas creditable portion. |
| Channel reserve gas | open-existing 1,055,229 · open-first 1,302,429 |
open-existing 294,425 · open-first 791,625 |
open-existing −72.1% · open-first −39.2% |
Call-level numbers exclude separate approval gas; implicit approvals for MPP/DEX/FeeAMM improve user-total comparisons for flows that previously required explicit approvals. |
Breaking Changes
- Consensus-breaking hardfork: T7 changes protocol state transition rules. Nodes that do not run this release before activation will reject or produce invalid blocks after the T7 timestamp.
- Base fee is no longer fixed: After T7,
baseFeePerGasis computed from parent gas usage and clamped to the T7 floor/cap range. Wallets, fee estimators, transaction builders, tests, and monitoring that assume the T1 fixed base fee of20_000_000_000attodollars per gas must handle a changing base fee. - Storage gas and refund semantics changed: T7 removes the legacy storage-clearing refund, splits the TIP-1000 SSTORE creation cost into a
5_000gas residual plus a245_000gas creditable portion, and removes the EIP-3529 one-fifth refund cap for T7 refunds. Contracts and tests that depend on exact SSTORE gas/refund behavior should be revalidated. - TIP-20 reward mutators are disabled at T7:
setRewardRecipientanddistributeRewardbecome no-ops after T7. Integrators relying on new reward opt-ins or reward distributions must adjust their flows before activation. - New reserved precompile surface: The
StorageCreditssystem precompile becomes active at T7. Contracts and tooling should treat0x1060000000000000000000000000000000000000as reserved protocol space. - RPC, standby, follow nodes require certificates: with the
tempo node --followflag nodes are now verifying finalization certificates before executing blocks against their local state. When tracking the official mainnet or testnet default RPCs operators will not see a change. If tracking their local validator, operators need to ensure that validator exposes websocket via--ws. For more info, see https://tempo.xyz/developers/docs/guide/node/rpc/ and https://tempo.xyz/developers/docs/guide/node/validator-failover/
Operators
What's Changed
- T7 activation timestamps (#6396): Adds testnet and mainnet T7 timestamps to chainspec and genesis configuration.
- Dynamic base fee (#5153): Seeds the T7 activation block at the lowered cap of
12_000_000_000attodollars per gas, then adjusts each child block from parent gas usage with a floor of600_000_000and a10_000_000gas target. - Snapshot and recovery improvements (#5789, #6203, #6207, #6208): Bundles consensus finalized-block archives with execution snapshots and preserves recovered block handles through consensus lookup paths.
- Consensus and payload performance (#5421, #5998, #6176): Caches encoded execution blocks, reduces payload transaction iterator cloning, and avoids cloning subblock pool transactions on the RPC path.
- Payload builder configuration (#6387, #6306): Resolves builder gas limits from CLI arguments and chain defaults, and threads the skip-state-root benchmark setting through the Tempo payload builder.
- Installer reliability (#6274): Installs the macOS
libusbruntime dependency when required, verifies the installed binary before replacing backups, and adds installer regression tests. - Reth and dependency updates (#5876, #6134, #6211, #6270): Updates Reth from upstream main and refreshes selected runtime dependencies.
Developers
Compatible Tooling Versions
| Package | Version | Notes |
|---|---|---|
tempo-alloy |
1.10.0 |
Includes SDK helpers for receive-policy/admin-key flows and T7-compatible ABI bindings. |
tempo-primitives |
1.10.0 |
Includes T7 hardfork, block, and base-fee primitives. |
tempo-contracts |
1.10.0 |
Includes StorageCredits, StablecoinDEX, and channel-reserve ABI updates. |
tempo-chainspec |
1.10.0 |
Includes T7 activation timestamps and dynamic base-fee constants. |
T7 Protocol Changes
- Storage credits precompile (#5228, #4016): Adds per-account persistent storage credit balances and transaction-local
Refund,Preserve, andDirectcreation modes. Refund mode remains the default so gas limits do not depend on credit balance at inclusion time. - Storage-credit safety fixes (#6206, #6233, #6237, #6310): Excludes fee/keychain bookkeeping slots from unbacked credit minting, avoids recreating exhausted periodic spending-limit slots, disables minting during fee distribution, and decodes the T7 zero-remaining sentinel consistently.
- StablecoinDEX storage credits (#5305, #4082): Credits reusable order-record storage to the maker that owned the cleared order slot and exposes
storageCredits(address)for DEX credit balances. - TIP-20 channel reserve storage credits (#5935): Credits terminal channel close/withdraw storage deletion to the channel payer and consumes payer-scoped credits on later channel opens.
- TIP-20 rewards deprecation path (#5433): T7 disables new reward-recipient changes and reward distributions while preserving existing reward state for lazy checkpointing ahead of the later full-disable phase.
- Dynamic base fee constants and validation (#5153): Adds T7 base-fee floor/cap constants, fixed
10_000_000gas target, and block-header validation for the computed dynamic base fee.
EVM, Transaction, and Fee Semantics
- Generic protocol fee manager (#6279): Routes fee token resolution and pre/post-transaction fee collection through a generic
TempoFeeManager, preserving current L1 behavior while allowing alternate fee managers for Tempo Zones. - Storage action recording (#5423, #5605, #6075): Adds SLOAD/SSTORE action recording and storage delta helpers while avoiding default allocations when recording is disabled.
- Transaction pool and raw transaction recovery (#6175): Optimizes raw Tempo AA transaction recovery by threading the precomputed expiring nonce hash through sender recovery.
- Precompile storage and block environment plumbing (#6286, #6394): Exposes epoch-length mapping and the full
TempoBlockEnvto precompile storage providers. - Serde and RPC shape fixes (#6252): Serializes sealed blocks through the plain Tempo block shape for consensus RPC and execution data.
Testing, Benchmarks, and Tooling
- Added T7 gas-estimation and hardfork matrix coverage for upcoming devnet hardforks (#6194, #6217).
- Added storage-credit integration and gas snapshot coverage for StablecoinDEX and TIP-20 channel reserve flows (#6297, #5935, #4082).
- Improved bench-e2e presets, comments, gas-limit controls, metadata, and T7/T8 hardfork support (#5959, #6232, #6261, #6283, #6391, #6393, #6395).
Full Changelog: v1.9.1...v1.10.0