OneTickDAO.eth and the Narrow Rangers

Revert Finance
7 min readDec 8, 2021

--

A first look into the RBN Uniswap v3 liquidity incentives programs

December 7th marked the end of the first big Uniswap v3 staker rewards program, on the RBN/ETH @1% pool, and we thought we’d take a look into how this went.

The program started October 8th of 2021 with a total of 10,000,000 RBN as incentives to liquidity providers to be distributed over the next 60 days.

We looked at the activity of the accounts that claimed upwards of 100,000 RBN in total. This filters out to 14 accounts that in aggregate claimed 77% of 10M RBN rewards.

 [“0x1Dd01d51a7a3dfd9bC207f54AdE33591Bf2c76cd” 2016433]
[“onetickdao.eth” 1820733]
[“0x4bcae4ac7ecb042992ac730e2d5a61c3bbdc5e30” 642281]
[“0x05e09d942505764bca4475abf8efdbc21d1c535b” 517718]
[“0x14fd9243fb6645f9cb46a0e3e5984be9dfab6427” 500342]
[“0x03a82ee7997c87e7c6bd227fd3af77a3f175fb91” 488323]
[“0xfc93c3010ea5668c1b6900a9fe87168b63dec145” 424120]
[“0x8ae20fabeb608fd307fc1ea15a294340a547d501” 289860]
[“0x8ca440e6e8ad6dbcabec20df94dc19047c614a6c” 230739]
[“0xead3bb55a50af1a94a125b87d964060046a394e7” 209397]
[“0xbe9a69dfa2bca6bab58bdabe9dd1d099bc43868f” 199015]
[“0x531516ca59544bf8ab2451a072b6fa94adf5a88c” 156519]
[“0x455d7eb74860d0937423b9184f9e8461aa354ebb” 121667]
[“0x77eac8cadd22b5af72e0428900a175f9cc4f0d5f” 105132]

Right away one account jumps out by their ENS name, some cursory research points to a thesis document that seems in equal parts ambitious, funny, and confused. Bullish.

OneTickDAO.eth in the RBN pool

Charting the account’s activity as LP in the RBN/ETH pool is illuminating. First thing worth pointing out is that it created and exited a total of 121 positions in the 60 days the liquidity mining program was in effect.

We can see that 98% of these positions are at a 200 tick range, which is the minimum range possible for the 100 bip (fees) Uniswap v3 pools. And finally, the vast majority of these positions are created “in range” and exited when the position is “out of range”, or about to be.

The chart below, which should look similar in shape to a price chart (but is not), are the account’s historic positions. On the Y Axis we have the pool’s ticks, and on the X axis we have the account’s positions, ordered by subsequent NFT ids. The green boxes represent each position’s range, the green dots represent the pool’s active tick when the position was created, and the red dots the active tick when the position was exited.

onetickdao.eth: 1,820,733 RBN claimed. 98% of positions at min range.

The strategy seems rather straightforward:
1. Deposit liquidity into minimum possible range (200 ticks for the 100 bip pool).
2. Exit as soon as the position is out of range.
3. Claim and sell liquidity incentives rewards.
4. Swap into correct allocation of assets for new intended minimum possible range position around the pool’s active tick.
5. Repeat.

To calculate the profits OneTickDAO.eth made with the RBN liquidity mining program, we calculate the deposit and withdrawal value for each position using the prices of the assets at the block that each position was exited. That is to say, the “deposit value” is the USD denominated value of all the deposited assets for the position, at the time the position is exited. Likewise, the “withdrawal value” is the USD denominated value of the assets withdrawn, with all rewards claimed, and all gas costs paid for managing the position, at the prices when the position is finally exited.

The total PNL for the this strategy using the above methodology is $3,889,000 USD. While the highest invested amount for any one position was $3,471,592.77. It also seems apparent that OneTickDAO.eth continuously kept rolling over profits from one position to the next. Calculating the total invested amount, and the strategy APR is for now left to the ambitious reader¹.

Position deposit and withdrawals value with gas and rewards claimed included. Asset prices at the block height of each position exit.

It’s hard to hide a good strategy on the blockchain

While onetickdao.eth seems to be the first account using the strategy, it was promptly copied by others. Of the 14 analyzed accounts, we filter out for six that had 75% of all their RBN/ETH positions at the minimum possible range:

 [“0x1Dd01d51a7a3dfd9bC207f54AdE33591Bf2c76cd” 2016433]
[“onetickdao.eth” 1820733]
[“0x4bcae4ac7ecb042992ac730e2d5a61c3bbdc5e30” 642281]
[“0x14fd9243fb6645f9cb46a0e3e5984be9dfab6427” 500342]
[“0xbe9a69dfa2bca6bab58bdabe9dd1d099bc43868f” 199015]
[“0x531516ca59544bf8ab2451a072b6fa94adf5a88c” 156519]

Added up these six accounts claimed 5,335,323 RBN or over 50% of the allocated rewards.

The RBN community is not happy with the results

The RBN community has been notoriously dissatisfied with the results of the program and there is an ongoing proposal for the DAO to use it’s treasury to provide liquidity to a Uniswap v2 pool.

Liquidity rewards programs are usually thought of beneficial in two ways:
1. Incentivizing liquidity for the protocol token
2. Distributing the token to an incentives-aligned community

It’s pretty clear that with almost 80% of the distribution going to only 17 accounts, and over 50% going to six accounts that are running an opportunistic strategy, “fair” distribution to an incentive-aligned community was not achieved.

As per incentivizing liquidity, it seems hard to argue that ultra-concentrated liquidity at a minimum tick range is desirable at all, but even more so if we consider that all the “narrow rangers” have exited their positions, which has resulted in the liquidity distribution chart returning to a more reasonable shape. The total USD denominated reserves have not dipped considerably since the program ended.

There is an additional argument against the strategy explained, in that the constant sell pressure of the narrow rangers is not great for token price, this seems logical, though a different analysis of this dumping effect should look into it.

It’s worth pointing out, that alternatives to liquidity incentives like protocol purchasing LP tokens at a marked up price, does not seemingly address this issue at all. As LP token sellers can likewise sell their discounted protocol tokens at market prices.

The Path forward for liquidity incentives

It seems to us that any other liquidity mining program that uses the v3 staker rewarder could be subject to the same dominating strategy. And it’s worth considering alternative reward distribution schemes for a different v3 rewarder contract.

Guillaume Lambert proposed a scheme in the Uniswap forums that rewards LPs by their total assets locked in the pool in proportion to the amount of time the position was active, ignoring liquidity concentration, which would probably, for that reason, incentivize wider range positions. As pointed out by Lambert himself, this would not be a trivial change to the v3 rewarder contract. Perhaps a simpler approach might be to let each program creator specify the minimum range for which positions will qualify to receive liquidity incentives rewards.

We believe experimentation in the liquidity mining space is very promising, and seems like a great opportunity to jumpstart L2s.

How Revert will improve

While performing this sort of post-hoc analysis is fun and sometimes illuminating, it’s far from the actionable analytics we aim to provide. In the coming weeks we will be releasing features that will help anyone understand better what is happening in AMM pools in real time, as opposed to just the status of their own positions.

We have a currently running open grant on Gitcoin, support us here.

Below are charts of position ranges for the accounts analyzed. And the onetickdao.eth data in JSON format.

0x1Dd0: 2,016,433 RBN claimed. 75% of positions at min range.
onetickdao.eth: 1,820,733 RBN claimed. 98% of positions at min range.
0x4bca: 642,281 RBN claimed. 100% of positions at min range.
0x05e0: 517,718 RBN claimed. 41% of positions at min range.
0x14fd: 500,342 RBN claimed. 100% of positions at min range.
0x03a8: 488,323 RBN claimed. 0% of positions at min range.
0xfc93: 424,120 RBN claimed. 40% of positions at min range.
0x8ae2: 289,860 RBN claimed. 47% of positions at min range.
0x8ca4: 230,739 RBN claimed. 66% of positions at min range.
0xead3: 209,397 RBN claimed. 11% of positions at min range.
0xbe9a: 199,015 RBN claimed. 81% of positions at min range.
0x5315: 156,519 RBN claimed. 85% of positions at min range.
0x455d: 121,667 RBN claimed. 16% of positions at min range.
0x77ea: 105,132 RBN claimed. 57% of positions at min range.

[1] An approach to calculate the APR for this strategy for a specific account, like onetickdao.eth, might be to get all incoming ETH and ERC20 inbound transactions, filter out transfers that come from Uniswap pools, the v3 rewarder, and other possible contracts, to get the total invested amount. And go from there. If this sounds like a fun afternoon, hit us up, we’re hiring.

--

--

Revert Finance

Highlights from our analytics service for DeFi liquidity providers.