Caro-Kann: Introducing $ROOK, Liquidity Mining & Arbitrage Mining
This article outlines the functions of KeeperDAO’s native token, ROOK, its role in the protocol, and the initial ecosystem rewards program, which begins on November 3 UTC 07:00.
KeeperDAO is an economic experiment. Our whitepaper can be found here. Please be mindful that the project is constantly evolving, and whilst it has been audited, we encourage users to research and understand the risks involved prior to engaging with the protocol. Everything carries risk. Please exercise your own discretion when considering whether or not to participate.
The KeeperDAO system needs to align incentives for 2 stakeholders: liquidity providers and keepers. The incentive for liquidity providers to supply assets is clear; KeeperDAO abstracts away the financial and technical complexities of participating in liquidation and arbitrage strategies, allowing them to earn a profit.
Keepers on the other hand need to be incentivized to maintain infrastructure to call liquidations and find arbitrage opportunities. Keepers are encouraged to participate in the liquidity pool, however without additional incentives, the system too easily gives rise to the free-rider problem; everyone wants a share of the profits but nobody wants to work. In practice, it is very optimistic to assume that any single actor will be able supply enough assets into the pool to make it individually worthwhile to act as a keeper (vs internalizing the profits themselves). Therefore, a mechanism is needed to incentivize long-term and sustainable keeper participation.
We introduce ROOK, which acts as a governance token in the KeeperDAO system. The token contract address is: https://etherscan.io/token/0xfa5047c9c78b8877af97bdcb85db743fd7313d4a
ROOK is an ERC20 asset allowing token-holders to propose and vote on all protocol upgrades, as well as administering the profit share between LPs and keepers, alongside new system proposals. We believe in gradual decentralization, and aim to turn the protocol into a DAO over time, powered by the native token.
Initial ROOK Distribution
The initial total token supply is set at 1,000,000 ROOK. All ROOK tokens are unrestricted upon launch and should be counted as part of circulating supply. However, since ROOK will move to an inflation model in the future, the exact total supply can not be determined at this stage. The plan is for future ROOK rewards to be altered via governance so that protocol participants can find its own inflation parameters as the protocol evolves.
Liquidity & Arbitrage Mining
The main mechanism for delivering initial ROOK tokens to the community will be the liquidity and arbitrage mining contracts outlined below. This contract will hold 200,000 ROOK tokens (60,000 to LPs and 140,000 to Keepers respectively) and will be distributed to community members who stake ETH, WETH, USDC, renBTC, and DAI. By initiating a reward mechanism that incentivizes early participants to partake in liquidity provisioning, arbitrage transactions and liquidations, both keepers and liquidity providers will benefit from KeeperDAO’s future growth.
For Liquidity Providers:
For liquidity providers that supply assets to the pool during the mining period, rewards will be prorated against ownership % of the total assets in that individual pool. Rewards run from block 11182745 to 11780885.
Pools emit rewards for liquidity providers independently. This means that providing $100 of BTC to the BTC pool may not result in the same rewards as providing $100 of ETH to the ETH pool. Rewards for liquidity providers are calculated and emitted per-block. The UI for depositing and withdrawing assets is accessible via: https://app.keeperdao.com
We introduce “arbitrage-mining” for early keepers, aimed at bootstrapping activity during the initial stages of the protocol. For keepers that join during the launch phase, rewards will be prorated against the % of total profits returned to a pool. Rewards run from block 11185218 to 11783358.
We believe that by providing rebates to keepers in the form of ROOKs, this financially subsidizes the switching cost for high-performing keepers to join the collective pool. This also has the dual benefit of creating an equitable and fair token distribution to participants directly based on revenue contribution. Pools emit rewards for keepers independently, and rewards for keepers are calculated and emitted per-day. Rewards are distributed 24 hours after the day ends.
Total ROOK rewards: 200,000 ROOK (20% of the initial total token supply).
Block reward: 30% to Liquidity providers, 70% to Keepers.
Liq-mining rewards are distributed per block as the liq-mining snapshot is game-able if distributed per day. Arb-mining rewards are distributed per day. Arb-mining needs to be on a longer timescale as large liquidations (which contribute a lot of value to KeeperDAO) will not be happening frequently.
daily_block_reward = 2,222.22lp_daily_block_reward = daily_block_reward * 0.3arb_daily_block_reward = daily_block_reward * 0.7
ROOK rewards are split evenly between pools. This means that mining yield will vary across pools depending on the amount of assets in each pool.
An individual pool’s ROOK reward allocation per day is defined as:
daily_block_reward / num_pools
Liq-mining formula (for single pool):
lp_reward = (individual_lp_deposit_pool_A /total_lp_deposit_pool_A) * num_eth_blocks_in_day
Arb-mining formula (for single pool):
arb_reward = pool_reward * individual_arb_profit_pool_A / total_arb_profit_pool_A
There is an “instant fee” for depositors of 0.64%. This fee goes to previous depositors and is implemented by LPs getting slightly less kTokens when depositing assets. This mechanism is place to incentivize sticky liquidity, and discourage frequent deposits and withdrawals. We expect this to help bootstrap the initial liquidity pool, as the ratio of ROOK rewards is skewed in favor of keepers (as their job is harder).
Early liquidity providers
From the initial dashboard launch date (July 18th) to date, the liquidity provided to the protocol has only been utilized by one (internal) keeper bot, where all earnings have been paid back to the liquidity pool.
However, recognizing that the current v1 version of the protocol does not rehypothecate funds to other yield producing / lending platforms if idle, early liquidity providers have paid an opportunity cost on their capital to supply assets to KeeperDAO. We will be rewarding early liquidity providers with 2% (20,000) of ROOK tokens, with the reward epoch being July 19 UTC 00:00 to November 3 UTC 07:00 (block 10486594 to 11182745).
It is to be expected that KeeperDAO liquidity pools will be holding more assets than are being utilised by keepers at any given time. For example, the ETH liquidity pool could expand to $100M, but keepers may only ever need up to $10M in any moment. In these scenarios, KeeperDAO is able to take the excess funds, and distribute them across various yield generating protocols.
ROOK holders will be able to govern this exact threshold, as well as the distribution of funds to different yield generating protocols. In this way, anyone can propose an integration, and ROOK holders can distribute funds to it based on (a) the risk, (b) the returns, and (c) the amount of liquidity the integration can accept before returns diminish.
KeeperDAO will be ever evolving. Some of the features that are currently under development, and will be added in future iterations:
- The ability for $ROOK holders to delegate their $ROOK to keepers to encourage/discourage behaviors that cannot be automatically captured by on-chain smart contracts (for example: ensuring that the keepers are grim-triggering external opponents, and ensuring keepers do not “act out of turn”), as well as extending trading to move beyond single-block trades.
- The ability for KeeperDAO to front-run attacks against DeFi protocols and return the funds safely back to the appropriate parties.
- Allow users to route their liquidity through specialized proxies, whether it is for trading or lending. These proxies automatically capture any profit that can be extracted from arbitrage or liquidation and return those profits back to the user (see ‘The Hiding Game’ in our whitepaper).
- Continued research into general MEV solvers for themselves, to capture as much opportunity as possible.
There is much thinking, much work, and much more discussion and collaboration. Get involved, and help evolve the protocol.