DEV Community

Donna Thompson
Donna Thompson

Posted on

How to move governance tokens before an onchain vote

To cast a vote from Mantle Network, the governance system must recognise voting power there before its snapshot; bridging tokens alone does not guarantee that result. First identify the Governor’s voting chain and snapshot rules, then plan for the token to arrive and be eligible in time. For a comparison of transfer routes, see which Mantle Bridge route fits; the guide here focuses on vote eligibility and timing.

Where does the Governor count voting power?

Start with the chain and contract that the proposal uses to read votes. A DAO may hold discussions on one chain, execute proposals on another, or aggregate votes across several chains; the proposal’s interface is not proof of where its Governor reads balances.

For a concrete case, suppose an integrator holds 100,000 units of a governance token on Ethereum and wants to vote on a proposal whose Governor reads token votes on Mantle Network. The holder needs a Mantle-side representation that the Governor recognises. If the Governor only reads the Ethereum token contract, moving tokens to Mantle can leave the holder unable to vote.

Check the proposal’s Governor and voting-token addresses, the chain ID, and the voting method. With an OpenZeppelin Governor using ERC-20 Votes, inspect the token’s getPastVotes and delegation behavior. Cross-chain systems can instead verify or aggregate votes from a source chain; in that design, a bridged balance may be irrelevant.

What changes when tokens cross to Mantle?

A canonical L2 deposit generally locks or accounts for tokens on Ethereum and makes a corresponding representation available on Mantle. The representation is a separate contract on a separate chain, so its balance and vote checkpoints are not automatically the same as those of the Ethereum token. The bridge transfers assets; it does not change a DAO’s voting configuration.

Mantle Bridge is the official bridge for moving eligible assets between Ethereum and Mantle Network. Use its official app for a transfer when the token and route are supported, and connect the wallet that controls the governance tokens. WalletConnect can be used to connect a compatible wallet; the wallet still needs the appropriate chain’s native gas token to submit transactions.

Move the tokens and verify eligibility

For the example holder, these steps establish whether a transfer can turn into usable voting power:

  1. Read the proposal rules. Record the Governor address, voting chain, snapshot timepoint, deadline, and vote method. Confirm whether the Governor reads Mantle token votes directly or accepts cross-chain voting messages.
  2. Check token identity and delegation. Verify that the Mantle-side token contract is the representation recognised by the Governor. Find out whether votes require delegation, and whether self-delegation activates the holder’s voting units.
  3. Calculate the latest safe arrival. Allow time for Ethereum transaction inclusion, deposit processing, and any required destination-chain confirmation. Add time for delegation and the vote transaction. The required margin depends on the bridge’s current process and the proposal’s timing; avoid planning to arrive at the deadline.
  4. Bridge the required amount. Transfer only the amount needed for the intended vote, leaving enough ETH on each chain for the transactions the plan requires. The official Mantle bridge app provides a way to move supported assets; the exact transfer path depends on the asset and direction.
  5. Verify on Mantle before voting. Check the destination token balance and, where applicable, query getPastVotes(account, snapshot) against the Governor’s snapshot timepoint. Delegate before that timepoint if required, then submit the vote through the DAO’s specified method.

In an illustrative five-day voting window, a deposit that arrives on day four may be too late even if the vote remains open: a block-based Governor can use a snapshot taken when voting starts. OpenZeppelin’s Governor documentation explains historical vote lookups, while ERC-5805 and ERC-6372 define the vote and clock interfaces used by many implementations. If the snapshot has passed, bridging cannot rewrite the historical checkpoint.

FAQ

Can I bridge tokens after voting starts?

Only if the Governor’s snapshot has not passed, or if its rules allow voting power to be calculated later. Many block-based Governors fix voting weight at a snapshot timepoint. In that case, tokens arriving afterward do not add weight to the proposal, even if the destination balance is visible before the deadline.

Does a bridged balance carry my delegation?

Usually, you should treat destination-chain delegation as a separate state and verify it in the destination token contract. A bridge may mint or release a representation to your address, but delegation checkpoints belong to the contract that records votes. If self-delegation is required, make that transaction before the relevant snapshot.

What if the DAO counts votes on Ethereum?

Keep the voting power on Ethereum unless the DAO explicitly supports cross-chain vote verification or aggregation. A Mantle representation does not normally increase the Ethereum token contract’s recorded voting units. Check the proposal’s rules and Governor configuration before moving assets, since returning tokens may take additional time.

Before the snapshot: confirm the voting chain, token contract, delegation state, arrival margin, and gas on both chains.

Top comments (0)