Introducing Votemak

Votemak
4 min readNov 6, 2021

--

Votemak lets protocols bribe $TOKE holders to vote for their reactors via smart contracts. Protocols put up bribes in any ERC 20 and $TOKE holders can collect those bribes after voting

To use votemak simply visit votemak.com to see which protocols are offering bribes, vote for those protocols on tokemak.xyz, and return later to collect your bribes

Our contracts are friendly forks of the votium.app contracts — 5% of net profits (after all expenses) will be shared with their team.

For full details on the upcoming C.o.R.E.2 vote, see Tokemak’s official post

How does it work?

The process is very simple. First protocols can visit votemak.com where they can select which reactor they want holders to vote for, and deposit a bribe into the smart contract. Protocols are able to upload multiple bribes before the deadline (when voting ends).

Users can then see the total bribes for each reactor on the votemak.com website (we recommend waiting until the last few hours to vote as new bribes may come through)

Users do not have to interact with our smart contracts to vote, they simply vote on the tokemak website — even those who don’t know votemak exists will be able to claim bribes

After the vote ends, our team will initiate the distribution. Voters can then collect their respective piece of the bribe.

Voters should look at which reactors already have votes and vote based on which bribe will pay them the most per vote.

For example, assume the following:

  • The RGT reactor has $10,000 of bribes and 1000 votes
  • The SPELL reactor has $20,000 of bribes and 3000 votes

In this case voters should vote for RGT even though SPELL has a higher total bribe amount because they will get more $ per additional vote

What does it cost?

For voters there is no cost to using votemak, instead the team makes money by taking a fee from each bribe. The fee is currently set to 4%.

Voters should be aware that there are ethereum gas costs when they claim their bribes, so smaller voters should concentrate all their votes on one protocol so they only need to claim one bribe.

Why do protocols want a reactor? What should they spend?

Having a reactor is extremely valuable for a protocol, and the only way to get one is to have TOKE holders vote to give you one. In previous voting rounds TOKE holders got nothing for these votes, but now they can offer their votes to the highest bidder.

TOKE holders should ensure they are getting paid before giving a reactor to a protocol because they have to pay emissions to that protocol when the reactor goes live

Let’s use ALCX as an example:

  • Today the ALCX reactor pays ALCX holders 700 $TOKE / day ($50k/day at $70/toke)
  • If we assume this goes on for 3 months, that’s $4.5M in TOKE emissions to ALCX holders for free!

On top of this $4.5M of TOKE, ALCX also gets:

  • a use-case for their token which means less sell pressure
  • liquidity direction to provide ALCX liquidity (don’t need to pay pool2 rewards which can be $100M+ yearly)

Additionally, once a protocol wins a reactor they do not need to win again in a subsequent vote — the reactor lasts forever!

The biggest risk to protocols is they may not bribe enough. There are no refunds for bribes. Therefore, if a protocol bribes but does not win, they will lose those funds to the voters that gave them votes, and may need to bribe again next cycle to try and win a reactor.

What’s next?

We have many ideas for what we can do next, but we want to see if the community and protocols even find this useful. Possible improvements include:

  • Vault system: Tokemak does not have vote delegation, so we could create a vault which manages voting for holders based on optimal bribe amounts
  • Long term bribes: After CORE sessions end, the mechanism for deciding which reactor gets emissions will change. We can update our contracts to act accordingly

Audits and safety considerations

OUR CONTRACTS ARE NOT AUDITED. THE TEAM TAKES NO RESPONSIBILITY FOR LOST OR MISDIRECTED FUNDS.

We are a friendly fork of votium, and the votium team has taken a glance at the contracts. They had no immediate security issues.

For voters there is no risk of lost funds as they do not need to deposit any funds into the contract. The only risk is if there is an issue with distribution.

We have made the following moderate changes to the bribe contract to support tokemak instead of convex:

  • Adjustments to manage polygon (reactor voting happens on polygon and not ethereum)
  • Removal of delegated vote signing as tokemak does not support vote delegation
  • Small improvement to support ETH→WETH deposits

Almost no changes were made to the distribution contract

The admin key is managed by a 2/3 multisig of DCFGOD, 0xTomoyo, and 0xMattyb

Tokemak has informed us that they’re deploying a new voting contract, but all the methods are the same so there should be no issues

Technical Details

Contracts:

A rough overview of how they work:

  • Admin calls updateProposals which sets which reactors are available for bribes, and sets the deadline to the end of CORE2
  • Protocols call depositBribe to add their bribes
  • After the deadline passes, admin calls transferBribesToDistributor and the funds move to the claim contract
  • We run a script and upload a tree which tells the claim contract which addresses can claim which bribes
  • Users claim bribes from the claim contract

From the team,

0xTomoyo, 0xMattyb, DCF INTERN, and DCF GOD

--

--