The Aquarius Voting Mechanism
How governance votes can be used and verified by everyone
Last updated
How governance votes can be used and verified by everyone
Last updated
Achieving governance votes that are reliable, verifiable, and trusted can be a significant obstacle for any project wishing to implement them. If done correctly, it provides a way of innovating a product and can lead to great tokenomics.
Aquarius is more than just a liquidity incentive for the SDEX. It’s a way to showcase new use cases while demonstrating the power of Stellar. Every aspect needs to be on-chain for governance votes to work with Aquarius. This way, everyone can see results as they happen, with everything being verifiable through Stellar explorers.
We’ve created a way for AQUA holders to keep ownership of their tokens when voting while locking them in place to earn staking rewards. So instead of being just another token, AQUA will earn rewards for being put to good use.
It is crucial that AQUA holders vote, as the protocol relies on these votes to know how the community wants to direct the project through governance voting and which market pairs to reward. The Aquarius protocol scans voting wallets to determine governance outcomes and which markets users would like to incentivize with AQUA rewards.
Instead of all SDEX market pairs receiving rewards, the voting mechanism enables the protocol to focus on ones the community believes are essential to the network.
The voting mechanism makes use of claimable balances on the Stellar network.
We have used this function to send airdrops to eligible users, giving them specific time parameters to claim their rewards. Instead, this variance in method sends AQUA to voting wallets and locks them in place until after a set time.
Claimable balances send assets into a void while locked inside parameters. These tokens still exist but are unusable until the contract rules are complete. We can calculate the amount of AQUA locked in voting wallets to see how people want Aquarius to function. As a thank you, voters will be rewarded for locking their AQUA in voting wallets.
Once broken down, this process can be easily implemented into different projects, allowing them to create governance voting systems. Here is how it works.
We will first need a few Stellar wallets to create a voting process. For Aquarius, these wallets represent market pairs users would like to receive AQUA rewards. Other projects would set each wallet up for options relevant to them, like political parties running for government.
For this example, let’s look at an Aquarius liquidity voting wallet.
This wallet will be where voters can send their AQUA if they would like to see the liquidity providers of the USDC/XLM trade pair get rewarded. This method of voting wallets also gets used when we figure out governance votes, with two wallets set up for either “for” or “against” votes on a proposal.
To track transactions relating to liquidity voting wallets, they all have the following signer attached to them.
GA2UB7VXXXUSEAQUAXXXAQUARIUSVOTINGWALLETXXXPOWEREDBYAQUA (seen as GA2U…AQUA in Account Signers in the graphic)
Inside voting wallets, there are either one or two trustlines alongside the XLM native asset, which is needed for all Stellar wallets to function. The one or two extra trustlines relate to the market pair this wallet represents.
As this example is XLM/USDC, we have the XLM asset & one trustline, USDC (centre.io).
If we want to represent yXLM/USDC, we would have XLM & two trustlines, yXLM (ultrastellar.com) & USDC (centre.io).
To ensure votes aren’t tampered with, voting wallets are locked permanently. No one can execute transactions from these wallets, and all data will be forever hardcoded into the blockchain.
Now we have wallets representing each market pair for our use case; we need a way for users to provide their votes. For this method of voting to work, we use claimable balances.
Once users input their desired stake to each market pair, they can select a voting duration to lock their vote in for, from between 1 week & 6 months. Once decided, they can proceed to submit their votes to the network. The voting platform will create & submit claimable balances to the relevant voting wallets during this process.
We can see these votes inside of the voting wallets in the form of pending claimable balances. We can scan each of these wallets using blockchain explorer software to calculate how much AQUA has is staked in the form of a claimable balance.
As voting wallets are locked, only the original user can reclaim the claimable balance after the selected voting period ends. Wallets being locked means voting wallets can’t claim the AQUA sent to them. Only the wallet that submits the claimable balance can retrieve the staked AQUA, securely staking them inside the Stellar network.
The simplified logic for a 7-day duration transaction would be:
X AND Y NOT claim IF Time < 7DAYS
Voting Wallet (X) & Sender of AQUA (Y) cannot claim the claimable balance before 7days.
This formula locks the AQUA tokens into the network, with the tokens taken out of circulation for the entire duration chosen.
When transactions get done this way, it allows anyone to view how many votes have been designated to a voting wallet, thus creating verifiability on-chain. Once the duration has passed, users can reclaim their AQUA and redesignate them to maybe the same market pairs, new ones, or even use their AQUA for other purposes on the Stellar network.
So why would a user want to vote?
They have an asset on the SDEX they genuinely believe in and would like to introduce another incentive to encourage liquidity.
An asset developer may want to reward users for trading their tokens.
They would like to vote “for” or “against” a governance proposal.
In these examples, it comes down to whether a user or developer believes enough in a project or a proposal to bother with voting.
When users participate in voting, they will receive an extra voting reward. We are finalizing how voting rewards will get distributed and how best to implement them. Once finalized, we will update the community and retroactively reward all previous participation in voting.
How a holder votes will depend entirely on their AQUA strategy. Some may know which markets and governance proposal they would like to vote for, while others might change tactics each month and prefer to review all angles before voting.
As market makers & liquidity providers of chosen market pairs also get rewarded in AQUA, holders may opt to vote for markets they often use themselves or proposals that benefit them the most. Taking part in voting compounds how many ways a user can earn AQUA and control how the protocol functions.
For liquidity voting
A user can stake their AQUA to a designated pair
Trade this pair, creating liquidity
Receive rewards for both voting and trading on that pair
For governance voting
A user can stake their AQUA against a proposal, either for or against
Vote for proposals that benefit them most. Maybe they use AMMs a lot so vote to increase AMM rewards
If a trader uses many different pairs month to month, they may change their vote to correlate with the trading or liquidity they provide across the SDEX.
It’s important users understand this concept, as no one wants to lock their AQUA into low liquidity trading pairs. Although users would earn a staking reward for locking their AQUA into the voting protocol, the market they voted for may not get enough other votes, so there would be no benefit for their favorite market pair.
These types of decisions will not affect everyone. If a holder doesn’t partake in trading or providing liquidity on the SDEX, they will receive a staking reward regardless, which for some is enough.
These are fantastic tokenomics for Aquarius.
Not only does this provide a use case for AQUA tokens, but it also actively encourages users to engage with the protocol and provide liquidity on the SDEX.
Through the Aquarius voting platforms, & , users can choose how much AQUA they would like to stake against proposed market pairs or governance proposals. If a market pair isn’t represented in the liquidity voting system yet, a user can create this new pair for everyone to vote on simply by selecting Create Pair.
A users belief can work, but it’s not very enticing for the entire community, So to encourage all holders of AQUA to vote, we designated 5,000,000,000 AQUA
to the when we launched the project.