<!-- tempo-docs-context -->
> Source: [/docs/protocol/upgrades/t11](https://tempo.xyz/developers/docs/protocol/upgrades/t11.md)
> Section: [Tempo EVM](https://tempo.xyz/developers/docs/development.md). Build on Tempo EVM: wallets and keys, transactions and fees, TIP-20 Tokens, contracts, exchange, network details, nodes, protocol specifications, and changelog.
> [Documentation index](https://tempo.xyz/developers/llms.txt) · [Docs skill](https://tempo.xyz/developers/SKILL.md)

> Tempo MCP: Use `search`, `find_pages`, `read_page`, and `code` at `https://mcp.tempo.xyz` for Tempo and related documentation.
> If an indexed page is missing or reflects an older site, read this site’s [documentation index](https://tempo.xyz/developers/llms.txt) and Markdown pages directly.

# T11 Network Upgrade

T11 extends expiring-nonce validity to five minutes and updates precompile pricing and validation.

:::warning[Breaking change: integration disruption]
T11 introduced stricter ABI decoding to address a denial-of-service vulnerability. Rejecting trailing bytes, including extra zeros and attribution data, was an unintended side effect. This disrupted transfers, read-only `eth_call` requests, gas estimation, and mint/burn workflows that depend on token supply checks.

Trailing bytes are accepted again with [T12](https://tempo.xyz/developers/docs/protocol/upgrades/t12), which is active on testnet and mainnet; other strict ABI checks remain.
:::

:::info[T11 status]
T11 is active on testnet and mainnet. [v1.14.0](https://github.com/tempoxyz/tempo/releases/tag/v1.14.0) is the required T11 release. See [Node Operator Updates](https://tempo.xyz/developers/docs/guide/node/network-upgrades#node-operator-updates) for current release guidance.
:::

## Timeline

| Network | Activated (UTC) | Unix timestamp |
|---------|-----------------|----------------|
| Testnet | September 9, 2026 at 14:00 | `1788962400` |
| Mainnet | September 10, 2026 at 14:00 | `1789048800` |

<span id="t11-upgrade-overview" />

<span id="integration-impact" />

## Stricter precompile validation

Calldata generated by standard ABI encoders such as Alloy and viem remains compatible when sent unchanged. No ABI migration is needed for these calls.

For custom or modified calldata, use canonical ABI encoding without gaps, overlaps, or nonzero padding. T12 restores support for trailing bytes, including tracking or attribution suffixes. Preserve required ABI padding.

Test affected reads, simulations, and transactions on the target network using the final calldata your integration sends.

### Duplicate checks

T11 charges 20 gas per value processed by duplicate checks in account key permissions and Zone configuration lists.

For `ZoneFactory.createZone`, addresses must be unique across `allowedAccounts`, `zoneGateways`, and `sequencers`. T11 newly rejects duplicates within `allowedAccounts` and `zoneGateways`; cross-list overlaps and duplicate sequencers were already invalid. See [Zone creation](https://tempo.xyz/developers/docs/protocol/zones/architecture#creating-a-zone) and [TIP-1105](https://tips.sh/1105).

## Updated gas pricing

The precompile input charge rises from 6 to 30 gas per 32-byte word, rounded up over the full calldata including the selector. Below 1 KiB, the increase is at most 768 gas, excluding duplicate-check charges.

Estimate gas on the target network and update fixed limits. See [TIP-1100](https://tips.sh/1100).

## Longer transaction submission window

Expiring-nonce transactions can now set `validBefore` up to five minutes ahead, instead of 30 seconds. Shorter windows remain supported. Already-signed transactions retain their original expiry; replay protection and other nonce modes are unchanged. See [TIP-1093](https://tips.sh/1093).
