Chapter 8 Meme Coins

This chapter introduces risky opportunities that are too good to pass up. We will discuss meme coin liquidity provision and how to use meteora23. Let’s dive in.

8.1 Five-Digit Fee APRs

If you want to play meme coins, come to solana 24. The yields are insane. Take a look at the following table of CLP positions of AI meme coin and SOL.

position duration fee APR
FOREST-SOL 14 hours 3122%
GNON-SOL 2 days 9 hours 42 minutes 4409%
FARTCOIN-SOL 2 hours 49 minutes 5753%
GAIA-SOL 3 hours 46 minutes 8047%
GOAT-SOL 20 hours 31 minutes 32155%
FARTCOIN-SOL 7 hours 32 minutes 44559%
FARTCOIN-SOL 5 hours 71969%

Some of them, like GAIA, died after one pump. Others, like GOAT and FARTCOIN, had wild run-ups and corrections and increasingly become “safe” to hold for the eventual giga-pump. Prices of these meme coins were so volatile that they didn’t stay in range for long, and I closed the positions whenever price moved out of range, resulting very short durations. Some position setup details are captured in the following screenshots. As you can see, I used Meteora Dynamic Liquidity Market Maker (DLMM) pools with different bin steps, base fees, and styles.

Bin Step

The bigger the bin step, the wider the range you can set. Meteora allows a maximum of 69 bins per position. If you set a range wider than what 69 bins can cover, meterora will automatically create two positions to cover it. I dislike it because we need to pay a rent 25 for each position and it’s harder to manage two positions. So I always choose a pool that covers the range I want within 69 bins. For example, if 80 bin steps won’t do it, I will check pools with 100 or 250 bin steps. If you cannot find one, you can always create your own, although I haven’t needed to do that. For normal coins like SOL, 80 bin steps are big enough to cover a pretty wide range that often contains price movement over days or weeks. But for meme coins, price swings so hard that you probably want to go with 250.

Base Fee

Base fee is the minimum percentage of swap volume liquidity providers earn. DEXes route swaps to cheaper pools first, so pools with a lower base fee get more transactions than those with a higher base fee. But when there are too many swaps, some will be routed to more expensive pools. When measured in dollars, the volume of the more expensive pools may not be less than that of the cheaper pools. So I usually don’t look at base fees when picking a pool. Instead, I look at the 24-hour volume and TVL. Now you may wonder why it is called “base fee” instead of just “fee” as in the case of Uniswap and other Dexes. That’s because meteora allows traders to pay more (up to 10%) to get a transaction through when things heat up. For example, the following pool actually yielded 2.169% (instead of 2%) for LPs in the last 24 hours. To summarize, base fee is the minimum and dynamic fee is the actuality.

Style

I really like the style feature because it allows us to distribute liquidity uniformly or non-uniformly. The non-uniform distribution gives more bang for the buck when price moves along the direction we anticipate. This is a feature the Uniswap-like of pools don’t have, so it may take you some trial and error to get it.

Spot

Spot distributes your liquidity uniformly. This means that all bars have the same height. Recall that when you open a one-sided Uniswap position, the DCA price is the geometric mean of the min and max of the price range you set. You can use the same calculation to approximate the DCA price of a one-sided spot position on meteora. Because liquidity is distributed over discrete bins instead of along a continuous curve, the number you get is not exactly the same as the true DCA price, but it’s often very close to it. The wider your price range, the bigger the bin step, the closer the approximation.

Spot Style Demo
Spot Style Demo

Bid Ask

Bid Ask distributes more liquidity (taller bars) in the tails and less liquidity (shorter bars) in the center. It works great when price swings a lot, allowing our liquidity to buy more of the meme coin at cheaper prices and sell more of it at higher prices. The following screen shows what bid ask looks like for a 2-sided position.

And the screen below shows what bid ask looks like when providing SOL single-sided on the top, ready to DCA into a meme coin called FARTCOIN. It distributes very little of our precious SOL at the right tail in the vicinity of current price and more SOL at the left tail at lower prices. If price falls below the left end, the position will contain more FARTCOIN than a spot configuration would. But if price hovers around the right tail, the position will earn less fees than a spot one.

I prefer the 2-sided setup over the 1-sided one when it comes to meme coins because price often swings big in both direction. Here’s what I usually do:

  1. Discover a meme coin that’s pumping.
  2. Check if meteora has any DLMM pools of the meme coin and SOL. Check the TVL and 24hr Fee APRs of these pools. If none of the pools have Fee APR greater than 10%, go find another coin. Otherwise, go with the pool with the highest Fee APR and a TVL much larger than the liquidity you will provide. For example, at the time of the writing, there are three bop-SOL pools: two are empty and one has $16K+ liquidity and 69.64% Fee APR over the last 24 hours. The choice is clear.

