Swap Harder
Technical guide for GigaSwaps rewards.
tl;tr: Healthy activity from wide a range of accounts creates the best reward outcome. Bots, if used properly can contribute and benefit from this.
Picking Winners
Every 216,000 slots a new win map is produced. This is a VRF map of the next 216,000 win hashes on each corresponding future slot.
The win map is extended with a weight on each slot that factors a programmable luck score, filtering out wins that have low (below 4) luck score.
When multiple swaps occur on the same winning slot, all qualifying winners (luck filtered) receive rewards.
Calculating Rewards
Rewards are designed to promote productive activity. Combating sybil attacks on reward pools to favor productive activity is a difficult challenge to solve for. We approach solving this using a conditional ruleset which defines the qualifying parameters adjusted by market based governance largely scoped on Futarchy (https://mason.gmu.edu/~rhanson/futarchy.html). Abstracting manual voting is cumbersome - instead utilization gauges throttle the reward parameters across time weighted activity (bot-resistant). These weights include:
- Base reward multiplier - multiplier of calculated reward (max 10x). This value increases with more diverse accounts producing positive momentum (buy activity) and volume.
- Volume qualification - threshold of qualifying volume of each winning transaction which is eligible to receive a reward. One can indeed have a winning hash and not receive reward because of luck or volume of winning transaction.
- Momentum weighting - time weighted (bot-resistant) upward momentum (buying behavior) positively affects other gauges. Downtrend momentum negatively impacts rewards by raising volume qualifications.
- Reward pool funding rate - while the funding rate of reward pool is largely based on transaction volume, activity from liquidity mining has a strong impact on reward pool growth.
The winning, qualified activity is queued in via the Rewards Router. The reward routers consideration of market sell-offs order-match users to dollar value rather than token amounts.
Adjusting Luck
Luck is a score that is calculated from the reward merkle. Luck adjusts at the account level based on activity. Luck runs 3,000,000 slots back giving it self healing for luck-exhausted accounts. This activity includes:
- Win frequency
- Reward frequency
- Reward amount
- Adding (reward pool token donations)
- Volume
- Pair Diversity
- Fee production
- Tips & Account transfers (Hash boosting, Liquidity Mining)
Thoughts on Bots
Bots are good if the bots are producing new positive activity. Positive activity is rewarded.