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)

19/n

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.
33/n

this has been a thread, it's done now

@threadreaderapp unroll
ok it wouldn't be one of my threads without addendums, a few misc thoughts:

-smart LPs will never hold the native token, only insta-dump rewards.

-If a farm token falls slower than the farm rate dictates, the value difference is purely speculative
-tokenholders always pay the price

-auto-compounding LPs only profit if price drops slower than it should, and it's never as profitable as it looks

- pairing ultra-low emission with low initial float design mitigates but does not solve, especially if vesting cliffs are involved

• • •

Missing some Tweet in this thread? You can try to force a refresh
 

Keep Current with David Holt

David Holt Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

PDF

Twitter may remove this content at anytime! Save it as PDF for later use!

Try unrolling a thread yourself!

how to unroll video
  1. Follow @ThreadReaderApp to mention us!

  2. From a Twitter thread mention us with a keyword "unroll"
@threadreaderapp unroll

Practice here first or read more on our help page!

More from @IDrawCharts

19 Sep
this is why my operating thesis is and will remain "almost everybody is fkn re[dacted]"

you'd be amazed at how often that base assumption leads to (or at least allows) great trade opportunities
I mean hell, it's the sole reason farming can ever even be profitable (for most current implementations of it)
you don't even have to be smart

and if you're *too* logical you miss out

just be slightly less dumb than most and assume they aren't gonna suddenly get smarter
Read 4 tweets
7 Sep
buying sol up here is probably a terrible idea tbh. More likely to see a -50% than a double next

that said, if we get a -50% from here, buy the fuck out of it lol
this doesn't mean that shorting it is a good idea either

I haven't sold any of mine but I'm considering taking some off
I'm selling 20% of my stack

now if it goes to 0, I've still made a 6x
Read 4 tweets
28 Jul
who wants to hear about carry trades
ok if you don't, gfy

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
Read 25 tweets

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3/month or $30/year) and get exclusive features!

Become Premium

Too expensive? Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal Become our Patreon

Thank you for your support!

Follow Us on Twitter!

:(