3. After picking a pool, head to Jupiter and swap 0.5 SOL for the meme coin. Go back to the meteora pool you picked, choose Bid Ask and add liquidity by sending all of the purchased meme coin and another 0.5 SOL to the pool. Sometimes the meteora UI displays a warning like the one shown below. Just wait for a few seconds and keep refreshing the page, the pool price will catch up with the market price and the warning will disappear.

If the pool TVL is smaller than the amount you are trying to deposit, you will get a warning like this. Reduce the amount and the warning will go away.

  1. After opening your position, come back every 4 hours and check its performance. You’ll be surprised how quickly the fees grow. If you swap 0.5 SOL and LP another 0.5 SOL, you are risking 1 SOL. I do not recommend you to risk more than 2 SOL on any one particular meme coin. Bet small and bet often.

Curve

Curve distributes more liquidity (taller bars) in the center and less liquidity (shorter bars) in the tails. It works great when price ranges around current price without big swings because most liquidity is concentrated in the vicinity of current price and hence will be at work earning those fees. The following screen shows what curve looks like for a 2-sided position.

And the screen below shows what curve looks like when DCAing into a meme coin called GAIA with single-sided SOL provision. It distributes more SOL to the right end and less SOL to the left end. Notice current price is at almost the end of the left tail and the position mostly consists of GAIA and the DCA is almost done. If price falls below the left end, looks like it will, we’ll get less GAIA than a spot configuration would and much less than a bid ask would. But had price stayed near the right end of the spectrum, this position would’ve earned more fees than a spot or bid ask one.

To summarize, when price swings big, curve is the worst style to use and bid ask is the best. When price ranges near current price, curve is the best and bid ask is the worst. When you don’t know how price moves, spot is always a good starting point.

8.2 Execution

People usually discover a meme coin after it pumps, and they often fomo buy with a swap. Similarly, when people want to dump a meme coin, they often just swap it out for SOL or ETH or USDC. I did this many times for random shitters, trying to catch a quick pump. But for the more “established” and “safer” leaders, LP is a better approach since swaps are expensive because of high slippage, volatile price, and front-running bots. So instead of swapping, you can DCA into a memecoin via a CLP position. I like to do that on meteora with DMLL pools in bid ask style. On the other hand, if you want to exit a meme coin bag with no slippage, or with little impact on price, you can set up a CLP position right above current price. For example, say you want to sell some FARTCOIN, you can provide FARTCOIN single-sided all in one bin at or above the current price. When buys push price through your position and above your bin, remove liquidity and close the position.

Another alternative is to use Jupiter’s limit order26. But you need to know that if you limit order is triggered, you will get exactly the price you set at, even when the order is executed at a better price. For example, I set a limit sell order of ~82K BOP for 2.826 SOL. BOP price jumped over night and my order was sold for 5.39 SOL. But I still just got 2.826 SOL. The rest 2.564 SOL went to Jupiter’s team and their whitelisted partners. I discovered this after opening a ticket in their discord. On the flip side, if price doesn’t reach your sell price or if there’s not enough liquidity, your limit sell order will never get executed.

8.2.1 The Perfect Play

The perfect play is one where you earn a ton of fees from LP and also capture the entire upside when price suddenly jumps. Let me give you an example.

Action SOL CATANA Cost Basis
Market Buy -1.5 15,801.76 -0.00009493
LP start -1.65 -15,801.76
LP end 1.40 57,524.39

I bought 15,801 CATANA with 1.5 SOL (at 0.00009493 SOL per CATANA) and immediately paired the purchased CATANA with 1.65 SOL in a CLP position from a 100 bin steps and 2% base fee DLMM meteora pool. I used bid ask style. The price of CATANA ranged for days. It fell below the lower limit of my position several times but each time it went back in range not long after. Finally it dropped way below my lower limit and the 24-hour fee APR also fell. I pulled liquidity and earned 19,080.28 CATANA and 1.4 SOL in fees! I almost got back my capital from the fees alone. After the LP, I had a bag of 57,524.39 CATANA. Price kept falling. Things weren’t looking good. But the LP fees widened my margin of safety, which allowed me to be more patient instead of jeeting the bag. Then one day, price pumped hard and I sold with a good profit. And I did it again after the pump, thinking price would repeat the range-fall-pump pattern, and it did!

You really need luck to hit a perfect play like this. Most of the time, price either moons or goes to zero, making you regret for doing the LP.


  1. Meteora is a DEX on Solana. Unlike Uniswap, it uses liquidity bins instead of curves, and it offers features such as skewed liquidity distribution and dynamic fees. It is tokenless as of 4 Nov 2024. By providing liquidity, you earn points, which will be converted to the meteora token upon Token Generation Event (TGE).↩︎

  2. If you are new to Solana, you want to get a wallet first. I use Phantom. You can then send USDC or SOL to your wallet address from coinbase.↩︎

  3. New position creation on meteora requires a rent of ~0.05 SOL, which will be returned after position closure. ↩︎

  4. Jupiter also has a DCA feature, but I haven’t used it much.↩︎

Welcome

Log in to access this book.

Forgot password?