The vote the platform cannot overrule

One question, once a month: burn the THD the pool takes in fees, or pay it back to the people providing that liquidity. The platform is not an option on the ballot, and the only address on earth that can write the answer is the voting contract itself.

Most token governance is one of two disappointments. Either the vote is advisory, and a multisig implements it when it agrees, or the vote is technically binding over parameters that do not matter while the ones that do sit behind a key. In both cases the honest description is the same: somebody can overrule you.

This is one boolean, decided monthly, and there is no key that can overrule it. Not an owner key, not a guardian key, not a pause. The contract that holds the setting accepts the instruction from exactly one address, that address is the voting contract, and it was fixed when the contract was built.

Built, not yet live

The vote is written and deployed nowhere. No ballot has been cast and no month has been decided. What follows is the mechanism as it is built, not something you can vote in today.

What is actually on the ballot

The THD/ETH pool charges a fee, and it charges it in whichever currency is being sold.

A buy pays its fee in ETH. That ETH goes to the pool's own treasury and is not in question — it is not protocol revenue, it never meters anything, and no vote touches it.

A sell pays its fee in THD. That THD is the whole of the vote:

Outcome What happens to it Who gains
Burn burn() is called. The total supply falls Every holder, in proportion to what they hold
Recycle It is forwarded to the LP rewards distributor Whoever is providing the liquidity that earned it

What is not on the ballot

The platform. There is no third branch, no treasury option, and no way to add one — both destinations are fixed at construction and neither of them is us. Whichever way a month goes, the THD goes to holders or to liquidity providers.

The flag opens on burn, because that is what the pool did before the vote existed. So the first vote decides a change, not a start.

Why it is binding rather than advisory

The setting lives on a small router contract between the pool and its two destinations. That contract has:

  • No owner. Not a renounced one — none was ever declared.
  • No guardian, no pauser, no upgrade path, no proxy.
  • One function that writes the flag, and it reverts for every caller except the voting contract.
  • An immutable pointer to that voting contract, so the accepted caller cannot be repointed later.

There is no combination of keys that produces a third answer. A key able to set this flag would be the platform interference the vote exists to remove, so the only way to make the vote real was to make sure the key does not exist.

The calendar decides everything, not a proposer

No keeper schedules a vote and no admin opens one. Every timestamp comes from the UTC calendar, so a contract, an indexer and a screen all compute the same answer:

A vote's name The month it decides
Opens 00:00 UTC on the 1st
Closes 24 hours later
Snapshot of who holds what 7 days before it opens
Quorum None
Threshold 51% of the votes actually cast
Tie, near-tie, or nobody voted Sticky — the flag keeps its current value

Opening a vote does not start it. It materialises the record for a month whose window has already begun, and it refuses once the window has closed. So a vote opened at 23:59 on the 1st still closes at 00:00 on the 2nd, and a month nobody bothered to open simply has no vote. If the clock ran 24 hours from whenever somebody pressed the button, a late opener could shift every boundary behind it.

Finalising is permissionless too, and months finalise in order — a later month already closed blocks somebody turning up with a forgotten earlier one.

Weight: you cannot buy the vote a week before it

An address's weight is not its balance on the day. It is the average of its voting power at four instants: the snapshot, and 7, 14 and 30 days before the snapshot.

Held for Samples that are non-zero Weight
30 days or more 4 of 4 100%
8 days 2 of 4 50%
1 day 1 of 4 25%

Buying in the week before a vote gets you a quarter of your holding's say, and reaching full weight costs four weeks of holding the token through whatever the market does in them.

A hard 30-day cutoff was considered and rejected, for a specific reason rather than a soft one: the platform is spending a tenth of the supply attracting liquidity providers, and a cliff would stop exactly those people voting on whether that programme continues. A ramp lets a recent arrival vote at a fraction rather than not at all.

The wallet half of this needs no indexer, no keeper and no root — it is read straight off the token's own checkpoints. The token self-delegates on first receipt, so an ordinary holder is enrolled without ever sending a delegation transaction they would have had to know about.

LPs vote, and their half is the one honest weak point

An LP's THD is inside a Uniswap V4 position rather than in their wallet. A balance read returns zero for precisely the people with the most at stake in the outcome, so their weight is proved against a Merkle root published seven days before the vote opens, computed from THD deposited and not withdrawn, ramped by the same four samples.

The root is published by the owner, and it is worth saying plainly why that is not a hole:

  • The window is closed by the calendar. Publishing reverts from the instant the vote opens, so the root cannot be swapped while ballots are being cast or after a tally is visible.
  • It cannot touch the wallet half. Most of the supply votes through the token's own checkpoints, which no key on this platform can influence.
  • It is derivable by anyone. The root is computed from public pool events; any holder can rebuild it independently and check the published hash during the seven days it sits there. That is the entire reason the seven days exist.
  • A root that is never published costs LPs their vote for that month and leaves the wallet half intact — a failure in the safe direction.

The residual, stated rather than buried

Publishing the LP root is the one trusted input in this design. It is bounded by a closed window and by being checkable in advance, and it is not bounded by anything else. If you are auditing this, that is where to look.

Who does not vote

Excluded How
The unlock contract, every distributor, every vesting and claim contract, the quest and spoils vaults The token never delegates to them, so their voting power reads zero
Platform treasury wallets Checked live against the treasury whitelist, and refused by name rather than counted at zero, so the caller learns why
The protocol's own permanently-locked liquidity position Excluded from the LP root

The principle underneath all three is one line: THD votes when it belongs to somebody who could sell it. Supply sitting in a contract waiting to be distributed is not anybody's opinion.

Ballots are final

One ballot per address per vote, and it cannot be changed. A voter has nothing to learn in 24 hours that changes what they held at a snapshot taken a week earlier, and supporting a change of mind would mean storing and unwinding every voter's side and weight on a window with no quorum.

A zero-weight ballot is refused rather than silently counted, so nobody walks away believing they voted when they added nothing.

Reading it yourself

  • thdBurn on the fee router — the flag in force right now, as a plain boolean anyone can read.
  • voting on the same contract — the only address that may write it. Check it against the voting contract's address; they are immutable on both sides and point at each other.
  • lpRewards and the ETH destination — both immutable, which is what stops a recycle vote being quietly redirected.
  • THRESHOLD_BPS, VOTE_DURATION, SNAPSHOT_LEAD, RAMP_SAMPLES on the voting contract — 5100, one day, seven days, four.
  • Every tally emits both sides' totals, the ballot count, whether it decided anything and whether the flag actually moved. A month that changed nothing is in the log as a month that changed nothing.

The fees and payouts page covers the fee this vote is about and where every other leg goes. What a quiet day does to the supply covers the other place in this system where THD is destroyed rather than distributed — and that one nobody votes on at all.