Skip to content

Commit ed46f2a

Browse files
max-digiAmp
andauthored
docs: shift T2-T4 upgrade pages to past tense, polish T5 (#440)
* docs: clarify network upgrade sidebar labels - Remove (Active) labels from T2 and T3 - Add (Latest) next to T4 - Add (Next) next to T5 Amp-Thread-ID: https://ampcode.com/threads/T-019e41c7-3c78-7429-8c11-8e48e079ba59 Co-authored-by: Amp <amp@ampcode.com> * docs: shift T2-T4 upgrade pages to past tense, polish T5 - T2: add status callout, switch overview/feature copy to past tense, normalize TIP links to tips.sh, drop pre-activation 'action required' - T3: add status callout, drop pre/post-activation framing, simplify ABI migration text, remove stale SDK caveat, switch TIP links to tips.sh - T4: drop 'current upgrade' framing, populate compatible SDK releases table from v1.7.0 release notes, fix bare URL for TIP-1046, normalize TIP links to tips.sh, past-tense TIP-1031 description - T5: rename status callout to match T2-T4 pattern Amp-Thread-ID: https://ampcode.com/threads/T-019e5e4e-9067-705c-9cd1-fb81d04f4cc4 Co-authored-by: Amp <amp@ampcode.com> * docs: drop Moderato/Presto naming, use testnet/mainnet only Replaces 'Moderato (testnet)' and 'Presto (mainnet)' in the timeline tables and surrounding copy with plain 'Testnet' and 'Mainnet' across T2-T5. Amp-Thread-ID: https://ampcode.com/threads/T-019e5e4e-9067-705c-9cd1-fb81d04f4cc4 Co-authored-by: Amp <amp@ampcode.com> --------- Co-authored-by: Amp <amp@ampcode.com>
1 parent 875f8c9 commit ed46f2a

4 files changed

Lines changed: 66 additions & 62 deletions

File tree

src/pages/protocol/upgrades/t2.mdx

Lines changed: 26 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -5,66 +5,68 @@ description: Details and timeline for the T2 network upgrade including compound
55

66
# T2 Network Upgrade
77

8-
This page summarises new features included in the T2 network upgrade.
8+
This page summarises the features that shipped in the T2 network upgrade.
9+
10+
:::info[T2 status]
11+
T2 is active on both testnet and mainnet.
12+
:::
913

1014
## Timeline
1115

1216
| Network | Date | Timestamp |
1317
|---------|------|-----------|
14-
| Moderato (testnet) | Thursday, 26th March 4pm CET | `1774537200` |
15-
| Presto (mainnet) | Tuesday, 31st March 4pm CEST | `1774965600` |
18+
| Testnet | Thursday, 26th March 4pm CET | `1774537200` |
19+
| Mainnet | Tuesday, 31st March 4pm CEST | `1774965600` |
1620

17-
Partners should upgrade nodes to the T2-compatible release before the moderato activation timestamp.
21+
Node operators needed to upgrade to the T2-compatible release before the testnet activation timestamp.
1822

1923
## Overview
2024

21-
T2 is Tempo's next network upgrade, building on T1. It introduces the following new features:
22-
- Compound transfer policies ([TIP-1015](https://github.com/tempoxyz/tempo/blob/main/tips/tip-1015.md))
23-
- Permit support for TIP-20 tokens ([TIP-1004](https://github.com/tempoxyz/tempo/blob/main/tips/tip-1004.md))
24-
- a new Validator Config V2 precompile ([TIP-1017](https://github.com/tempoxyz/tempo/blob/main/tips/tip-1017.md))
25-
- and security improvements ([TIP-1036](https://github.com/tempoxyz/tempo/blob/main/tips/tip-1036.md)).
26-
27-
**Action required:** All node operators must upgrade to the T2-compatible release before the activation timestamp.
25+
T2 built on T1 and introduced the following features:
26+
- Compound transfer policies ([TIP-1015](https://tips.sh/1015))
27+
- Permit support for TIP-20 tokens ([TIP-1004](https://tips.sh/1004))
28+
- A new Validator Config V2 precompile ([TIP-1017](https://tips.sh/1017))
29+
- Security improvements ([TIP-1036](https://tips.sh/1036))
2830

2931
## Feature TIPs
3032

3133
### TIP-1015: Compound Transfer Policies
3234

33-
**Spec:** [TIP-1015](https://github.com/tempoxyz/tempo/blob/main/tips/tip-1015.md)
35+
**Spec:** [TIP-1015](https://tips.sh/1015)
3436

35-
**TLDR:** Extends TIP-403 policies so token issuers can set different authorization rules for senders, recipients, and mint recipients. Previously a single policy applied to both sides of a transfer.
37+
**TLDR:** Extended TIP-403 policies so token issuers can set different authorization rules for senders, recipients, and mint recipients. Previously a single policy applied to both sides of a transfer.
3638

37-
**Customer use case:** Issuers of regulated or closed-loop tokens need to enforce different rules for senders vs recipients. For example: KYC required to on-ramp into a stablecoin, but anyone in the approved set can spend. Without compound policies, issuers must apply the same restrictions to both sides, which breaks real-world Commerce patterns and Tokenized Asset distribution flows.
39+
**Customer use case:** Issuers of regulated or closed-loop tokens need to enforce different rules for senders vs recipients. For example: KYC required to on-ramp into a stablecoin, but anyone in the approved set can spend. Without compound policies, issuers had to apply the same restrictions to both sides, which broke real-world Commerce patterns and Tokenized Asset distribution flows.
3840

3941
**What this enables:**
4042
- If you integrate with TIP-403 policies: new `isAuthorizedSender()`, `isAuthorizedRecipient()`, and `isAuthorizedMintRecipient()` functions are available. The existing `isAuthorized()` still works (returns `senderCheck && recipientCheck`).
41-
- If you issue TIP-20 tokens: You can now create compound policies for use cases like vendor credits, directional KYC, or asymmetric compliance.
43+
- If you issue TIP-20 tokens: you can now create compound policies for use cases like vendor credits, directional KYC, or asymmetric compliance.
4244

4345
### TIP-1017: Validator Config V2
4446

45-
**Spec:** [TIP-1017](https://github.com/tempoxyz/tempo/blob/main/tips/tip-1017.md)
47+
**Spec:** [TIP-1017](https://tips.sh/1017)
4648

4749
**Operator guide:** [Controlling validator lifecycle](/guide/node/validator-lifecycle)
4850

49-
**TLDR:** New precompile for managing consensus validators. Adds Ed25519 signature verification at registration, append-only history and stable validator indices.
51+
**TLDR:** New precompile for managing consensus validators. Adds Ed25519 signature verification at registration, append-only history, and stable validator indices.
5052

51-
**Customer use case:** Node operators currently depend on Tempo to make any validator configuration changes. With V2, operators can self-service IP rotations, key rotations, and ownership transfers without waiting on Tempo — reducing operational dependency and enabling faster incident response.
53+
**Customer use case:** Before V2, node operators depended on Tempo to make any validator configuration changes. With V2, operators can self-service IP rotations, key rotations, and ownership transfers without waiting on Tempo — reducing operational dependency and enabling faster incident response.
5254

5355
**What this enables:**
54-
- **Node operators:** Node operators won't need to do anything for this migration. After the migration, operators can self-service IP updates, key rotation, and ownership transfers.
55-
- **Minimal nodes for validators:** Validator v2 unlocks a major innovation: minimal nodes for validators. Today, validators must keep ~64,000 blocks of history to reconstruct validator sets requiring hundreds of GB of storage. V2 eliminates this requirement, letting validators query the set from the latest state only.
56+
- **Node operators:** Node operators didn't need to take action for the migration itself. Operators can now self-service IP updates, key rotation, and ownership transfers.
57+
- **Minimal nodes for validators:** Validator V2 unlocks minimal nodes for validators. Previously, validators had to keep ~64,000 blocks of history to reconstruct validator sets, requiring hundreds of GB of storage. V2 removes that requirement, letting validators query the set from the latest state only.
5658

5759
### TIP-1004: Permit for TIP-20
5860

59-
**Spec:** [TIP-1004](https://github.com/tempoxyz/tempo/blob/main/tips/tip-1004.md)
61+
**Spec:** [TIP-1004](https://tips.sh/1004)
6062

61-
**TLDR:** Adds EIP-2612 compatible `permit()` to all TIP-20 tokens, enabling gasless approvals via off-chain signatures.
63+
**TLDR:** Added EIP-2612 compatible `permit()` to all TIP-20 tokens, enabling gasless approvals via off-chain signatures.
6264

6365
**Customer use case:** Any Ramp or Commerce platform that sponsors gas for end users needs `permit()` to avoid forcing two separate transactions.
6466

6567
**What this enables:**
66-
- Users can now use `permit()` to combine approve + action in a single transaction.
68+
- Users can use `permit()` to combine approve + action in a single transaction.
6769

6870
### Meta TIP: Security Improvements
6971

70-
[TIP-1036: T2 Hardfork Improvements](https://github.com/tempoxyz/tempo/blob/main/tips/tip-1036.md)
72+
[TIP-1036: T2 Hardfork Improvements](https://tips.sh/1036)

src/pages/protocol/upgrades/t3.mdx

Lines changed: 18 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -5,51 +5,52 @@ description: Details and timeline for the T3 network upgrade, including enhanced
55

66
# T3 Network Upgrade
77

8-
T3 is the next Tempo protocol upgrade. It introduces enhanced access keys, a standard signature verification precompile, and virtual addresses for TIP-20 deposit routing.
8+
T3 introduced enhanced access keys, a standard signature verification precompile, and virtual addresses for TIP-20 deposit routing.
9+
10+
:::info[T3 status]
11+
T3 is active on both testnet and mainnet.
12+
:::
913

1014
## Timeline
1115

1216
| Network | Date | Timestamp |
1317
|---------|------|-----------|
14-
| Moderato (testnet) | April 21, 2026 4pm CEST | `1776780000` |
15-
| Presto (mainnet) | April 27, 2026 4pm CEST | `1777298400` |
18+
| Testnet | April 21, 2026 4pm CEST | `1776780000` |
19+
| Mainnet | April 27, 2026 4pm CEST | `1777298400` |
1620

17-
Partners should upgrade nodes to the T3-compatible release before the Moderato activation timestamp.
21+
Node operators needed to upgrade to the T3-compatible release before the testnet activation timestamp.
1822

1923
## Overview
2024

2125
| TIP | What it does | Who should review |
2226
|-----|-------------|-------------------|
23-
| [TIP-1011](https://github.com/tempoxyz/tempo/blob/main/tips/tip-1011.md) | Periodic spending limits, call scoping, and a ban on access-key contract creation | Wallets, account SDKs, apps using connected apps or subscriptions |
24-
| [TIP-1020](https://github.com/tempoxyz/tempo/blob/main/tips/tip-1020.md) | Signature verification precompile for secp256k1, P256, and WebAuthn | Smart contract teams, account integrators, wallet SDKs |
25-
| [TIP-1022](https://github.com/tempoxyz/tempo/blob/main/tips/tip-1022.md) | [Virtual addresses](/protocol/tip20/virtual-addresses) for TIP-20 deposit forwarding | Exchanges, ramps, custodians, payment processors, explorers, indexers |
27+
| [TIP-1011](https://tips.sh/1011) | Periodic spending limits, call scoping, and a ban on access-key contract creation | Wallets, account SDKs, apps using connected apps or subscriptions |
28+
| [TIP-1020](https://tips.sh/1020) | Signature verification precompile for secp256k1, P256, and WebAuthn | Smart contract teams, account integrators, wallet SDKs |
29+
| [TIP-1022](https://tips.sh/1022) | [Virtual addresses](/protocol/tip20/virtual-addresses) for TIP-20 deposit forwarding | Exchanges, ramps, custodians, payment processors, explorers, indexers |
2630

2731
## Breaking changes
2832

2933
These breaking changes only affect access-key integrations. You need to update your integration if you create new access keys, manually encode `key_authorization` or `authorizeKey(...)`, or rely on access-key-signed deployment flows. Existing authorized keys continue to work.
3034

3135
### Access-key authorization ABI
3236

33-
Integrations that directly call `AccountKeychain.authorizeKey(...)` or manually encode `key_authorization` must migrate to the TIP-1011 format after activation. Legacy calls fail with `LegacyAuthorizeKeySelectorChanged(newSelector: 0x980a6025)`.
34-
35-
- **Before activation:** use the legacy ABI. The TIP-1011 format is not yet valid onchain.
36-
- **After activation:** use the TIP-1011 tuple-form ABI. The legacy selector `0x54063a55` stops working.
37+
Integrations that directly call `AccountKeychain.authorizeKey(...)` or manually encode `key_authorization` must use the TIP-1011 tuple-form ABI. The legacy selector `0x54063a55` no longer works — legacy calls fail with `LegacyAuthorizeKeySelectorChanged(newSelector: 0x980a6025)`.
3738

38-
If you use an updated SDK, this is mostly a tooling upgrade. If you support both pre-T3 and post-T3 networks, branch on network version or activation timestamp. If you hand-encode calldata, use the exact tuple-form signature from the [Account Keychain precompile spec](/protocol/transactions/AccountKeychain).
39+
If you use an updated SDK, this is mostly a tooling upgrade. If you hand-encode calldata, use the exact tuple-form signature from the [Account Keychain precompile spec](/protocol/transactions/AccountKeychain).
3940

4041
### Access-key contract creation
4142

42-
Post-T3, access-key-signed transactions can no longer create contracts in any configuration — including direct CREATE, factory CREATE, and internal CREATE2. Move those flows to a root key path.
43+
Access-key-signed transactions can no longer create contracts in any configuration — including direct CREATE, factory CREATE, and internal CREATE2. Move those flows to a root key path.
4344

4445
### Migration checklist
4546

4647
- Upgrade to a T3-compatible SDK release listed below
4748
- Regenerate contract bindings or replace handcrafted encoders for `authorizeKey(...)`
4849
- Move any access-key contract-creation flows to a root key path
4950
- If you adopt virtual addresses, collapse the two-hop `Transfer` pair into one logical deposit to the registered master wallet rather than treating the virtual address hop as a separate transfer
50-
- Test key creation, key rotation, and recovery flows on Moderato after T3 activates
51+
- Test key creation, key rotation, and recovery flows on testnet
5152

52-
Most integrators only need to upgrade tooling. Existing authorized access keys keep working.
53+
Most integrators only needed to upgrade tooling. Existing authorized access keys keep working.
5354

5455
## Supporting new features
5556

@@ -61,7 +62,7 @@ See [Virtual addresses for TIP-20 deposits](/protocol/tip20/virtual-addresses) f
6162

6263
### Signature verification precompile
6364

64-
[TIP-1020](https://github.com/tempoxyz/tempo/blob/main/tips/tip-1020.md) is additive — existing verifier setups keep working. Teams that want a standard onchain verification surface can adopt the precompile instead of maintaining custom verifier contracts. See the [Signature Verification with Foundry](/sdk/foundry/signature-verifier) guide.
65+
[TIP-1020](https://tips.sh/1020) is additive — existing verifier setups keep working. Teams that want a standard onchain verification surface can adopt the precompile instead of maintaining custom verifier contracts. See the [Signature Verification with Foundry](/sdk/foundry/signature-verifier) guide.
6566

6667
## Compatible SDK releases
6768

@@ -75,11 +76,7 @@ Tempo's broader tooling ecosystem is available in [Developer tools](/quickstart/
7576
| [Python](https://github.com/tempoxyz/pytempo) | [`0.5.0`](https://github.com/tempoxyz/pytempo/releases/tag/pytempo%400.5.0) |
7677
| [Foundry](https://github.com/foundry-rs/foundry) | [`v1.7.0`](https://github.com/foundry-rs/foundry/releases/tag/v1.7.0) |
7778

78-
:::note[Current SDK caveat]
79-
The Accounts SDK and `wallet_authorizeAccessKey` docs still describe the legacy pre-T3 access-key shape. Until their T3 support lands, use the protocol specs and the T3-compatible SDK releases above for the post-T3 `authorizeKey(...)` ABI.
80-
:::
81-
8279
## Related docs
8380
- [Virtual addresses for TIP-20 deposits](/protocol/tip20/virtual-addresses)
84-
- [TIP-1022](https://github.com/tempoxyz/tempo/blob/main/tips/tip-1022.md)
81+
- [TIP-1022](https://tips.sh/1022)
8582
- Coordinating meta TIP: [tempoxyz/tempo#3273](https://github.com/tempoxyz/tempo/pull/3273)

src/pages/protocol/upgrades/t4.mdx

Lines changed: 16 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -8,35 +8,40 @@ description: Details and timeline for the T4 network upgrade, including consensu
88
This page summarizes T4 scope.
99

1010
:::info[T4 status]
11-
T4 is active on both Moderato (testnet) and Presto (mainnet).
11+
T4 is active on both testnet and mainnet.
1212
:::
1313

1414
## Timeline
1515

1616
| Network | Date | Timestamp |
1717
|---------|------|-----------|
18-
| Moderato (testnet) | May 14, 2026 4pm CEST | `1778767200` |
19-
| Presto (mainnet) | May 18, 2026 4pm CEST | `1779112800` |
18+
| Testnet | May 14, 2026 4pm CEST | `1778767200` |
19+
| Mainnet | May 18, 2026 4pm CEST | `1779112800` |
2020

21-
Node operators needed to upgrade to the T4-compatible release (v1.7.0, released May 11, 2026 4pm CEST) before the Moderato activation timestamp.
21+
Node operators needed to upgrade to the T4-compatible release (v1.7.0, released May 11, 2026 4pm CEST) before the testnet activation timestamp.
2222

2323
## Overview
2424

25-
T4 is Tempo's current network upgrade. It introduced the following changes:
26-
- Embedding consensus context into the block header to unlock deferred verification and reduce finalization latency ([TIP-1031](https://github.com/tempoxyz/tempo/blob/main/tips/tip-1031.md))
27-
- A bundle of T4 bug fixes and security hardening (https://tips.sh/1046)
25+
T4 introduced the following changes:
26+
- Embedding consensus context into the block header to unlock deferred verification and reduce finalization latency ([TIP-1031](https://tips.sh/1031))
27+
- A bundle of bug fixes and security hardening ([TIP-1046](https://tips.sh/1046))
2828

2929
## Compatible SDK releases
3030

31-
T4-compatible SDK releases will be listed here as they ship.
31+
| SDK | T4-compatible release |
32+
|-----|-----------------------|
33+
| [Rust](https://github.com/tempoxyz/tempo) | [`tempo-alloy@1.7.0`](https://github.com/tempoxyz/tempo/releases/tag/tempo-alloy%401.7.0), [`tempo-primitives@1.7.0`](https://github.com/tempoxyz/tempo/releases/tag/tempo-primitives%401.7.0), [`tempo-contracts@1.7.0`](https://github.com/tempoxyz/tempo/releases/tag/tempo-contracts%401.7.0) |
34+
| [Foundry](https://github.com/foundry-rs/foundry) | nightly (T4 hardfork-aware decoding) |
35+
36+
See [Developer tools](/quickstart/developer-tools) for the broader SDK ecosystem.
3237

3338
## Related docs
3439
- [Network upgrades and releases](/guide/node/network-upgrades)
35-
- [TIP-1031: Embed Consensus Context in the Block Header](https://github.com/tempoxyz/tempo/blob/main/tips/tip-1031.md)
36-
- [TIP-1046: T4 Hardfork Meta TIP](https://github.com/tempoxyz/tempo/blob/main/tips/tip-1046.md)
40+
- [TIP-1031: Embed Consensus Context in the Block Header](https://tips.sh/1031)
41+
- [TIP-1046: T4 Hardfork Meta TIP](https://tips.sh/1046)
3742

3843
## Feature TIPs
3944

4045
### TIP-1031: Embed Consensus Context in the Block Header
4146

42-
[TIP-1031](https://github.com/tempoxyz/tempo/blob/main/tips/tip-1031.md) adds an optional `Context` field (epoch, view, parent view, leader) as the last field of `TempoHeader`. This commits consensus metadata to the block hash so Tempo blocks implement Commonware's `CertifiableBlock` trait, enabling deferred verification (optimistic notarization with async background verification) and reduced finalization latency. Pre-activation headers are unchanged; post-activation headers require the field and validators reject mismatched context.
47+
[TIP-1031](https://tips.sh/1031) added an optional `Context` field (epoch, view, parent view, leader) as the last field of `TempoHeader`. This commits consensus metadata to the block hash so Tempo blocks implement Commonware's `CertifiableBlock` trait, enabling deferred verification (optimistic notarization with async background verification) and reduced finalization latency. Pre-T4 headers are unchanged; post-T4 headers require the field, and validators reject mismatched context.

src/pages/protocol/upgrades/t5.mdx

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,18 +7,18 @@ description: Details and timeline for the T5 network upgrade, including the ensh
77

88
T5 is Tempo's next network upgrade. It introduces an enshrined TIP-20 reserve channel precompile for MPP and similar session-based payment flows, payment lane classification in consensus, DEX improvements (same-tick flip orders and persistent order IDs across flips), multihop FeeAMM routing, an on-chain `logoURI` field for TIP-20 tokens, an Implicit Approvals List for gas-efficient internal transfers, and a witness digest binding for one-signature key authorization flows.
99

10-
:::info[T5 is not live yet]
11-
The features described on this page are scheduled for T5 and are not active on Moderato or Presto yet. They only become live once the T5 activation timestamps are reached.
10+
:::info[T5 status]
11+
T5 is not yet active on testnet or mainnet. The features described on this page become live at the activation timestamps below.
1212
:::
1313

1414
## Timeline
1515

1616
| Network | Date | Timestamp |
1717
|---------|------|-----------|
18-
| Moderato (testnet) | June 3, 2026 | TBD |
19-
| Presto (mainnet) | June 9, 2026 | TBD |
18+
| Testnet | June 3, 2026 | TBD |
19+
| Mainnet | June 9, 2026 | TBD |
2020

21-
Node operators must upgrade to the T5-compatible release (v1.8.0, targeted for May 27, 2026) before the Moderato activation timestamp.
21+
Node operators must upgrade to the T5-compatible release (v1.8.0, targeted for May 27, 2026) before the testnet activation timestamp.
2222

2323
## Overview
2424

@@ -32,7 +32,7 @@ T5 introduces the following changes:
3232
- An Implicit Approvals List enabling listed precompiles to pull TIP-20 tokens without a prior approval ([TIP-1035](https://tips.sh/1035))
3333
- A witness digest field in key authorizations to bind one signature to an application challenge ([TIP-1053](https://tips.sh/1053))
3434

35-
**Action required for node operators:** Upgrade to v1.8.0 before the Moderato activation timestamp. Non-upgraded nodes will fall out of consensus.
35+
**Action required for node operators:** Upgrade to v1.8.0 before the testnet activation timestamp. Non-upgraded nodes will fall out of consensus.
3636

3737
## Integration changes
3838

0 commit comments

Comments
 (0)