Skip to content

docs: bring remaining Participate pages to verified mainnet values - #25012

Draft
AztecBot wants to merge 2 commits into
nextfrom
cb/participate-at-par
Draft

docs: bring remaining Participate pages to verified mainnet values#25012
AztecBot wants to merge 2 commits into
nextfrom
cb/participate-at-par

Conversation

@AztecBot

Copy link
Copy Markdown
Collaborator

Problem

The Participate section's token and governance pages carried testnet-era or simply wrong numbers, and the technical governance pages had no plain-language ramp for token holders. Follow-up to #24910 (retail onboarding), covering the rest of the section.

Every number in this PR was verified against ground truth rather than copied forward: the v5-next source line (l1-contracts, spartan/environments/network-defaults.yml), the live mainnet contracts via eth_call (Governance getConfiguration(), GovernanceProposer QUORUM_SIZE()/ROUND_SIZE(), Rollup getCheckpointReward()/getRewardConfig()/getExitDelay()/getActivationThreshold()/getSlotDuration()/getEpochDuration(), RewardBooster getConfig(), token totalSupply()), and the live testnet Governance on Sepolia. An independent adversarial fact-review pass then re-derived every claim from scratch; it refuted none and its consistency findings are folded in.

Factual corrections (docs were wrong vs. live chain)

  • Checkpoint reward: docs said 400 $AZTEC/slot (280/120 split). Live mainnet: 500 $AZTEC per checkpoint, 350/150 (getCheckpointReward() = 500e18, sequencerBps = 7000). token/economics.md, token/index.md, basics/blocks.md.
  • Prover activity score: docs said +125,000/epoch, max 15,000,000, a = 1,000, min share 100,000. Live RewardBooster (AZIP-5): +101,400/epoch, max 367,500, a = 250,000, min share 10,000, k = 1,000,000; decay 100,000/epoch confirmed in code.
  • Governance withdrawal delay: docs said ~38 days on mainnet (assuming a 30-day execution delay). Live mainnet execution delay is 2 days, so the withdrawal delay (votingDelay/5 + votingDuration + executionDelay) is ~9.6 days. token/staking.md, token/voting.md, governance/voting.md, governance/index.md.
  • Signaling rounds: docs used v4-era examples (300 slots, 151 quorum, 36-second slots). Live mainnet: 1,000-slot rounds (~20 hours at 72s slots), 600-signal quorum; testnet 60/100 (~2 hours). governance/index.md, governance/proposal-lifecycle.md, token/voting.md.
  • Governance timelines: replaced "configurable (e.g. 12 hours on testnet)" placeholders with verified values: mainnet 3d voting delay / 7d voting / 2d execution delay / 7d grace period (~13 days minimum end to end); testnet 12h/24h/12h/24h. Removed the stale "Mainnet parameters will likely be longer" hedge.
  • Escape hatch: proposeWithLock numbers documented from chain: 258,750,000 $AZTEC lock (2.5% of the verified 10.35B supply), 90-day lock delay.
  • Quorum/thresholds: mainnet 20% participation quorum, 33% required yea margin (yea > ~2/3 of votes cast), 100,000,000 $AZTEC minimum total power. Testnet: 20% / 10% / 9,600,000 (read from Sepolia Governance).
  • Deposit control wording: governance/voting.md claimed control was disabled "by passing the zero address as the GSE". Actual mechanism: zero beneficiary in the constructor permanently allows all beneficiaries (isAllBeneficiariesAllowed() returns true on mainnet).
  • Bug bounty: alpha.md said a bounty was "being prepared"; it links the live Cantina program now.
  • Delegation stake note: 200,000 AZTEC per validator confirmed as the exact on-chain activation threshold; added a pointer for holders without a token-sale Token Vault to check the staking dashboard for supported flows.
  • networks.md: governance parameter table extended with the verified grace period, voting quorum, required yea margin, minimum total power, and propose-with-lock rows for both networks, since participate pages now cite it for live values.

Readability and consistency

  • "TL;DR for token holders" callouts on proposal-lifecycle.md, governance/voting.md, gse.md, upgrades.md; contracts.md's stale "Work in Progress" banner replaced with source + deployed-addresses pointers.
  • Plain-language glosses for RANDAO, Byzantine fault tolerance, mempool, UTXO/notes, committee, partial address, CREATE/CREATE2, and a definition of "checkpoint" where rewards are discussed.
  • Sentence-case headings across the touched pages per the docs style guide (slugs unchanged; anchors verified), and em/en-dash cleanup.

Notes for reviewers

Two divergences surfaced during verification, deliberately not "fixed" here because the chain is the source of truth for docs:

  1. l1-contracts/script/deploy/DeploymentConfiguration.sol's mainnet branch on v5-next specifies a 30-day execution delay and 200M minimum votes, but the deployed mainnet Governance has 2 days and 100M. If the script is meant to mirror the live deployment, it doesn't.
  2. yarn-project/ethereum/src/contracts/governance.ts's ProposalState enum is missing Droppable (Solidity value 6), so raw states 6/7 decode as Dropped/Expired and a true Expired (8) fails the bounds check.

Both are flagged for the owning teams; happy to file issues.

Testing

  • cspell clean on all touched files; internal anchors verified (/networks#governance-parameters, /networks#contract-addresses).
  • Post-edit sweep confirms zero occurrences of the stale values (400/280/120, 38 days, 15,000,000, 125,000, 300 slots, 151, 36 seconds) remain in docs-participate/.

Created by claudebox · group: slackbot · requested by Alejo Amiras · Slack thread

@AztecBot AztecBot added ci-draft Run CI on draft PRs. ci-no-fail-fast Sets NO_FAIL_FAST in the CI so the run is not aborted on the first failure claudebox Owned by claudebox. it can push to this PR. labels Jul 27, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ci-draft Run CI on draft PRs. ci-no-fail-fast Sets NO_FAIL_FAST in the CI so the run is not aborted on the first failure claudebox Owned by claudebox. it can push to this PR.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant