thread about farming aka liquidity mining as an incentive model and why it's completely broken but nobody seems to realize it (skip to #17 if you're already intimately familiar w AMMs)
v long and nerdy, fair warning
1/n
2/n
farming was designed as an incentive for users to provide a service: using their own capital to provide liquidity to an AMM pool
AMMs were created to solve the problem of high latency/settlement times for transactions on ethereum.
3/n
while a ~15s transaction time doesn't seem v long, if you attempt to make a market on a 15s delay, you'd be forced to keep your spreads incredibly wide in order not to offer prices that become bad before you can update them, especially during volatile periods
4/n
that forced massive spread would make such a market untradeable, since market takers would always be getting bad prices (and that's ignoring the massive fees the MM would incur using ETH to do this)
enter the AMM as a solution
5/n
an amm is just a smart contract pool that users can deposit and withdraw tokens from, at a variable ratio
ratio is determined (in most cases) by the y*x=k model, which is the basic supply/demand curve
6/n
this means that in order to withdraw one token (y) in the pool, they must deposit the other token (x) in an amount that maintains the constant (k).
so as the number of token Y remaining in the pool decreases, more of token X is required for the exchange and vice-versa
7/n
so this removes the need for an orderbook and market-makers to quote prices, price is maintained by the enforced ratio and liquidity is constant.
stale (outdated) prices can and do happen still but doesn't result in direct loss, only missed value for the LPs.
8/n
so the pool contributors lose value when they offer stale prices, which they can't help (especially when the market is volatile)
but they also lose value if price (aka the ratio of token Y to token X) has changed in any way since they deposited into the pool
9/n
when an LP makes a deposit, they have to send both token Y and token X in amounts that maintain the current pool ratio
if the ratio is 1 ETH to 3000 USDC, they have to deposit at that ratio. Let's say they're the only depositor, they own 100% of the pool.
10/n
now if there's only 1 ETH and 3000 USDC in the pool, only a very miniscule amount of ETH can be withdrawn at that ratio
then the ratio changes. Let's say .001 eth is withdrawn by a user in exchange for 3 USDC
now the pool has .999 ETH and 3003 USDC
11/n
this ratio indicates a new price for ETH by establishing a new exchange rate of 3006 USDC per ETH (at least for users of this pool).
assuming this new ratio is in line with the actual market price elsewhere, the LP has now made some money, but lost value.
12/n
They initially deposited $3k, and 1 ETH which was worth $3k, for a total of $6k in value.
now they have .999 ETH, which is now worth $3002.99, plus 3003 USDC for a total of $6,005.99 in value.
but if they instead simply held the 3k and one ETH, it would be worth $6,006.
13/n
if price had instead gone down (users withdrawing USDC and depositing ETH), the same problem occurs; the LP will have more ETH and less USDC, but the total value will be less than if they had just held.
this is exacerbated as the moves get bigger.
14/n
as a lot of you know, this is called impermanent loss (IL).
so LPs are subject to missed value from IL and from offering stale prices.
It's a shit deal, so protocols incentivize by offering LPs incentives in the form of farm rewards and/or fees charged to users
15/n
but here's the problem: remember how moving the price .2% only took $3?
To offer the initial ratio, the LP used 6k in assets.
But a $3 transaction pushed the price up .2%. A larger buy would push the ratio higher than market value, giving the user a bad price.
16/n
this means that to attract usable liquidity, projects using an AMM need disproportionately massive amounts of LP deposits, since most of tokens sit idle in the pool just to maintain the ratio.
So how do they incentivize that?
17/n
offering a native token to LPs to offset the lost value sounds good... but here's the problem
that token needs to hold some amount of value.
and it turns out, that amount is roughly quantifiable.
18/n
If a project needs to offer sufficient liquidity for $10-$30k orders to have less than 2% price impact, the AMM will need somewhere around $1m in the pool (h/t @wvaeu for linked article)
so if the protocol needs to attract 1m (and that's just to support a relatively small trade size), it's gotta incentivize with enough farm rewards. Will 20% APR do it? At least currently, yeah probably!
so $200k/y needs to be offered to LPs, that is the cost of liquidity.
20/n
if this protocol's token is trading at $1, with a 100m total supply and 10m circulating, they'll need to offer 200k of those tokens to LPs every year.
That means after 1 year, the circulating supply will have increased by 2%.
Now here's the problem.
21/n
The $1 price of the token isn't set based on the total future supply. It's set by the demand for the current supply. The protocol isn't worth 100 million (the FDV), because only 10m of the tokens are currently holding value.
and you're increasing that supply by 2%.
22/n
so to maintain the token price (and therefore the liquidity incentives), the protocol needs to gain 2% in value to match. How do you do that?
will users generate 200k in fees? If you charge a 0.3% fee to use the pool, you'll need 66.6m in volume per year.
At 0.2%, 100m.
23/n
Seems a bit unlikely, given that your pool can only handle a ~30k transaction before moving 2%.
and what if you need to incentivize multiple pools?
so where else can that value come from?
24/n
one approach is to give tokenholders governance rights. But without entitling holders to some or all protocol profit, it's not intrinsically very valuable.
If holders are entitled to 100% of protocol profit (buyback+burn, treasury control, distributions, whatever)...
25/
...we could aggressively value the token at 50x annual profits for a rough model
which means that to maintain the $1 value, the protocol still needs to make 200k a year. And it'd need to increase by 2% annually.
thread draft cutting off, will continue w live additions
26/n
so as you see, the farm rewards are necessary
but ensuring those rewards hold sufficient value to maintain the needed liquidity is really hard, since the protocol needs to gain value faster than it spends it via token emission
27/n
in fact, it's damn near impossible for most projects
So how has it worked this long?
For the cream of the crop projects, their tokens hold value because they've grown incredibly rapidly, and the market expects growth to continue.
but what about the mediocre ones?
28/n
well, by allowing tokens to retain value, the market is pricing in expectations of continued growth.
the real question is whether it should, especially to the degree which that growth is implied.
My answer is (with some exceptions), absolutely not.
29/n
that doesn't mean farming tokens will crash! Markets are not rational, and this is crypto. Many will likely remain "overvalued" (from this sort of a mathematical perspective) for a very long time.
But farming is broken.
And it stems from AMM capital inefficiency.
30/n
so what's the solution?
@Uniswap's v3 allows for much more efficient LPs. This is likely the best model for eth or other high-latency chains.
@ProjectSerum, @dydxfoundation and other CLOB-based models eliminate the need for AMMs entirely, which I think is ideal
31/n
@mangomarkets pioneered (afaik) a model for incentivizing marketmakers on a decentralized CLOB, which is likely the most capital-efficient approach implemented to-date.
But the difficulty and increased management for these models impedes the average Joe from becoming an LP
32/n
That's not necessarily a bad thing. While we'll probably see plenty more farms and AMMs being spun up, I think they've reached their peak.
We have better models, workable models.
Don't get duped by high APR.
And maybe be a bit more cautious about holding farm coins.
since we have the whole stablecoin thing coming up tomorrow (good or bad), did u know you can basically get synthetic USD on any exchange that lets you collateralize your positions in non-stables?
how it works
you're holding ETH, for example
but you want to hold USD instead
You could sell your eth for... idk, let's say it's trading @ 2k
but wait
the ETH december futures on FTX are trading at (example) $2100