# Proposal: Execute TGE Payload to Unlock $AZTEC Token Transfers

**URL:** <https://forum.aztec.network/t/proposal-execute-tge-payload-to-unlock-aztec-token-transfers/8380>\
**Category:** Governance\
**Created:** [January 19, 2026, 5:48pm UTC](https://forum.aztec.network/t/proposal-execute-tge-payload-to-unlock-aztec-token-transfers/8380 "2026-01-19T17:48:50Z")\
**Posts on this page:** 9\
**Page:** 1

<div class="post-metadata">

**Author:** ![blacknodes](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.aztec.network/blacknodes/32/2804_2.png) [@blacknodes](https://forum.aztec.network/u/blacknodes)\
**Post date:** [January 19, 2026, 5:48pm UTC](https://forum.aztec.network/t/proposal-execute-tge-payload-to-unlock-aztec-token-transfers/8380/1 "2026-01-19T17:48:50Z")

</div>

# Proposal: Execute TGE Payload to Unlock $AZTEC Token Transfers

## Summary

This proposal requests that Aztec governance schedule and execute the TGE payload to unlock $AZTEC token transfers as early as **February 11th, 2026 at 14:00 UTC**. Upon execution, 100% of tokens from the public sale will become fully transferable, accumulated staking rewards will be claimable, and the Uniswap v4 pool will go live.

> **Note:** This is a community proposal for review and discussion. No one should signal or vote for a payload they haven’t personally verified.

## Motivation

As a Genesis Sequencer since day one, we believe it’s time to unlock the network’s full potential.

**Why now?**

1. **Privacy is gaining momentum.** The broader crypto ecosystem is waking up to the importance of confidential transactions and private state. Aztec has spent years building the foundational technology. With privacy discourse accelerating across the industry, now is the time to capitalize on this momentum and let the network operate at full capacity.

2. **Honoring expectations.** During the token sale, participants were informed that TGE could happen as early as February 11th, 2026. The 90-day accelerated lock period makes this possible. This proposal moves to execute TGE at the earliest opportunity.

3. **Enabling full participation.** The network is live, sequencers are producing blocks, and it’s time for token holders to fully participate. This also enables broader ecosystem readiness (wallets, infrastructure, liquidity) around a transparent governance timeline.

## Specification

### Payload Details

| Item | Value |
| --- | --- |
| **Payload Address** | `0x77A5EEF319E23615B848a09Ebd151744547b959C` |
| **Repository** | [AztecProtocol/ignition-contracts](https://github.com/AztecProtocol/ignition-contracts/) |
| **Contract** | `src/tge/TGEPayload.sol` |
| **Etherscan** | [Verified Contract](https://etherscan.io/address/0x77a5eef319e23615b848a09ebd151744547b959c#code) |

### What the Payload Does

The TGE payload executes a series of calls to contracts owned by Aztec Governance:

**For NCATP Holders (≥ 200k tokens):**

- Accepts ownership of the Registry contract via `GovernanceAcceleratedLock`
- Registers a new Staker implementation with `WITHDRAWAL_TIMESTAMP` set to the past, enabling immediate token withdrawal (for those who have staked at least once)

**For LATP Holders (\< 200k tokens):**

- Updates `unlockStartTime` to a past timestamp, enabling immediate token claims via `claim()`

**Network-Wide Changes:**

- Enables Uniswap v4 trading by calling `approveMigration()` on the pool strategy contract
- Enables transferability of block building rewards by calling `setRewardsClaimable(true)` on the Rollup contract
- Enables voting power delegation for non-genesis sequencers in the new Staker implementation

### What Becomes Unlocked at TGE

- All tokens in Token Vaults belonging to token sale participants (100%)
- Accumulated block rewards for stakers
- Uniswap v4 pool (273,000,000 $AZTEC tokens + matching ETH at final clearing price)

## Governance Details

### Voting Parameters

| Parameter | Value |
| --- | --- |
| **Eligible Voters** | Token sale participants and Genesis Sequencers |
| **Quorum** | 100,000,000 $AZTEC minimum participation |
| **Threshold** | 2/3 supermajority “Yes” required |
| **Voting Duration** | 7 days |
| **Execution Delay** | 7 days after successful vote |

### Governance Lifecycle

1. **Payload Deployment** — The TGE payload contract is deployed on Ethereum mainnet ✅
2. **Sequencer Signaling** — Sequencers signal support by configuring their nodes to include the payload address in block proposals (quorum: 600 of 1000 slots)
3. **Proposal Creation** — After signaling quorum, anyone can call `submitRoundWinner` on the Governance Proposer contract
4. **Voting Period** — 7 days for eligible participants to vote
5. **Execution Delay** — 7-day waiting period after successful vote
6. **TGE Execution** — Anyone can execute the proposal, triggering TGE

### Expected Effects

- $AZTEC tokens from the token sale become fully transferable on Ethereum mainnet
- No changes to allocations or balances—only transfer restrictions are removed
- Uniswap v4 pool becomes active for trading

## Security and Audits

Community members are encouraged to review the TGE payload implementation before signaling:

- Repository: [AztecProtocol/ignition-contracts](https://github.com/AztecProtocol/ignition-contracts/)
- Contract: `src/tge/TGEPayload.sol`
- Verified on Etherscan: [View Contract Code](https://etherscan.io/address/0x77a5eef319e23615b848a09ebd151744547b959c#code)

The payload can only be executed through Aztec Governance after a successful vote.

## Sequencer Signaling (recommended: environment variable)

To signal support for the TGE payload persistently (survives node restarts), set the sequencer payload address via the environment variable:

```bash
# Add this to your .env (or docker-compose environment) and restart the node
GOVERNANCE_PROPOSER_PAYLOAD_ADDRESS=0x77A5EEF319E23615B848a09Ebd151744547b959C

```

This env var corresponds to the sequencer config option `--sequencer.governanceProposerPayload` and is the recommended “set-and-forget” way to ensure your node continues signaling even after restarts.

## Implementation Timeline

| Phase | Estimated Duration | Target |
| --- | --- | --- |
| Community discussion | Ongoing | — |
| Sequencer signaling | Until quorum (600/1000) | — |
| Proposal creation | After signaling quorum | — |
| Voting period | 7 days | — |
| Execution delay | 7 days | — |
| **Earliest possible TGE** | — | **February 11, 2026 at 14:00 UTC** |

_Note: The actual TGE date depends on when signaling quorum is reached, the proposal passes, and execution occurs._

## Open Questions and Feedback

I invite the community to discuss:

1. **Timing** — Are there any concerns about executing TGE at the earliest possible date?
2. **Technical** — Any perceived risks or edge cases in the payload implementation?
3. **Infrastructure readiness** — Are exchanges, staking providers, wallets, and other infrastructure prepared for post-TGE operations?
4. **Anything else** — What questions or concerns should be addressed before signaling begins?

* * *

## References

- [Reference for triggering the $AZTEC Token Generation Event (TGE)](https://forum.aztec.network/t/reference-for-triggering-the-aztec-token-generation-event-tge/8366) — Official reference post
- [$AZTEC TGE: Next Steps For Holders](https://aztec.network/blog/aztec-tge-next-steps) — Aztec blog
- [Governance and Proposal Process](https://docs.aztec.network/network/operation/sequencer_management/creating_and_voting_on_proposals) — Aztec docs
- [AztecProtocol/ignition-contracts](https://github.com/AztecProtocol/ignition-contracts/) — GitHub repository

* * *

**Author:** [BlackNodes](https://forum.aztec.network/u/blacknodes) — Genesis Sequencer

---

<div class="post-metadata">

**Author:** ![yperion](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.aztec.network/yperion/32/2668_2.png) [@yperion](https://forum.aztec.network/u/yperion)\
**Post date:** [January 21, 2026, 5:54am UTC](https://forum.aztec.network/t/proposal-execute-tge-payload-to-unlock-aztec-token-transfers/8380/2 "2026-01-21T05:54:13Z")

</div>

gm, please also verify the source of the [ATPWithdrawableAndClaimableStakerV2 (new ATP)](https://etherscan.io/address/0x11ED6b4a9D44cf8bC4e1763D08304eF20c998c95#code) on etherscan!  
edit: nvm i just did

---

<div class="post-metadata">

**Author:** ![santteegt](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.aztec.network/santteegt/32/2762_2.png) [@santteegt](https://forum.aztec.network/u/santteegt)\
**Post date:** [January 21, 2026, 4:16pm UTC](https://forum.aztec.network/t/proposal-execute-tge-payload-to-unlock-aztec-token-transfers/8380/3 "2026-01-21T16:16:22Z")

</div>

gm,

Just a reminder that you can follow the status of this proposal in the [Dune dashboard](https://dune.com/santteegt/aztec-governace-dashboard?theme=dark&utm_source=share&utm_medium=copy&utm_campaign=dashboard)

Please leave a ❤ if you think the Aztec Governance Dashboard is useful for the community, and if we should continue with its maintenance / adding new features and insights

---

<div class="post-metadata">

**Author:** ![amin](https://avatars.discourse-cdn.com/v4/letter/a/8e7dd6/32.png) [@amin](https://forum.aztec.network/u/amin)\
**Post date:** [January 22, 2026, 9:48am UTC](https://forum.aztec.network/t/proposal-execute-tge-payload-to-unlock-aztec-token-transfers/8380/4 "2026-01-22T09:48:23Z")

</div>

Thanks to BlackNodes for putting together a clear and detailed proposal.

Aztec Labs would like to confirm that we have independently reviewed the referenced TGE payload (`0x77A5…959C`) as implemented in `src/tge/TGEPayload.sol` in the `AztecProtocol/ignition-contracts` repository. Our review verified that the payload performs the actions described in this post and is scoped specifically to:

- Removing transfer restrictions for token sale participants by updating the relevant lock and claim parameters
- Enabling claimability of accumulated staking and block-building rewards
- Enabling Uniswap v4 pool migration and trading
- Registering the new Staker implementation with the intended delegation and withdrawal behavior
- Making no changes to allocations, balances, or token economics beyond lifting transfer restrictions

In addition to internal verification, this payload has been reviewed by **Cantina** (cantina.xyz), a third-party audit firm. Their audit did not identify any critical or high-severity issues related to the intended behavior of the TGE payload. You can view the report [here](https://github.com/AztecProtocol/ignition-contracts/blob/master/audit-reports/report-cantinacode-aztec.pdf)

As a reminder, Aztec Labs and all Aztec Labs insiders do not control governance outcomes - and will not participate in this governance proposal. Execution of this payload is only possible following successful signaling, voting, and execution through Aztec Governance, and participants should continue to perform their own due diligence before signaling or voting.

We appreciate the community’s careful review and discussion and are happy to help clarify technical questions about the payload’s behavior where useful.

– **Aztec Labs**

---

<div class="post-metadata">

**Author:** ![maxicrouton](https://avatars.discourse-cdn.com/v4/letter/m/2acd7d/32.png) [@maxicrouton](https://forum.aztec.network/u/maxicrouton)\
**Post date:** [January 22, 2026, 9:58am UTC](https://forum.aztec.network/t/proposal-execute-tge-payload-to-unlock-aztec-token-transfers/8380/5 "2026-01-22T09:58:55Z")

</div>

Thanks for taking the lead, that’s awesome ! 🙂

---

<div class="post-metadata">

**Author:** ![keccakk](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.aztec.network/keccakk/32/2891_2.png) [@keccakk](https://forum.aztec.network/u/keccakk)\
**Post date:** [January 22, 2026, 5:16pm UTC](https://forum.aztec.network/t/proposal-execute-tge-payload-to-unlock-aztec-token-transfers/8380/6 "2026-01-22T17:16:34Z")

</div>

Perhaps somebody with more solidity experience than I have could take a look at this.

In the payload up for vote, there is a function that uses the `IStaking` interface.

```auto
import { IStaking } from "@aztec/core/interfaces/IStaking.sol";

//

    function finalizeWithdraw(uint256 _version, address _attester)
        external
        override(IATPWithdrawableStaker, ATPWithdrawableStaker)
    {
        address rollup = ROLLUP_REGISTRY.getRollup(_version);
        IStaking(rollup).finalizeWithdraw(_attester);
    }

```

But when I look at the `IStaking.sol` interface, the function is spelled `finaliseWithdraw`

```auto
function finaliseWithdraw(address _attester) external;

```

Perhaps not so important from a grammar perspective, different strokes for different folks, but very important for code.

Can somebody with more knowledge on solidity interfaces weigh in on this?

Thanks!

> **[“Finalize” or “Finalise”—What's the difference? | Sapling](https://sapling.ai/usage/finalize-vs-finalise)**
>
> Explanation of the difference between finalize and finalise with example usage of each in context.

---

<div class="post-metadata">

**Author:** ![amin](https://avatars.discourse-cdn.com/v4/letter/a/8e7dd6/32.png) [@amin](https://forum.aztec.network/u/amin)\
**Post date:** [January 22, 2026, 5:36pm UTC](https://forum.aztec.network/t/proposal-execute-tge-payload-to-unlock-aztec-token-transfers/8380/7 "2026-01-22T17:36:59Z")

</div>

The `ATPWithdrawableAndClaimableStakerV2` contract deployed and made available to Token Vaults by the payload is calling the _correct_ function (`finalizeWithdraw`) on the rollup contract. The earlier confusion came from an outdated / incorrect interface definition that has since been corrected.

_Aside: The `finalizeWithdraw` function exposed on the rollup contract has no access control and can be called by any address. The fix in the V2 Staker contract was for completeness purposes._

**Longer explanation:**

- The **staking implementation on the rollup** exposes:

```auto
function finalizeWithdraw(address _attester) external;

```

(American spelling)

- An older version of `ATPWithdrawableStaker` imported a _local_ `IStaking` interface ( from `"src/staking-registry/StakingRegistry.sol"`) that mistakenly declared:

```auto
function finaliseWithdraw(address _attester) external;

```

(British spelling)

- That _local_ interface was simply wrong. Interfaces in Solidity are compile-time only and do **not** affect runtime dispatch. If the function selector doesn’t exist on the target contract, the call would revert immediately.
- In practice, this mismatch was caught and fixed by aligning the interface with the actual rollup contract.
- The **new `ATPWithdrawableAndClaimableStakerV2` correctly imports `IStaking` from `@aztec/core/interfaces/IStaking.sol`** , which matches the rollup ABI exactly and calls:

```auto
IStaking(rollup).finalizeWithdraw(_attester);

```

- As a result:
  - The payload compiles against the correct interface
  - The calldata selector matches the deployed rollup contract
  - There is no ambiguity, fallback behaviour, or silent failure mode here

So to summarize:  
This was a naming inconsistency in an older local interface, not a behavioural ambiguity. The payload under vote uses the correct interface and calls the correct function on the rollup staking contract.

Appreciate you flagging it, these are exactly the kinds of details that should be scrutinized in governance payloads.

---

<div class="post-metadata">

**Author:** ![viletonvaine](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.aztec.network/viletonvaine/32/2680_2.png) [@viletonvaine](https://forum.aztec.network/u/viletonvaine)\
**Post date:** [January 23, 2026, 10:45pm UTC](https://forum.aztec.network/t/proposal-execute-tge-payload-to-unlock-aztec-token-transfers/8380/8 "2026-01-23T22:45:11Z")

</div>

For anyone interested, I ran the contract through Clause, since I am no smart contracts expert and here is the result: [https://claude.ai/share/4900c0df-26c0-4b0c-97f6-4622440f8a0e](https://claude.ai/share/4900c0df-26c0-4b0c-97f6-4622440f8a0e)

---

<div class="post-metadata">

**Author:** ![Justi](https://avatars.discourse-cdn.com/v4/letter/j/cc9497/32.png) [@Justi](https://forum.aztec.network/u/Justi)\
**Post date:** [January 27, 2026, 10:22am UTC](https://forum.aztec.network/t/proposal-execute-tge-payload-to-unlock-aztec-token-transfers/8380/9 "2026-01-27T10:22:54Z")

</div>

Thanks @amin—appreciate the clear breakdown on the staker fix (finalizeWithdraw spelling sorted, right IStaking import). No calldata risks, clean rollup calls. Props @viletonvaine for the Claude audit share—community audits like that are peak web3.

Token sale participant here, voting **Yes** LFG. Locks in the fair 90-day timeline, hits quorum/supermajority properly, unlocks vaults/rewards for Feb 11 TGE without dump incentives. Bullish on privacy dApps and builders!
