[IP] Proposal-spam protection upgrade for ABX

[RFC] Proposal-spam protection upgrade for ABX governance

Summary

This RFC proposes upgrading ABX governance on Base to Reserve Governor 1.1.0.

The purpose of the upgrade is proposal-spam protection.[1][2]

Unlike the vlRSR upgrade, this requires a new staking vault and migration of existing stake. ABX will continue using its existing governance token ALTT, not RSR.[3][4]


How the spam protection works

Release 1.1.0 uses a shared per-account proposal throttle across both governance paths. Standard and optimistic proposals draw from the same refillable allowance over a 12-hour period, limiting how quickly one account can submit proposals.[1][2]

For standard proposals, the proposer must meet the proposal threshold using both their voting power at the previous timestamp and their average voting power over the preceding 12 hours, normalized by average total supply.[1][2]

Together, these checks form one proposal-throttling mechanism: an account cannot rapidly propose too many proposals at once, and briefly acquired or delegated voting power does not immediately confer full proposal eligibility.[2]

For more context on the necessity of this approach, see the flurry of spam proposals levied against BDTF.

Additional upgrade safety

Release 1.1.0 also includes version-registry checks for the staking vault, governor and timelock. Future upgrades of these components must match the latest registered, non-deprecated governance release.[2]

Proposed action

Migrate ABX to Reserve Governor 1.1.0:

  1. Before: Deploy a new vlALTT staking vault
  2. Gov proposal: move ABX’s governance and staker-fee allocation to the new system, simultaneously retiring old staking vault and enabling instant unlocks.

Unlike the vlRSR upgrade, this rotates governance contracts rather than upgrading them in place.[4]

Technical execution

At the lower level, the migration uses GovernanceSpell_09_18_2026: deploySuccessorStakingVault(), followed by upgradeFolio(), and finally retireOldStakingVault().[4]

The new staking vault is deployed beforehand. Unlike OPEN, ABX’s DTF and staking vault have separate governance systems, so the switch and retirement require coordinated proposals. Once the old vault is retired, vlALTT holders who are already fully staked can unlock and deposit into the new vault immediately.[4][5]

What does not change?

This proposal does not change:

  • ABX’s basket, mandate or fee rates;
  • the underlying token used for governance; or
  • ABX’s minting and redemption mechanics.
  • rewards: vlALTT rewards remain as claimable ABX

ABX tokens do not need to be migrated. vlALTT holders will need to unstake and restake in the new vault, and set their delegations there.[4]

Future staker fees will accrue to the new vault after the switch.[4]

Risks and considerations

As with any governance migration, there is implementation and execution risk. The migration also requires coordination: enough stake must be in the new vault before ABX switches over, and additional stake should follow shortly afterward, ideally.

In the event of a governance attack during the upgrade, the Guardian role could be used to defend.

Feedback requested

Please share any feedback or objections to applying the Reserve Governor 1.1.0 proposal-spam protection upgrade to ABX, including the required staking-vault migration.

I am in favor of this change
  • YES
  • NO
0 voters

Sources

[1] Reserve Governor 1.1.0 release
[2] Reserve Governor 1.1.0 upgrade guide
[3] Upgrade sequencing and OPEN/ABX special handling
[4] Governance migration spell
[5] ABX governance migration fixture

1 Like

Proposed Optimistic Governance Upgrade Timeline

There are 2 upgrade proposals that will be required: upgradeFolio() + retireOldStakingVault().

Here are some proposed steps that aim to simplify the upgrade process as much as possible:

  1. Day 0: Propose upgradeFolio() from vlALTT-OPEN (DTF Governance path, 7-day cycle)

  2. Day 2-5: Voting on upgradeFolio()

  3. Day 7: Execute upgradeFolio()

  4. Day 7: Propose retireOldStakingVault() from vlALTT-OPEN (DAO Governance path, 16-hour cycle)

  5. Day 7-8: Voting on retireOldStakingVault()

  6. Day 8: Execute retireOldStakingVault()

    vlSQUILL-ALTT holders receive immediate payout of ALL pending StakingVault rewards and unstaking delay is set to 0s, allowing immediate unlocks.

Therefore: The suggested strategy is to wait to unstake vlALTT-OPEN until Day 8, after the 2nd proposal has executed.