diff --git a/src/components/T7BenchmarkVisual.tsx b/src/components/T7BenchmarkVisual.tsx
new file mode 100644
index 00000000..5f221cfc
--- /dev/null
+++ b/src/components/T7BenchmarkVisual.tsx
@@ -0,0 +1,117 @@
+'use client'
+
+import { Container } from './Container'
+
+const numberFormat = new Intl.NumberFormat('en-US')
+
+function formatGas(value: number) {
+ return `${numberFormat.format(value)} gas`
+}
+
+function formatPercent(value: number) {
+ return `${value.toFixed(1)}%`
+}
+
+function reduction(before: number, after: number) {
+ return ((before - after) / before) * 100
+}
+
+function barWidth(value: number, max: number) {
+ return `${Math.max((value / max) * 100, 3)}%`
+}
+
+function BaseFeeRow(props: {
+ label: string
+ value: string
+ width: number
+ tone: 'before' | 'after'
+}) {
+ return (
+
+
+ {props.label}
+ {props.value}
+
+
+
+ )
+}
+
+function BeforeAfterRow(props: { label: string; before: number; after: number; unit?: 'gas' }) {
+ const saved = props.before - props.after
+
+ return (
+
+
+ {props.label}
+
+ {formatGas(saved)} lower ({formatPercent(reduction(props.before, props.after))})
+
+
+
+
+
+
Before
+
+
{formatGas(props.before)}
+
+
+
After
+
+
{formatGas(props.after)}
+
+
+
+ )
+}
+
+export function T7BenchmarkVisual() {
+ return (
+ Fee impact at a glance
+ }
+ footer={
+
+ Bars are normalized within each comparison. Exact benchmark numbers are listed below.
+
+ }
+ >
+
+
+
+
Base fee
+
Example cost for a 50,000 gas transfer.
+
+
+
+
+
+
+
+
+
Payment channels
+
+ Repeated channel opens can reuse payer-scoped savings.
+
+
+
+
+
+
+
+
+ )
+}
diff --git a/src/pages/docs/guide/issuance/distribute-rewards.mdx b/src/pages/docs/guide/issuance/distribute-rewards.mdx
index 50d0d22b..066858c3 100644
--- a/src/pages/docs/guide/issuance/distribute-rewards.mdx
+++ b/src/pages/docs/guide/issuance/distribute-rewards.mdx
@@ -17,6 +17,10 @@ import { Cards, Card } from 'vocs'
# Distribute Rewards
+:::warning[Rewards deprecation planned]
+This change is planned for testnet on July 2, 2026 and mainnet on July 9, 2026. After activation, new Tempo Token Rewards opt-ins and distributions become no-ops. Already-accrued rewards remain claimable through the existing `claimRewards()` flow. See the [T7 network upgrade](/docs/protocol/upgrades/t7) for the full timeline and scope.
+:::
+
Distribute rewards to token holders using TIP-20's built-in reward distribution mechanism. Rewards allow parties to incentivize holders of a token by distributing tokens proportionally based on their balance.
Rewards can be distributed by anyone on any TIP-20 token, and claimed by any holder who has opted in. This guide covers both the reward distributor and token holder use cases. While the demo below uses a token you create, the same principles apply to any token.
diff --git a/src/pages/docs/guide/machine-payments/index.mdx b/src/pages/docs/guide/machine-payments/index.mdx
index b4b53077..a68ee346 100644
--- a/src/pages/docs/guide/machine-payments/index.mdx
+++ b/src/pages/docs/guide/machine-payments/index.mdx
@@ -46,6 +46,7 @@ Tempo's transaction model is designed for agentic payments using MPP:
- **~500ms finality** — Deterministic confirmation fast enough for synchronous request/response flows
- **Sub-cent fees** — Low enough for micropayments and per-request billing
+- **Lower repeated channel lifecycle costs** — T7 adds payer-scoped storage credits for MPP payment channels. In the [v1.10.1 release benchmark](https://github.com/tempoxyz/tempo/releases/tag/v1.10.1), channel-reserve open calls are 72.1% lower for the open-existing path and 39.2% lower for the open-first path.
- **Fee sponsorship** — Servers can cover gas on behalf of clients so they only need stablecoins
- **2D and expiring nonces** — Parallel nonce lanes prevent payment transactions from blocking other account activity
- **High throughput** — Supports the on-chain settlement volume that payment channels generate at scale
diff --git a/src/pages/docs/guide/machine-payments/pay-as-you-go.mdx b/src/pages/docs/guide/machine-payments/pay-as-you-go.mdx
index 9e34df19..dd4d57f8 100644
--- a/src/pages/docs/guide/machine-payments/pay-as-you-go.mdx
+++ b/src/pages/docs/guide/machine-payments/pay-as-you-go.mdx
@@ -14,6 +14,19 @@ Build a payment-gated photo gallery API that charges $0.01 per photo using `mppx
Unlike [one-time payments](/docs/guide/machine-payments/one-time-payments), sessions open a payment channel once and use off-chain vouchers for each subsequent request — vouchers are processed in pure CPU-bound signature checks, not bottlenecked by blockchain throughput.
:::
+:::info[T7 payment-channel savings]
+The [T7 network upgrade](/docs/protocol/upgrades/t7) adds payer-scoped storage credits for MPP payment channels. When a payer closes or withdraws a finished channel, the reserve records a channel storage credit for that payer. If the same payer opens another channel later, that payer reuses the credit. Other payers cannot spend it.
+:::
+
+In the [v1.10.1 release benchmark](https://github.com/tempoxyz/tempo/releases/tag/v1.10.1), channel-reserve open calls are lower after T7:
+
+| Channel reserve path | T6 | T7 | Gas change |
+|----------------------|---:|---:|-----------:|
+| Open existing | 1,055,229 | 294,425 | -760,804 (-72.1%) |
+| Open first | 1,302,429 | 791,625 | -510,804 (-39.2%) |
+
+These are call-level gas numbers and exclude separate approval gas. They matter most for session services where the same payer opens, closes or withdraws, and later opens channels again.
+
## How pay-as-you-go sessions work
diff --git a/src/pages/docs/protocol/exchange/providing-liquidity.mdx b/src/pages/docs/protocol/exchange/providing-liquidity.mdx
index e760d6c2..a863c116 100644
--- a/src/pages/docs/protocol/exchange/providing-liquidity.mdx
+++ b/src/pages/docs/protocol/exchange/providing-liquidity.mdx
@@ -17,6 +17,10 @@ The DEX uses an onchain orderbook where you can place orders at specific price t
Unlike traditional AMMs, you specify exact prices where you want to buy or sell, giving you more precise control over your liquidity provision strategy.
+:::info[Storage credits for DEX makers]
+Storage credits can reduce gas for active DEX makers who repeatedly place, cancel, or fully fill eligible orders. See the [T7 network upgrade](/docs/protocol/upgrades/t7#user-attributed-dex-savings) for the feature details.
+:::
+
## Order Types
### Limit Orders
diff --git a/src/pages/docs/protocol/fees/index.mdx b/src/pages/docs/protocol/fees/index.mdx
index ab3a7b07..a11bdba3 100644
--- a/src/pages/docs/protocol/fees/index.mdx
+++ b/src/pages/docs/protocol/fees/index.mdx
@@ -11,7 +11,11 @@ Tempo has no native token. Instead, transaction fees—including both gas fees a
For a stablecoin to be accepted, it must be USD-denominated, issued as a native TIP-20 contract, and have sufficient liquidity on the native Fee AMM.
-Tempo uses a fixed base fee (rather than a variable base fee as in EIP-1559), set so that a TIP-20 transfer costs less than $0.001. All fees accrue to the validator who proposes the block.
+Tempo currently uses a fixed base fee (rather than a variable base fee as in EIP-1559), set so that a TIP-20 transfer costs less than $0.001. All fees accrue to the validator who proposes the block.
+
+:::info[Dynamic base fee]
+The T7 network upgrade introduces a dynamic base fee. It can fall when block gas usage is below target and rise back to the cap when the network is busy. For a 50,000 gas transfer, the base-fee ceiling moves from about $0.001 to a T7 cap of about $0.0006, with a quiet-period floor around $0.00003. See the [T7 network upgrade](/docs/protocol/upgrades/t7) and [dynamic base fee proposal](https://tips.sh/1067-1).
+:::
For pool mechanics, swaps, liquidity accounting, and fee-token conversion rules, see the [Fee AMM specification](/docs/protocol/fees/spec-fee-amm).
diff --git a/src/pages/docs/protocol/tip20-rewards/overview.mdx b/src/pages/docs/protocol/tip20-rewards/overview.mdx
index 582408ca..de8c8297 100644
--- a/src/pages/docs/protocol/tip20-rewards/overview.mdx
+++ b/src/pages/docs/protocol/tip20-rewards/overview.mdx
@@ -7,6 +7,10 @@ import { Cards, Card } from 'vocs'
# Tempo Token Rewards
+:::warning[Tempo Token Rewards cleanup planned]
+This change is planned for testnet on July 2, 2026 and mainnet on July 9, 2026. After activation, new Tempo Token Rewards opt-ins and distributions become no-ops. Already-accrued rewards remain claimable through the existing `claimRewards()` flow. See the [T7 network upgrade](/docs/protocol/upgrades/t7) for the full timeline and scope.
+:::
+
Tempo Token Rewards is a built-in mechanism that allows for efficient distribution of rewards to opted-in token holders proportional to their holdings, while maintaining low gas costs at scale and complying with [TIP-403 transfer policies](/docs/protocol/tip403/spec).
Traditional reward mechanisms require tokens to be staked in separate contracts, which fragments user holdings and adds complexity to wallet implementations. Tempo Token Rewards solves this by:
diff --git a/src/pages/docs/protocol/tip20-rewards/spec.mdx b/src/pages/docs/protocol/tip20-rewards/spec.mdx
index 3a9f15ea..b58a7906 100644
--- a/src/pages/docs/protocol/tip20-rewards/spec.mdx
+++ b/src/pages/docs/protocol/tip20-rewards/spec.mdx
@@ -5,6 +5,10 @@ description: Technical specification for Tempo Token Rewards using reward-per-to
# Tempo Token Rewards Specification
+:::warning[Tempo Token Rewards cleanup planned]
+This change is planned for testnet on July 2, 2026 and mainnet on July 9, 2026. After activation, new reward opt-ins and new reward distributions become no-ops. Already-accrued rewards remain claimable through the existing `claimRewards()` flow. See the [T7 network upgrade](/docs/protocol/upgrades/t7) for the full timeline and scope.
+:::
+
## Abstract
An opt-in, scalable, pro-rata reward distribution mechanism built into TIP-20 tokens. The system uses a "reward-per-token" accumulator pattern to distribute rewards proportionally to opted-in holders without requiring staking or per-holder iteration. Rewards are distributed instantly; time-based streaming distributions are planned for a future upgrade.
diff --git a/src/pages/docs/protocol/upgrades/t7.mdx b/src/pages/docs/protocol/upgrades/t7.mdx
index 5a5fdd97..37d64680 100644
--- a/src/pages/docs/protocol/upgrades/t7.mdx
+++ b/src/pages/docs/protocol/upgrades/t7.mdx
@@ -1,11 +1,15 @@
---
title: T7 Network Upgrade
-description: Partner-focused overview and rollout dates for the T7 network upgrade, including storage credits, dynamic base fee behavior, and TIP-20 rewards deprecation.
+description: Partner-focused overview and rollout dates for the T7 network upgrade, including storage savings, payment-channel savings, dynamic base fee behavior, and TIP-20 rewards deprecation.
---
+import { T7BenchmarkVisual } from '../../../../components/T7BenchmarkVisual'
+
# T7 Network Upgrade
-T7 gives partners a clearer fee model for high-volume payment and exchange flows. It adds storage credits for reusable DEX order and TIP-20 channel state, makes the base fee move down when network usage is below the target threshold, and deprecates new TIP-20 rewards.
+T7 makes repeated onchain workflows cheaper. It adds storage savings for DEX order state and TIP-20 payment-channel state, lets the base fee move down when network usage is low, and deprecates new TIP-20 rewards activity.
+
+Apps with repeat contract workflows can pass meaningful gas savings to returning users, MPP sessions can reuse channel-state savings for the same payer, and all users can benefit from lower base fees during quieter network periods.
:::info[T7 status]
T7 is live on testnet. Mainnet rollout is planned for July 9, 2026. Release [v1.10.1](https://github.com/tempoxyz/tempo/releases/tag/v1.10.1) is required for T7; see the [Network Upgrades and Releases table](/docs/guide/node/network-upgrades#node-operator-updates) for the current node-operator release status.
@@ -22,41 +26,106 @@ Node operators should run [v1.10.1](https://github.com/tempoxyz/tempo/releases/t
## Overview
-T7 focuses on three partner needs:
+T7 focuses on five partner-facing changes:
+
+- **Reusable storage savings.** Contracts that create storage, clear it, and later create storage again in the same contract can lower the cost of the next eligible storage write.
+- **Savings tied to the right user.** Shared systems such as the StablecoinDEX can keep those savings attached to the maker who earned them, instead of letting the next user spend them by accident.
+- **Payment-channel savings.** MPP payment channels can keep storage credits attached to the payer who earned them, so repeated session lifecycles can reuse channel-state savings.
+- **Lower fees during quiet periods.** The base fee can fall when block gas usage is below the target threshold.
+- **Rewards cleanup.** New Tempo Token Rewards opt-ins and distributions stop after activation, while already-accrued rewards remain claimable.
+
+These changes make costs easier to reason about for partners building high-throughput payment, liquidity, and exchange experiences. The main opportunity is to identify workflows with temporary state and decide whether the contract should allocate storage-credit savings per user, payer, maker, or account.
-- **Lower fees for reusable protocol state.** Storage credits reduce fees when previously freed protocol storage can be reused, including DEX order storage and TIP-20 channel storage.
-- **A more responsive base fee.** Dynamic base fee behavior lowers the base fee when gas usage is below the target threshold.
-- **A simpler TIP-20 rewards model.** Deprecating new TIP-20 rewards simplifies reward-related accounting and user-facing balances.
+## Why it matters
-These changes are designed to make costs easier to reason about for partners building high-throughput payment, liquidity, and exchange experiences. Storage credits and dynamic base fee behavior affect fee calculations, while existing TIP-20 transfer behavior and claims for already-accrued rewards continue to work.
+| Partner impact | What changes |
+|----------------|--------------|
+| Active DEX makers can benefit on repeat order placement | Maker-attributed storage credits let reusable order-storage savings stay attached to the maker who earned them. |
+| Apps can avoid random gas discounts | Shared contracts can track which user earned credits and spend them only for that same user. |
+| MPP sessions can get cheaper over repeated channel lifecycles | In the release benchmark, channel-reserve open calls are 72.1% lower for the open-existing path and 39.2% lower for the open-first path. |
+| All integrators get a simpler low-fee story | The new base fee cap is 40% lower than today's fixed base fee, and quiet periods can be up to 20x cheaper than the cap. |
## Features
-### Storage credits for reusable protocol state
+### Reusable storage savings
+
+Storage credits lower fees for workflows that repeatedly create and clear temporary storage. A contract earns a credit when it clears eligible storage, then can use that credit to reduce the cost of creating eligible storage later.
+
+This is not a blanket gas discount. It matters most when a workflow has a natural lifecycle: create state, clear it, then create more state in the same contract.
+
+### User-attributed DEX savings
+
+The StablecoinDEX uses the same storage-credit idea but adds maker-level accounting. If a maker cancels or fully fills an eligible order, the DEX can keep the reusable order-storage savings attached to that maker. When the same maker places a later eligible order, the DEX can apply those savings.
+
+### Payer-scoped payment-channel savings
+
+T7 applies the storage-credit pattern to MPP payment channels through the `TIP20ChannelReserve` precompile. When a payer closes or withdraws a finished channel, the reserve records a channel storage credit for that payer. When the same payer opens a later channel, the reserve uses that payer's credit.
+
+This keeps channel savings attached to the payer who earned them. A different payer cannot spend another payer's channel credit.
+
+For MPP partners, the benefit is focused on repeated session lifecycles. Per-request vouchers already stay off-chain; T7 can lower the net onchain lifecycle cost when a close or withdraw is followed by a later open from the same payer.
+
+The release benchmark reports the channel-reserve open paths below. These are call-level gas numbers and exclude separate approval gas.
-Storage credits lower fees for protocol surfaces where deleted storage can later be reused. This helps reduce the cost of flows where the network can account for reusable state separately from net-new long-lived state.
+| Channel reserve path | T6 | T7 | Gas change |
+|----------------------|---:|---:|-----------:|
+| Open existing | 1,055,229 | 294,425 | -760,804 (-72.1%) |
+| Open first | 1,302,429 | 791,625 | -510,804 (-39.2%) |
-| TIP | Scope |
-|-----|-------|
-| [TIP-1060: Storage Credits](https://tips.sh/1060) | Core storage credits primitive |
-| [TIP-1064: StablecoinDEX Order Storage Credits](https://tips.sh/1064) | Storage credits for DEX order storage |
-| [TIP-1066: TIP-20 Channel Storage Credits](https://tips.sh/1066) | Storage credits for TIP-20 channel state |
+Read [Accept pay-as-you-go payments](/docs/guide/machine-payments/pay-as-you-go) for the MPP session flow.
### Dynamic base fee
-Dynamic base fee behavior lets the base fee move down when gas usage is below the target threshold. This gives wallets, apps, and infrastructure a fee model that can respond to lower network usage instead of assuming a fixed base fee.
+T7 replaces the fixed base fee with a bounded dynamic base fee. The new cap is 40% lower than the current fixed fee. When block gas usage is below target, the base fee can fall toward a floor that is one twentieth of the cap.
-| TIP | Scope |
-|-----|-------|
-| [TIP-1067: Dynamic Base Fee](https://tips.sh/1067-1) | Dynamic base fee behavior |
+For a simple fee example, a 50,000 gas transfer costs about $0.0006 at the new cap and about $0.00003 at the floor.
+
+| Example transaction | Today's fixed fee | T7 cap | T7 quiet-period floor |
+|---------------------|------------------:|-------:|----------------------:|
+| 50,000 gas transfer | $0.0010 | $0.0006 | $0.00003 |
+| 1,000,000 gas transaction | $0.0200 | $0.0120 | $0.0006 |
+
+At the quiet-period floor, the same transaction is 20x cheaper than the T7 cap and about 33x cheaper than today's fixed fee. The base fee starts at the cap at activation and moves with block usage.
### Deprecate TIP-20 rewards
-T7 deprecates new TIP-20 reward opt-ins and reward distributions so partners do not need to model new reward accrual after the upgrade. Already-accrued rewards remain claimable, so historical rewards data should remain separate from post-T7 payment and balance reporting.
+T7 deprecates new Tempo Token Rewards opt-ins and reward distributions so partners do not need to model new reward accrual after the upgrade. Already-accrued rewards remain claimable through the existing `claimRewards()` flow.
+
+Apps that show reward information should keep already-accrued rewards separate from post-T7 balances, and should stop presenting new rewards as accruing from post-T7 reward distributions. See [Tempo Token Rewards](/docs/protocol/tip20-rewards/overview) if your integration still uses rewards.
+
+## Technical references
+
+| Feature | What changes | Reference |
+|---------|--------------|-----------|
+| Reusable storage savings | Contracts can earn credits when they clear eligible storage and use those credits to lower later storage-creation gas | [TIP-1060: Storage Credits](https://tips.sh/1060) |
+| User-attributed DEX savings | The DEX can keep reusable order-storage credits attached to the maker who earned them | [TIP-1064: StablecoinDEX Order Storage Credits](https://tips.sh/1064) |
+| Payer-scoped payment-channel savings | MPP channel credits stay attached to the payer who earned them and can be reused by that payer on a later channel open | [TIP-1066: TIP-20 Channel Storage Credits](https://tips.sh/1066) |
+| Dynamic base fee | The base fee can move within a bounded range instead of staying fixed | [TIP-1067: Dynamic Base Fee](https://tips.sh/1067-1) |
+| Tempo Token Rewards cleanup | New reward opt-ins and distributions stop, while already-accrued rewards remain claimable | [TIP-1075: Deprecate TIP-20 Rewards](https://github.com/tempoxyz/tempo/pull/5380) |
+
+## Partner benefits
+
+| Partner type | What T7 can help with |
+|--------------|-----------------------|
+| DEX makers and liquidity providers | Lower gas when a maker cancels or fully fills orders, then places eligible orders later |
+| MPP and pay-as-you-go providers | Lower onchain channel lifecycle costs when the same payer closes or withdraws a channel, then opens another channel later |
+| Shared contract developers | A clear pattern for passing storage savings to the user who earned them |
+| Wallets, checkout teams, and consumer apps | Lower base fees during periods of low network usage |
+| Rewards integrators | Clear migration timing for stopping new Tempo Token Rewards activity |
-| TIP | Scope |
-|-----|-------|
-| [TIP-1075: Deprecate TIP-20 Rewards](https://github.com/tempoxyz/tempo/pull/5380) | Deprecate new TIP-20 rewards and preserve claims for already-accrued rewards |
+## Benchmark highlights
+
+The [v1.10.1 release notes](https://github.com/tempoxyz/tempo/releases/tag/v1.10.1) include the headline gas benchmarks below. Treat these as protocol-level benchmarks: they show where T7 lowers base fees and storage-related costs, while partner-specific flows should still be tested end to end.
+
+
+
+| Area | T6 / before | T7 / after | What changes |
+|------|-------------|------------|--------------|
+| Base-fee ceiling for a 50,000 gas transfer | $0.001 | Cap $0.0006; quiet-period floor $0.00003 | The cap is 40% lower, and the floor is 20x below the cap. |
+| Credited storage creation (`SSTORE 0 -> x`) | 250,000 gas | 5,000 residual + up to 245,000 creditable gas | When credits are available, most of the storage-creation cost can be offset. |
+| Channel reserve open-existing path | 1,055,229 gas | 294,425 gas | 760,804 gas lower (-72.1%). |
+| Channel reserve open-first path | 1,302,429 gas | 791,625 gas | 510,804 gas lower (-39.2%). |
+| Observed transfer-like costs before T7 | Average $0.0037857 and median $0.0011855 across 1,000 transactions; average $0.0008975 and median $0.0007657 across 598 steady-state transfers | T7 lowers the per-gas component through the new cap and floor | Useful baseline context, not a post-T7 production average. |
## Compatible releases
@@ -72,13 +141,22 @@ Release notes and binaries are available in the [v1.10.1 release](https://github
T7 changes fee and reward behavior. Node operators, integrators, indexers, wallets, and partner infrastructure should review the notes below while validating testnet behavior and before mainnet rollout.
-### For storage credits
+### For storage savings
Partners using DEX or TIP-20 channel flows should review fee assumptions against testnet behavior before mainnet rollout.
- Storage credits are included for the core primitive, DEX order storage, and TIP-20 channel storage.
- Wallets and apps that estimate fees should validate their fee displays against T7 behavior on testnet.
- Indexers and analytics systems should keep pre-T7 fee assumptions separate from post-T7 fee data.
+- Shared contracts should avoid global credit pools when savings should stay attached to a specific user, maker, payer, or account.
+
+### For dynamic fees
+
+Wallets, checkout flows, and infrastructure that display fees should expect the base fee to move instead of staying fixed.
+
+- The base fee starts at the cap at activation.
+- Fees can fall when block gas usage is below target.
+- Fee analytics should compare pre-T7 fixed-fee periods separately from post-T7 dynamic-fee periods.
### For TIP-20 rewards deprecation