From Budi's bus terminal to your first liquidity position — a story-driven journey through DeFi's most capital-efficient protocol.
15 CHAPTERSYou saw a tweet.
Someone posted a screenshot of their Meteora DLMM dashboard. Numbers were green. Percentages had three digits. Someone in the replies said "this is the most capital-efficient way to LP on Solana."
You don't know what "LP" means. You don't know what "capital-efficient" means. You definitely don't know what "DLMM" means.
But you know a profit opportunity when you see one.
This is not a whitepaper. This is not a technical reference for developers.
This is a story.
A story that starts with something you already understand — selling things, buying things, the concept of "someone is always there to trade with you" — and ends with you confidently opening your first liquidity position on Meteora.
Every new concept gets its own chapter. No jargon without an analogy. No math without a story.
Each chapter introduces exactly one new concept. By the end, you'll have 14 new ideas in your toolkit — all connected, all earned.
If a chapter feels obvious, good. That means the previous ones did their job. If it feels confusing, stop and re-read the previous chapter. The confusion is almost always a missing link from earlier, not a problem with the current chapter.
Ready? Let's start with the most basic question:
What even is "liquidity"?
This document builds exactly one new concept per chapter. If you ever feel confused, stop and re-read the previous chapter — the missing link is always there.
You have an iPhone. You want to sell it. You post it on an online marketplace: "iPhone 15, like new, Rp 12 million."
Now you wait.
Day 1: nothing. Day 2: someone messages you — "Masih ada?" You reply instantly. They read it. No response. Day 3: another person offers Rp 8 million. You decline. Day 5: finally, someone shows up, inspects the phone, pays Rp 11.5 million. Done.
It took you 5 days to turn your phone into cash.
Now imagine you needed that money tomorrow. You'd be in trouble. The phone has value — you know it's worth around Rp 12 million — but you couldn't access that value quickly without taking a bad deal.
That waiting, that uncertainty, that gap between "I want to sell" and "I actually sold" — that friction has a name.
It's called illiquidity.
An asset is illiquid when it's hard to trade quickly at a fair price. Your phone was illiquid. A house is illiquid (takes months to sell). A rare painting is illiquid (finding a buyer is hard).
The opposite is liquidity.
An asset is liquid when you can trade it almost instantly, at any time, without affecting its price too much.
Walk into a traditional market (pasar) in Indonesia. You want to buy 1 kg of rice. The seller quotes a price. You pay. You walk away with rice. The whole thing takes 30 seconds. Rice at a pasar is liquid.
Now walk into a specialist electronics store. You want to buy a very specific vintage amplifier. The store might not even have it. They might need to order it from another city. It takes a week. That amplifier is illiquid.
Notice something important: the rice seller and the electronics store are both shops. Both sell things. But one can serve you instantly, and the other can't. The difference isn't the thing being sold — it's the availability of trading partners.
The rice seller has massive bags of rice in the back. They're always ready to sell you rice. And if you showed up with rice to sell to them, they'd probably buy it too (at a different price, but they'd buy it).
That's it. That's the whole idea.
Liquidity = the ease with which you can buy or sell something without waiting.
Every financial market in the world — stocks, forex, crypto, commodities — lives or dies by liquidity.
A market with high liquidity attracts more traders. More traders means more liquidity. It's a virtuous cycle.
A market with low liquidity scares people away. Nobody wants to be stuck holding something they can't sell. It's a death spiral.
Crypto, despite all the technology and noise, is fundamentally about this same problem. How do you create a market where people can trade digital assets as easily as buying rice at a pasar?
Liquidity = ease of trading.
You can now explain what "liquid" and "illiquid" mean. Write it down somewhere. This is your first building block.
Next: Who provides this liquidity? Who is the person that says "I'll always be here to trade with you"?
Liquidity = ease of trading. High liquidity means you can buy or sell instantly; low liquidity means you wait. Everything in DeFi builds on this.
It's 2 AM. You suddenly remember you need to convert some US dollars to Rupiah. You open your banking app, and... it works. Instantly. The rate is displayed, you accept it, the money moves.
Who are you trading with at 2 AM?
It's not another person like you, awake at a weird hour also wanting to trade currency. It's a market maker.
A market maker is someone (or something) that stands in the middle of a market and says:
"I will buy from anyone who wants to sell, and I will sell to anyone who wants to buy — at all times."
They don't care who you are. They don't care what time it is. They have inventory on both sides, and they're always open for business.
Think of the currency exchange booth at the airport. It's 6 AM, your flight just landed, and you need local currency. The booth is open. They buy your dollars and sell you Rupiah. They don't know you. They don't need to. They're a market maker for currency at that airport.
A market maker makes two promises simultaneously:
| Promise | What it means |
|---|---|
| Bid | "I will BUY from you at this price" |
| Ask | "I will SELL to you at this price" |
The bid is always slightly lower than the ask.
Why? Because that gap is how the market maker gets paid.
Let's put numbers on it:
If you sell them $1,000, they pay you Rp 15,800,000. If someone else immediately buys $1,000 from them, they receive Rp 16,200,000. They pocket the difference: Rp 400,000.
That difference — the gap between what they'll buy for and sell for — is called the spread.
Spread = the difference between the bid price and the ask price. It's the market maker's revenue.
It's tempting to think: "Wait, they're just skimming money off every trade?"
But think about it from their side:
The spread is the price you pay for immediate execution. You could wait until you find another person who wants the exact opposite trade at the exact same time — but that could take hours, days, or forever.
You encounter market makers constantly without realizing it:
| Where | The Market Maker | What They Trade |
|---|---|---|
| Currency exchange booth | The booth operator | USD ↔ IDR |
| Stock exchange | Firms like Citadel, Jane Street | Stocks |
| Online marketplace | Power sellers who always have stock | Physical goods |
| Pulsa/phone credit seller | The seller with a huge balance | Phone credit |
| Crypto exchange | Centralized exchange (Binance, Coinbase) | Crypto pairs |
In every case, the pattern is the same: someone maintains inventory on both sides, quotes two prices (buy and sell), and profits from the spread.
A market maker = someone who is always ready to buy AND sell, profiting from the gap between those two prices (the spread).
You now understand: 1. What liquidity is (Chapter 1) 2. Who provides it (this chapter)
Two building blocks. Let's build the third.
Next: How big should the spread be? How much can a market maker actually earn? And what's the risk?
A market maker is someone who is always ready to buy AND sell, profiting from the gap between those two prices — the spread. They are the "always there" counterparty in every market.
There's a man named Budi who sells phone credit at a busy bus terminal in Jakarta.
He buys pulsa in bulk from the provider: - His cost: Rp 9,800 per Rp 10,000 voucher
He sells to travelers: - His price: Rp 10,200 per Rp 10,000 voucher
The spread is Rp 400. That's his entire business model.
| Time | Customers | Vouchers Sold | Revenue (Spread × Qty) |
|---|---|---|---|
| Morning (6-10 AM) | Heavy rush | 150 | Rp 60,000 |
| Midday (10 AM-2 PM) | Slow | 40 | Rp 16,000 |
| Afternoon (2-6 PM) | Steady | 90 | Rp 36,000 |
| Evening (6-10 PM) | Heavy rush | 140 | Rp 56,000 |
| Total | 420 | Rp 168,000 |
Budi earns about Rp 168,000 per day just from the spread. Not bad for selling phone credit at a terminal.
But let's look closer at what makes this work — and what could ruin it.
If Budi widens his spread — buys at Rp 9,500, sells at Rp 10,500 — he makes Rp 1,000 per voucher instead of Rp 400.
But there's a problem: travelers will notice. The pulsa seller across the terminal sells at Rp 10,100. Budi's customers walk over there.
Wider spread = more profit per trade, but fewer trades.
If the bus terminal suddenly gets twice as many travelers, Budi sells twice as many vouchers. His spread hasn't changed, but his volume doubled. His daily earnings double.
More volume = more profit, with the same spread.
Budi keeps Rp 5,000,000 worth of pulsa vouchers in his bag. That's his inventory.
One day, the provider announces a promotion: pulsa is now Rp 8,000 per voucher for everyone. Budi's Rp 5,000,000 inventory is suddenly worth less. He paid Rp 9,800 for vouchers that are now worth Rp 8,000 on the open market. That's a loss.
Inventory risk = the danger that the value of what you're holding goes down while you're holding it.
Budi faces a constant three-way tradeoff:
MORE SPREAD
↑
/ \
/ \
/ \
LESS VOLUME MORE INVENTORY RISK
(higher price (wider spread = slower
scares buyers) turnover = hold longer)
Every market maker in history — from Budi at the bus terminal to the biggest trading firms on Wall Street — faces this exact triangle.
A good market for a market maker has:
| Factor | Why it helps | Budi's terminal? |
|---|---|---|
| High natural volume | Lots of trades without needing to widen spread | ✓ (busy terminal) |
| Stable asset price | Less inventory risk | ✓ (pulsa price is stable) |
| Reasonable competition | Keeps spreads fair but not razor-thin | ✓ (one competitor, not twenty) |
| Low overhead | More profit kept per trade | ✓ (just a bag and a chair) |
| Factor | Why it hurts | Real-world example |
|---|---|---|
| Low volume | Need wider spread to survive, which kills volume further | Selling rare collectibles |
| Volatile asset | Inventory value swings wildly | Trading a new memecoin |
| Too much competition | Spread gets squeezed to near-zero | Major currency pairs (EUR/USD) |
| High overhead | Must earn enough to cover costs before profit | Running a physical store |
Here's what's wild: the biggest financial firms in the world operate on the exact same principle as Budi.
Citadel Securities, one of the largest market-making firms globally, handles about 27% of all US stock trading volume. Their business model? Buy at the bid, sell at the ask, pocket the spread — millions of times per day.
Same game. Different scale.
| Budi | Citadel Securities | |
|---|---|---|
| Asset | Pulsa vouchers | Stocks |
| Daily volume | 420 trades | ~7 billion shares |
| Spread per trade | Rp 400 | Fractions of a cent |
| Makes money because... | Spread × Volume | Spread × Volume |
| Risk | Provider price change | Stock price crash |
The math is identical: Profit = Spread × Volume − Inventory Losses
A market maker's business = spread width × trading volume, balanced against inventory risk. Every decision — how wide to set the spread, which assets to trade, how much inventory to hold — is about managing this tradeoff.
Next: What if we replaced Budi with a computer program? What would that program look like?
A market maker's business = spread width × trading volume, balanced against inventory risk. Every decision — spread, assets, inventory — is about managing this tradeoff.
Remember Budi from Chapter 3? He's doing well. But he's exhausted. Standing at the bus terminal 14 hours a day. He has to be physically present for every single trade.
One night, Budi has an idea: "What if I wrote a computer program that does my job?"
He calls his nephew, a programmer.
"Listen," Budi says. "I need a program that replaces me. It needs to do exactly three things:"
The nephew thinks for a moment. "The first and third are easy. The hard part is #2 — how does the program know what price to set?"
Budi explains his instinct: "When lots of people buy from me, I slowly raise my price. When lots of people sell to me, I slowly lower my price. I don't think about it — I just feel the crowd."
The nephew translates this into code logic:
If someone BUYS from the program:
→ The program's inventory of the asset goes DOWN
→ So the program should RAISE the price slightly
If someone SELLS to the program:
→ The program's inventory of the asset goes UP
→ So the program should LOWER the price slightly
This is intuitive. If everyone wants to buy pulsa from the machine, pulsa becomes scarcer inside the machine. Higher price. If everyone is selling pulsa to the machine, the machine is flooded with pulsa. Lower price.
This is exactly how real financial markets work. Apple stock goes up when more people want to buy than sell. It goes down when more people want to sell than buy. The machine just formalizes this into code.
This program — a robot that holds inventory, sets prices algorithmically, and trades automatically — is called an Automated Market Maker, or AMM.
AMM = a computer program that acts as a market maker, using math (not human judgment) to set prices.
Instead of Budi standing at the terminal making gut-feel decisions, we have a program running 24/7, processing trades instantly, never getting tired, never making emotional mistakes.
| Traditional Market (Stock Exchange) | Automated Market Maker (DeFi) |
|---|---|
| Buyers and sellers place orders | No orders. Just a pool of assets. |
| An order book matches them | A formula calculates the price. |
| Price = where supply meets demand | Price = what the formula says, based on how much is in the pool. |
| Needs lots of participants to work | Works with just ONE provider of assets. |
This last point is revolutionary. A traditional exchange needs lots of buyers AND lots of sellers to function. Without enough participants, the order book is empty and trading stalls.
An AMM works with just one person depositing assets. The formula handles price discovery. This means you can create a functioning market for any asset, at any time, with almost no setup.
Of course, Budi-the-human had advantages:
| Budi (Human) | AMM (Program) |
|---|---|
| Can adjust to news and events | Only follows its formula |
| Can refuse a suspicious trade | Trades with anyone, always |
| Gets tired, needs sleep | Runs forever |
| Makes gut-feel mistakes | Makes zero judgment errors |
| Can't scale beyond one location | Can serve the entire internet |
For crypto, which is global, 24/7, and purely digital, the AMM model is a natural fit. No sleep. No borders. No sick days.
So far, we've built:
Chapter 1: Liquidity = ease of trading
Chapter 2: Market makers provide liquidity, profit from spread
Chapter 3: Profit = spread × volume − inventory risk
Chapter 4: An AMM is a computer program that does a market maker's job
The AMM is the bridge between Budi's bus terminal and the world of DeFi. But we still haven't answered the central question:
What formula does the AMM actually use to set prices?
That's Chapter 5.
Next: The math inside the machine. Don't worry — it's simpler than you think.
An AMM (Automated Market Maker) is a computer program that replaces a human market maker — using math instead of gut feeling to set prices, running 24/7, never tired, never emotional.
The AMM needs one rule to set prices. Remember Budi's instinct: when people buy, price goes up. When people sell, price goes down.
The most famous AMM formula — the one that launched a trillion-dollar industry — captures this with middle-school math:
x × y = k
That's it. That's the formula.
Let's unpack it.
Imagine a pool containing two assets: SOL (a cryptocurrency) and USDC (a digital dollar, always worth ~$1).
| Variable | Meaning | Example |
|---|---|---|
| x | How much SOL is in the pool | 10 SOL |
| y | How much USDC is in the pool | 2,000 USDC |
| k | x × y — this number NEVER changes | 10 × 2,000 = 20,000 |
The pool starts with 10 SOL and 2,000 USDC. k = 20,000.
The pool's job: keep x × y = 20,000, no matter what trades happen.
You walk up and say: "I want to buy 1 SOL from this pool. How much USDC do I need to pay?"
Before your trade: - x = 10 SOL, y = 2,000 USDC - Price of 1 SOL = y / x = 2,000 / 10 = $200 per SOL
Now you take 1 SOL out. The pool will have 9 SOL left. But k must stay at 20,000.
After: x = 9 SOL
x × y = 20,000
9 × y = 20,000
y = 20,000 / 9
y = 2,222.22 USDC
So y changed from 2,000 to 2,222.22. That means you must deposit 222.22 USDC to take out 1 SOL.
You paid 222.22 USDC for 1 SOL. The "original" price was 200 USDC. You paid more.
The price went up because you bought. Budi's instinct, now formalized in math.
Now someone else comes and sells 1 SOL into the pool.
Before: x = 9 SOL, y = 2,222.22 USDC, price = 222.22 / 9 ≈ $246.91
After: x = 10 SOL
10 × y = 20,000
y = 2,000 USDC
The pool gives them 222.22 USDC for their 1 SOL. The price went down. Just like Budi said.
Let's compare prices:
| Action | Price Before | Price After | Direction |
|---|---|---|---|
| Someone BUYS SOL | $200 | $246.91 | 📈 Up |
| Someone SELLS SOL | $246.91 | $200 | 📉 Down |
The formula automatically adjusts prices based on supply and demand. No human. No order book. No auction. Just x × y = k.
This formula has properties that make it perfect for an automated market:
That last point is important. Let's see it:
| Trade Size | SOL Bought | USDC Paid | Effective Price per SOL |
|---|---|---|---|
| Small | 0.1 SOL | ~19.61 USDC | ~$196 |
| Medium | 1 SOL | ~222.22 USDC | ~$222 |
| Large | 5 SOL | ~2,000 USDC | ~$400 |
Bigger trades get worse prices. This is called price impact or slippage. It's the AMM's way of protecting itself from being drained.
Here's an intuitive way to think about x × y = k:
Imagine a see-saw with SOL on one side and USDC on the other. The see-saw must always balance at a constant "weight" (k).
It's just a balancing act.
x × y = k: the constant product formula. It automatically sets prices so that buying pushes prices up and selling pushes prices down — exactly like a human market maker would, but run entirely by math.
You now understand the engine that powers almost all of DeFi. The pool is the market. The formula is the price. No middleman required.
Next: The pool needs inventory. Where does it come from? And why would anyone provide it?
x × y = k — the constant product formula. It automatically adjusts prices: buying pushes prices up, selling pushes them down. Pure math, no human needed. This is the engine inside every AMM.
The AMM pool we built in Chapter 5 held 10 SOL and 2,000 USDC. That inventory came from somewhere.
In Budi's world, Budi used his own money to buy inventory. He put up Rp 5,000,000 of his own savings to buy pulsa vouchers. He bore all the risk, and he kept all the profit.
But crypto pools are different. The inventory doesn't come from one person. It comes from anyone who wants to participate.
A liquidity provider (LP for short) is someone who deposits their assets into an AMM pool so the pool has inventory to trade with.
LP = you, depositing your tokens into a pool so the AMM can function as a market maker.
In return for providing your assets, you earn a share of the fees from every trade that happens in that pool.
Let's say you have 1 SOL and 200 USDC. You notice a SOL-USDC pool exists.
Step 1: You deposit. You put your 1 SOL and 200 USDC into the pool. The pool now has more inventory.
Step 2: The pool uses your assets. Traders come and trade against the pool. Every trade pays a small fee (typically 0.3% or less).
Step 3: You earn your share. If your deposit represents 10% of the total pool, you earn 10% of all fees collected.
Step 4: You can withdraw anytime. When you want your money back, you withdraw your share of the pool — your original assets plus the fees you've earned.
Let's trace it with numbers:
| Event | Pool State | Your Share |
|---|---|---|
| Pool starts | 10 SOL + 2,000 USDC | — |
| You deposit | 1 SOL + 200 USDC | 1/11 = 9.09% of pool |
| Pool now | 11 SOL + 2,200 USDC | — |
| 100 trades happen | Fees collected: ~10 USDC | Your cut: ~0.91 USDC |
| You withdraw | You get back your share | 1 SOL + ~200.91 USDC |
You earned ~0.91 USDC just for leaving your assets in the pool. Not life-changing, but imagine this running for a year with thousands of trades per day.
The pool needs depth. A pool with 10 SOL can't handle a 5 SOL trade without massive price impact (remember Chapter 5). A pool with 1,000 SOL can handle that trade smoothly.
More LPs → deeper pool → less slippage → better trading experience → more traders → more fees → happier LPs.
It's a virtuous cycle. The entire DeFi ecosystem runs on it.
Three reasons:
| Reason | Explanation |
|---|---|
| Earn fees passively | Your assets work for you while you sleep. Like interest in a bank account, but the yield comes from trading fees, not lending. |
| Support a project you believe in | Early LPs provide the liquidity that makes a new token tradable. Without LPs, new tokens have no market. |
| Portfolio diversification | Instead of just holding SOL, you can put it to work earning additional yield. |
| You GIVE | You GET |
|---|---|
| Your assets (SOL, USDC, etc.) | A share of all trading fees |
| Your ability to sell at any moment (assets are locked in pool) | The right to withdraw anytime (no lockup period) |
| You bear inventory risk | You earn passive yield |
That third row — "you bear inventory risk" — is important enough to deserve its own chapter.
Next: The hidden cost of being an LP. Why "just deposit and earn" isn't the full picture.
An LP (Liquidity Provider) deposits assets into a pool and earns a share of all trading fees. Your money works while you sleep — but you also bear the inventory risk. That risk has a name: impermanent loss.
Let's talk about something that sounds boring but changes everything: transaction fees.
Every time someone trades in an AMM pool, that trade happens as a transaction on a blockchain. And blockchains charge fees for processing transactions.
How much those fees cost determines who can afford to be an LP.
| Ethereum | Solana | |
|---|---|---|
| Fee per trade | $5–50 (sometimes $100+) | ~$0.0002 (a fraction of a cent) |
| Time to confirm | ~12 seconds | ~0.4 seconds |
| Trades per second | ~15–30 | ~3,000+ (theoretical) |
| What $1 buys you | Maybe 0.2 trades | ~5,000 trades |
These are not small differences. They are structural differences that completely change who can participate.
Imagine you're an LP with $100 to deploy.
On Ethereum: - You deposit your $100 into a pool. - Over the next month, your share earns $8 in fees. (8% return — not bad!) - But then you want to withdraw, rebalance, or compound. That transaction costs $12 in gas. - Your net return: $8 − $12 = −$4. You lost money.
On Solana: - You deposit your $100. - You earn $8 in fees. - You compound your earnings 10 times, each costing $0.0002. - Your net return: $8 − $0.002 = +$7.998.
On Ethereum, small LPs get destroyed by fees. On Solana, they can participate profitably.
Let's say you want to actively manage an LP position — rebalancing, compounding, adjusting your price range:
| Action | Ethereum Cost | Solana Cost |
|---|---|---|
| Open position | $8 | $0.0002 |
| Rebalance (adjust range) | $8 | $0.0002 |
| Claim fees | $6 | $0.0002 |
| Compound (reinvest fees) | $10 | $0.0002 |
| Close position | $8 | $0.0002 |
| Total per cycle | $40 | $0.001 |
If you do this weekly, Ethereum costs you $2,080/year in gas. Solana costs you $0.05/year.
Here's the key connection (we'll explore concentrated liquidity fully in Chapter 9):
Some LP strategies require you to adjust your position frequently — moving your price range as the market moves, claiming and reinvesting fees, rebalancing when prices shift.
On Ethereum, only whales can afford to do this. A $10 rebalance fee on a $10,000 position is 0.1% — annoying but survivable. On a $200 position, it's 5% — catastrophic.
On Solana, the fee is effectively zero. Anyone can actively manage their LP position. This democratizes a whole category of strategies that were previously reserved for institutions and whales.
Solana's low fees aren't an accident. They come from fundamental design choices:
| Design Choice | What It Means |
|---|---|
| Proof of History (PoH) | A built-in clock that timestamps transactions without waiting for consensus on timing. Eliminates a major bottleneck. |
| Parallel execution | Solana can process thousands of transactions simultaneously, not one at a time. Like a highway with 20 lanes vs a single-lane road. |
| No mempool congestion | On Ethereum, you bid against others to get your transaction included. On Solana, transactions are processed as they arrive. |
The result: Solana processes more transactions in a day than Ethereum does in a year — for a tiny fraction of the cost.
As of mid-2026, Solana's DeFi ecosystem holds approximately $5.25 billion in total value locked (TVL) and processes around $1 billion in DEX volume daily.
| Protocol | Role | Daily Volume (approx) |
|---|---|---|
| Jupiter | DEX aggregator (finds best price across all pools) | Routes most Solana volume |
| Raydium | Traditional AMM (constant product, like Uniswap V2) | ~$150M |
| Orca | Concentrated liquidity AMM (like Uniswap V3) | ~$176M |
| Meteora | DLMM (bin-based concentrated liquidity) | ~$152M |
Meteora, the protocol we're here to learn about, is the 4th-largest DEX on Solana by volume — and it's growing faster than most because of its unique design.
Concentrated liquidity strategies require: - Frequent position adjustments (moving your range) - Frequent fee claiming and reinvesting - Sometimes daily or even hourly rebalancing
All of this is impossible on expensive chains for normal people. On Solana, it's trivial.
Solana makes active LP strategies accessible to anyone with a phone and $20.
This is why the most innovative LP protocols — including Meteora DLMM — are being built on Solana, not Ethereum. The chain's architecture matches the strategy's requirements.
Transaction cost is a barrier to entry. On chains with high fees, only large capital can LP profitably. On Solana, near-zero fees mean anyone can participate — and that changes which LP strategies are viable.
Next: The big idea that makes LPing far more capital-efficient. Concentrated liquidity.
Transaction cost is a barrier to entry. Solana's near-zero fees (~$0.0002 per tx) make active LP management viable for everyone — not just whales. This is why Meteora DLMM exists on Solana.
Remember x × y = k from Chapter 5? In that system, your liquidity is spread across ALL possible prices — from near-zero to near-infinity.
Here's what that looks like for our SOL-USDC pool:
Price range your liquidity covers:
├── $0.00001/SOL ← your money is here (useless)
├── $1/SOL ← your money is here (useless)
├── $10/SOL ← your money is here (useless)
├── $50/SOL ← your money is here (probably useless)
├── $200/SOL ← ← ← actual trading happens HERE
├── $500/SOL ← your money is here (mostly useless)
├── $5,000/SOL ← your money is here (useless)
└── $1,000,000/SOL ← your money is here (completely useless)
Most of your capital is sitting at prices NOBODY trades at. It's idle. Wasted. Like parking your car across 100 parking spots when you only need one.
What if you could say:
"I only want to provide liquidity between $180 and $220 per SOL. Inside that range, I'm fully active. Outside that range, I'm not providing liquidity at all."
Now your money is concentrated where the trading actually happens. Same capital, MUCH more impact.
This is concentrated liquidity.
| Traditional AMM (x × y = k) | Concentrated Liquidity | |
|---|---|---|
| Price range | $0 to ∞ | You choose (e.g., $180–$220) |
| Where your money sits | Everywhere | Only in your chosen range |
| Capital efficiency | Low | High |
| Fee earnings | Diluted across all prices | Concentrated where trades happen |
| Management required | None | You need to adjust range if price moves |
Concentrated liquidity gives you more fee earnings per dollar deposited — but it comes with a catch:
Traditional AMM: "Set it and forget it." Your position is always active.
Boring. Low return. Safe.
Concentrated: "Your position is only active in your chosen range."
Exciting. High return. Requires attention.
If SOL's price moves outside your $180–$220 range, your liquidity stops earning fees. You're "out of range." Your assets sit idle until the price comes back — or until you adjust your range.
Imagine you're at a concert. The stage is where the action is.
But if the band moves to a different stage? You need to physically move your money to the new stage. That's the management cost.
Let's put numbers on it. Suppose a pool does $1 million in daily volume and charges 0.3% fees ($3,000/day in fees).
| Strategy | Your Deposit | Share of Active Liquidity | Daily Fees Earned |
|---|---|---|---|
| Traditional (full range) | $10,000 | 0.01% (diluted) | $0.30/day |
| Concentrated ($180–$220) | $10,000 | 10% (in that range) | $300/day |
Same $10,000 deposit. 1,000× difference in fee earnings. That's the power of concentration.
(Real-world returns aren't quite this extreme because other LPs also concentrate, but the principle holds.)
Concentrated liquidity was introduced to DeFi by Uniswap V3 in May 2021. It changed everything. Suddenly, LPs could be far more capital-efficient.
But Uniswap V3 was built on Ethereum, with all the gas cost problems we discussed in Chapter 8. Active management was theoretically possible but practically expensive.
On Solana, concentrated liquidity can actually be managed actively by regular people. You can adjust your range daily, claim fees hourly, compound continuously — all for fractions of a cent per action.
This is why Meteora DLMM exists. It takes concentrated liquidity and pushes it further — with a design optimized for Solana's speed.
Concentrated liquidity = instead of spreading your money across all prices, you choose a specific price range where your capital is active. This makes your money work harder — but requires you to manage the position if prices move outside your range.
Next: Meteora DLMM — how does it implement concentrated liquidity differently from everyone else? What are "bins" and why do they matter?
Concentrated Liquidity = choosing a specific price range for your capital instead of spreading it everywhere. Far more capital-efficient, but requires active management when prices move outside your range.
We've built up, piece by piece:
Now: what if we took concentrated liquidity and rebuilt it from scratch — specifically for a blockchain with near-zero fees and sub-second finality?
That's Meteora DLMM.
Dynamic Liquidity Market Maker.
Each word matters:
| Word | What It Means |
|---|---|
| Dynamic | Fees adapt to market conditions. More volatility = higher fees. |
| Liquidity | It's about providing assets for trading — just like Budi. |
| Market Maker | It replaces the human middleman with code — just like the AMM. |
Remember how concentrated liquidity (Chapter 9) lets you choose a price range? DLMM takes this further by dividing the price range into discrete steps called bins.
Think of a ladder. Each rung is a specific price. Your liquidity sits on specific rungs.
Price Ladder for a SOL-USDC pool:
$180.00 ← Bin 0
$180.50 ← Bin 1 (if bin step = 0.25%)
$181.00 ← Bin 2
$181.50 ← Bin 3
$182.00 ← Bin 4 ← CURRENT PRICE (Active Bin)
$182.50 ← Bin 5
$183.00 ← Bin 6
...
Only ONE bin is active at a time — the bin where the current market price sits. That's where all the trading happens.
Here's something surprising: trades inside a single bin have zero price impact.
Remember back in Chapter 5, every trade moved the price in a traditional AMM? Not here. Inside a single bin, the price is fixed. You can trade up to that bin's capacity at exactly that price.
The price only changes when a bin is fully drained and the active bin shifts to the next one — just like stepping to the next rung on a ladder.
This means DLMM provides better prices for traders (no slippage on small trades) while still protecting LPs (the price can't run away within a single bin).
The gap between bins is called the bin step, measured in basis points (bps).
1 bp = 0.01%
| Bin Step | Price Gap (at $200 SOL) | Best For |
|---|---|---|
| 1 bps (0.01%) | $0.02 | Stable pairs (USDC-USDT) — very tight, very precise |
| 10 bps (0.10%) | $0.20 | Major pairs (SOL-USDC) — balanced |
| 25 bps (0.25%) | $0.50 | Moderate volatility |
| 100 bps (1%) | $2.00 | Volatile pairs — wider coverage |
| 400 bps (4%) | $8.00 | Extreme volatility — maximum range |
Smaller bin step = tighter ladder, more precision, higher capital efficiency (if you guess the right range). Larger bin step = wider coverage per bin, better for volatile assets where price moves fast.
This is a choice you make when you provide liquidity — and it's one of the most important decisions.
Most AMMs charge a fixed fee on every trade (0.3%, 1%, etc.). Whether the market is calm or chaotic — same fee.
DLMM's fees are dynamic. They have two components:
The minimum fee, set when the pool is created. Depends on the bin step and some pool parameters. Think of this as the "floor."
When the market gets volatile — when trades cross lots of bins, when price is moving fast — the variable fee kicks in and rises. When things calm down, it decays back to zero.
Total Fee = Base Fee + Variable Fee (capped at 10% maximum)
| Market Condition | What Happens to Fees | Why |
|---|---|---|
| Calm, sideways market | Low fees (near base) | Attract more trading volume |
| Volatile, fast-moving | High fees (base + variable) | Protect LPs from being picked off by arbitrage |
| Extreme volatility | Very high fees | Compensate LPs for the risk of impermanent loss |
This is smart. In traditional finance, market makers widen their spreads during volatile periods. DLMM does the same thing automatically.
Think of it like this: when the market is calm, your shop is open with competitive prices. When a storm hits and everyone panics, you raise your prices because serving customers is riskier. Makes sense, right?
When you earn fees as an LP, DLMM gives you two choices:
| Mode | What You Receive |
|---|---|
| Input Only | Fees are split between both tokens — you get some SOL and some USDC. Balanced. |
| Only Y | All fees are paid in the quote token (USDC in SOL-USDC pool). You only accumulate USDC. |
Why would you choose "Only Y"? If you believe SOL will go up, you might want your fees in USDC so you're not forced to hold more SOL at potentially inflated prices. Or maybe you just want predictable stablecoin income without adding to your SOL exposure.
It's a small detail that gives you more control.
Behind the scenes, bins are organized into groups of 70 called BinArrays. This is a technical optimization — you don't need to worry about it as a user, but it explains why you see certain limits in the UI.
The default pool can handle trades across about 1,024 bin arrays (from index -512 to +511), covering a massive price range. For extreme cases, an extension mechanism handles bins far outside that range.
DLMM = concentrated liquidity organized into discrete price bins (like a ladder), with dynamic fees that rise during volatility and fall during calm markets.
You put your liquidity into specific bins around the current price. Only the active bin processes trades. When it's drained, the ladder steps to the next bin. Your fees adapt to how crazy the market is.
Next: How is DLMM different from Uniswap V3 (the most famous concentrated liquidity protocol)? What makes it uniquely suited to Solana?
DLMM = Discrete Liquidity Market Maker — concentrated liquidity organized into price bins (like rungs on a ladder) with dynamic fees that rise during volatility and fall during calm markets.
Uniswap V3 pioneered concentrated liquidity on Ethereum. It was revolutionary. But Meteora DLMM isn't a copy — it's a fundamentally different design that's built from the ground up for Solana.
Here's what makes them different — and why it matters for you as an LP.
| Uniswap V3 | Meteora DLMM | |
|---|---|---|
| Price representation | Continuous "ticks" — a smooth gradient | Discrete bins — specific price points |
| Inside a unit | Price changes with every trade (constant product) | Fixed price until bin is drained (constant sum) |
| Slippage | Every trade moves the price | Zero slippage within a bin |
| Mental model | "I'm providing liquidity between X and Y" | "I'm placing liquidity on specific price rungs" |
This difference sounds subtle but has real consequences. In Uniswap V3, even a tiny trade moves the price slightly. In DLMM, small trades execute at the exact bin price with no impact. Price only moves when the bin is emptied — like draining a bucket before moving to the next one.
For traders, this means better execution on small orders. For LPs, this means your capital is deployed with more predictability.
| Uniswap V3 | Meteora DLMM | |
|---|---|---|
| Fee structure | Fixed fee tiers (0.05%, 0.3%, 1%) | Base fee + variable fee |
| Market adaptation | None — the fee tier is chosen once | Fees rise with volatility, decay when calm |
| LP protection | Same fee regardless of market conditions | Higher fees when LPs are at more risk |
This might be DLMM's most important innovation. Uniswap V3's fixed fees mean you earn the same percentage whether the market is calm or chaotic — even though you take on much more risk during chaos. DLMM compensates you more when you're taking more risk.
Here's something Uniswap V3 doesn't have: limit orders built into the LP position.
In DLMM, if you deposit liquidity in a single bin above the current price (all quote token), that position naturally acts as a limit sell order. If the price reaches that bin, your quote token gets converted to the base token — exactly what a limit order does.
Similarly, a single bin below the current price (all base token) acts as a limit buy order.
| DLMM Feature | Equivalent in Traditional Finance |
|---|---|
| Single bin above price, all USDC | Limit sell order |
| Single bin below price, all SOL | Limit buy order |
| Bins spread around price | LP position (earns fees) |
This means DLMM merges two things that are separate in most DeFi protocols: LPing and limit orders. Your LP position is your trading strategy.
In Uniswap V3, your liquidity position is an NFT (non-fungible token). You can't easily add to it or remove from it — you close and open a new one.
In DLMM, positions are resizable. You can:
This matters for active management. If you want to DCA (dollar-cost average) into a position over time, or gradually exit, DLMM supports it natively.
| Uniswap V3 (Ethereum) | Meteora DLMM (Solana) | |
|---|---|---|
| Position representation | ERC-721 NFT | Solana account (PositionV2) |
| Cost to create position | $30–100+ in gas | ~$0.0002 |
| Cost to modify position | $20–80+ in gas | ~$0.0002 |
| Practical active management | Only for whales ($10K+) | Viable for anyone ($20+) |
This is the Solana advantage we discussed in Chapter 8, made concrete. The same protocol design on Ethereum would be unusable for retail LPs. On Solana, it's accessible.
DLMM pools can have up to two reward tokens distributed to LPs, on top of trading fees. This is built into the protocol, not bolted on afterward.
For example, a new token project might create a DLMM pool and add their token as a reward to incentivize early LPs. You earn both trading fees AND reward tokens.
There's one important thing to know: the core DLMM program on Solana (lb_clmm) is not open source. The SDK, the documentation, the integration tools are all open — but the on-chain program itself is closed.
| What's Open | What's Closed |
|---|---|
TypeScript SDK (@meteora-ag/dlmm) |
Core on-chain program |
| Documentation (docs.meteora.ag) | |
| DAMM v2 program (a related protocol) | |
| Data API |
This doesn't affect you as an LP — you interact through the audited, well-documented interface. But it's worth knowing. The team has maintained this as a strategic choice, not a lack of transparency (the SDK and docs are comprehensive).
| Dimension | Uniswap V3 | Meteora DLMM |
|---|---|---|
| Blockchain | Ethereum (and L2s) | Solana |
| Price model | Continuous ticks | Discrete bins |
| Fee model | Fixed tiers | Dynamic (base + variable) |
| Limit orders | No | Yes, native |
| Position management | NFT-based, hard to modify | Account-based, resizable |
| Transaction cost | High ($5–100) | Near-zero (~$0.0002) |
| Active management | Whale territory | Retail-accessible |
| Max bins/position | N/A (ticks concept) | 1,400 bins |
| Liquidity mining | Via external contracts | Built-in (2 reward tokens) |
| Core program | Open source (GPL) | Closed source |
DLMM takes the concentrated liquidity idea and optimizes it end-to-end for Solana. The result is a protocol where:
Next: Now that we understand the tool, how do we use it? What LP strategies work on Meteora?
DLMM's key innovations: discrete bins (zero slippage within a bin), dynamic fees (compensates you more when risk is higher), native limit orders, and resizable positions — all viable because Solana gas is near-zero.
You understand: - What liquidity is (Ch 1) - What a market maker does (Ch 2-3) - How AMMs work (Ch 4-5) - Where LP money comes from (Ch 6) - The hidden cost of impermanent loss (Ch 7) - Why Solana matters (Ch 8) - Concentrated liquidity (Ch 9) - How DLMM bins and dynamic fees work (Ch 10) - How DLMM differs from alternatives (Ch 11)
Now: how do you actually make money with it?
DLMM strategies fall on a spectrum from "set it and forget it" to "actively manage every hour."
LOW EFFORT ←————————————————————————→ HIGH EFFORT
Wide/Chill Spot Curve Bid-Ask 20-Bin Dynamic Vaults
Each has a different risk-reward profile. Let's walk through them.
What it is: Spread your liquidity across a very wide price range (e.g., ±20-30% from current price).
How it works: - You pick a wide range around the current price - Your liquidity is active as long as price stays in that range - You barely need to check it
Best for: Stable pairs (USDC-USDT), pairs you believe will trade in a range for a long time, or if you just want to deposit and forget about it.
Pros: - Very low maintenance - Rarely goes out of range - Good starting point for beginners
Cons: - Lower capital efficiency (your money is spread thin) - Lower fee earnings than concentrated strategies - Still exposed to impermanent loss if price moves a lot
Analogy: You're a shop that sells everything from Rp 1,000 to Rp 1,000,000. Most customers won't buy the extreme ends, but you're always open for business.
What it is: Spread liquidity evenly across a moderate range (e.g., ±5-10%).
How it works: - You choose a range around the current price - Liquidity is distributed uniformly across all bins in your range - The default and most common strategy
Best for: General purpose. Good when you don't have a strong directional view. The "I think it'll trade around here" strategy.
Variations: | Name | Bin Count | Range Width | Use Case | |------|-----------|-------------|----------| | Spot-Concentrated | 1-3 bins | Very tight | Almost certain price is stable | | Spot-Spread | 20-30 bins | Moderate | Balanced approach | | Spot-Wide | ~50 bins | Wide | More safety, less efficiency |
Pros: Simple, versatile, balances efficiency with safety. Cons: Not optimal for any specific market condition.
What it is: Most of your liquidity concentrated tightly around the current price, with less at the edges.
How it works: - You put heavy liquidity right at the active bin - Less liquidity at bins further away - Maximum capital efficiency when price stays near the center
Best for: Stable pairs (USDC-USDT), or any pair during a period of very low volatility.
Pros: - Highest fee earnings when price stays in range - Maximum capital efficiency
Cons: - Goes out of range quickly if price moves - Requires more frequent monitoring - Worst impermanent loss if price trends strongly
Analogy: You're a coffee shop that's open 24/7 but only serves one specific type of coffee. When the neighborhood wants exactly that, you make a killing. When tastes change, you sit empty.
What it is: Asymmetric distribution — more liquidity on one side than the other.
How it works: - If you think price will go UP: put more liquidity ABOVE current price (selling into strength) - If you think price will go DOWN: put more liquidity BELOW current price (buying the dip) - The lighter side still earns some fees
Best for: When you have a directional view. You want to accumulate one asset or exit another.
Pros: - Acts as automated DCA (dollar-cost averaging) - You earn fees while waiting for your target price - Combines trading strategy with LP yield
Cons: - Requires some market judgment - If you're wrong about direction, you miss fee opportunities on the other side
Analogy: You're at a fruit market. You believe mango prices will go up next week. You put more of your stall's space into buying mangoes now (at lower prices) while still selling some at a markup.
This deserves special attention because it's become popular in the Meteora LP community as of 2026.
What it is: A specific configuration: 20-bin range with a smaller bin step (often 20 bps or less), aiming for high-frequency fee capture.
How it works: - You use approximately 20 bins centered around the current price - Small bin step means tight price granularity - The idea: capture lots of small trades with high capital efficiency
Why it's popular: - Good balance between efficiency and range safety - Works well for medium-volatility pairs - Community-tested and discussed extensively
Real example: During active trading periods, some 20-bin positions on volatile pairs have captured daily fees approaching 10% of position value. These returns are NOT typical or sustainable — they happen during short bursts of extreme volume — but they show what's possible when you're positioned correctly during volatility.
The catch: These high-return periods are episodic. A position that earns 10% one day might earn 0.3% the next.
What it is: Deposit only ONE token type into a specific bin (or narrow range).
How it works: - You deposit only USDC into a bin above current price → acts as a limit sell order - You deposit only SOL into a bin below current price → acts as a limit buy order - When price reaches your bin, your token converts to the other token
Best for: Accumulating an asset at a target price without watching charts. Or exiting at a target price.
Pros: - Automated, emotion-free entry/exit - No impermanent loss (you only hold one asset) - You earn fees while your limit order waits
Cons: - If price never reaches your bin, you earn nothing - Opportunity cost: your capital is committed, not available for other uses
Ask yourself these questions:
| Pair Type | Example | Recommended Strategy |
|---|---|---|
| Stable-stable | USDC-USDT | Curve, very tight range |
| Major pair | SOL-USDC | Spot spread (20-50 bins) |
| Volatile | Memecoin-USDC | Wide, or Bid-Ask |
| New token | Launch pool | Very wide, or single-sided |
| Time Commitment | Strategy |
|---|---|
| Check once a week | Wide / Chill |
| Check daily | Spot |
| Check multiple times/day | Curve, Bid-Ask |
| Actively monitor | 20-Bin, Dynamic Vaults |
| View | Strategy |
|---|---|
| "It'll stay in a range" | Spot, Curve |
| "It'll go up" | Bid-Ask (more above current price) |
| "It'll go down" | Bid-Ask (more below current price) |
| "I want to buy at X price" | Single-sided below X |
| "I want to sell at Y price" | Single-sided above Y |
| "No idea" | Wide / Chill |
Before you deploy a single dollar:
The most important metric, according to experienced Meteora LPs: total fees a pool has generated historically.
A pool that has earned 500 SOL in cumulative fees is far more trustworthy than one with 5 SOL. Low total fees often indicate low genuine volume — or worse, fake volume designed to attract LPs.
Rule of thumb: Don't LP into a pool with less than 25 SOL in total generated fees.
If you're LPing into a token you don't know well:
Your first position should be an amount you're comfortable losing entirely. Treat it as tuition. Learn the mechanics, observe how fees accumulate, experience impermanent loss in real time — with money that won't hurt.
If a pool shows 1000% APR, ask: why? Usually it's because: - The token is volatile and you'll get wrecked by IL - The volume is temporary (token launch hype) - There's hidden risk you're not seeing
Sustainable returns come from genuine, consistent trading volume — not hype spikes.
Your strategy choice answers three questions simultaneously: - How much you'll earn (fee concentration) - How much you'll lose if price moves (IL exposure) - How much attention you'll need to pay (management frequency)
There's no best strategy — only the strategy that matches your capital, your time, and your risk tolerance.
Next: Open the app. Let's actually do this. Step by step.
Your strategy choice answers three questions: how much you'll earn, how much you risk losing, and how much attention you'll need to pay. There's no best strategy — only the one matching your capital, time, and risk tolerance.
Reality check: This chapter describes the Meteora dApp interface conceptually. UIs change. Buttons move. The principles don't. If a specific button isn't where I describe it, look for the concept — "create position," "choose pool," "set range" — not the exact pixel location.
You need three things:
| What | Why | How |
|---|---|---|
| A Solana wallet | To hold your tokens and sign transactions | Phantom, Solflare, or Backpack wallet |
| Some SOL | To pay for transactions (~0.000005 SOL each) | Buy on an exchange, transfer to your wallet |
| Tokens to LP with | The assets you'll deposit into the pool | SOL + USDC is the most common pair |
For this walkthrough, we'll assume you're LPing into a SOL-USDC pool. It's the most liquid pair on Solana and the safest starting point.
If you don't have one:
Minimum starting amount: With $20-50 worth of SOL + USDC, you can open a small LP position and learn the mechanics. On Ethereum this would be impossible due to gas fees. On Solana, it's real.
You'll see the Meteora interface with various pools listed. For your first position:
Which bin step to choose for your first position:
| Bin Step | What It Means | Recommendation |
|---|---|---|
| 5 bps | Very tight, very efficient | Skip for now — too aggressive |
| 20 bps | Moderate, popular choice | Good starting point |
| 50 bps+ | Wider, more forgiving | Safe for beginners |
Pick a 20 or 50 bps SOL-USDC pool.
Before depositing, look at:
Meteora's interface offers presets:
| Preset | What It Does |
|---|---|
| Spot | Even distribution across your chosen range |
| Curve | Concentrated around current price |
| Bid-Ask | Heavier on one side |
For your FIRST position, choose Spot with a moderate range.
Range width guide:
| Range Width | Risk Level | Maintenance |
|---|---|---|
| ±2-5% | High | Check daily |
| ±5-15% | Medium | Check every few days |
| ±20%+ | Low | Check weekly |
Before hitting confirm, check:
When ready, click "Create Position" or "Deposit."
Your wallet will ask you to approve the transaction. The fee will be ~0.000005 SOL (a fraction of a cent). Confirm it.
Your position is live. You'll see it in your Meteora dashboard with:
Every time you close a position, do this calculation:
What I received from closing: X SOL + Y USDC = $Z
What I would have if I just held: Original SOL × current SOL price + Original USDC = $W
If Z > W: you profited (fees exceeded IL)
If Z < W: you lost (IL exceeded fees)
If Z = W: you broke even on the position, kept the learning
This single habit — comparing your actual result to the "just hold" baseline — is what separates profitable LPs from those who lose money without understanding why.
Next: How do you track performance over time? What tools help? When do you know it's time to exit?
The single most important LP habit: every time you close a position, compare what you received to what you would have by just holding. This comparison is the truth serum of LPing — it tells you if you actually profited.
LPing isn't "deposit and forget." It's a cycle:
DEPOSIT → MONITOR → DECIDE → (ADJUST or EXIT) → EVALUATE → DEPOSIT AGAIN
This chapter covers the middle three steps: monitor, decide, act.
Open your position. Ask three questions:
| Metric | What to Check | Why |
|---|---|---|
| Position PnL | Current value vs "just hold" value | Your true profit/loss |
| Fee APR | Fees earned this week ÷ position value × 52 | Is the yield sustainable? |
| Price trend | Is the pair trending strongly in one direction? | Might need to adjust strategy |
| Volume trend | Is trading volume rising or falling? | Rising = more fees ahead. Falling = maybe exit. |
| IL magnitude | What would you have if you just held? | Don't fool yourself about profitability |
| Tool | What It Does | URL |
|---|---|---|
| Meteora dApp | Your position dashboard — the source of truth | app.meteora.ag |
| Birdeye | Token price charts, volume, analytics | birdeye.so |
| DEX Screener | Real-time DEX data, trending pairs | dexscreener.com |
| Jupiter | Best swap prices, routing data | jup.ag |
| Rugcheck | Token contract safety verification | rugcheck.xyz |
| GMGN | Memecoin tracking, wallet analysis | gmgn.ai |
For a simple LP on a major pair like SOL-USDC, the Meteora dApp + occasional Birdeye check is sufficient.
Your range: $180–$220
Current price: $215 (97.7% of range, approaching top)
Options:
| Action | When to Take It |
|---|---|
| Do nothing | You believe price will stay in range or return |
| Widen range upward | You want to stay in range and keep earning fees |
| Move range upward | You believe the price has found a new level |
| Close position | You think the trend will continue strongly and IL will worsen |
If you do nothing and price goes above $220: - Your position goes "out of range" - All your assets are now in USDC (you effectively sold all your SOL at the top of your range) - You earn zero fees until price comes back down - Your downside is protected (you're in stablecoins)
Your range: $180–$220
Current price: $185 (barely in range, approaching bottom)
| Action | When to Take It |
|---|---|
| Do nothing | You believe in the asset long-term, willing to accumulate |
| Widen range downward | You want to stay active and keep earning |
| Close position | You think the downtrend will continue and you want to cut losses |
If you do nothing and price drops below $180: - Position goes out of range - All assets convert to SOL (you bought more SOL at declining prices) - You're now 100% exposed to SOL's price movement - You earn no fees
You opened at $200, range ±10%
Price is now $280 (40% above your max)
You've been out of range for 2 weeks
You have three choices:
This is the most important skill in LPing, and most people don't do it.
Track these numbers for every position:
| Metric | How to Calculate |
|---|---|
| Gross deposit value | Value of tokens you put in (at deposit-time prices) |
| Fees earned | Accumulated fees from the position dashboard |
| Current withdrawal value | Value of tokens you'd receive if you closed right now |
| HODL value | Value if you'd just held the original tokens |
LP Profit = Current Withdrawal Value - Gross Deposit Value
vs
HODL Profit = HODL Value - Gross Deposit Value
Deposited: 0.5 SOL ($100 when SOL = $200) + 100 USDC = $200 total
After 3 months:
- SOL is now $300 (+50%)
- Position contains: 0.38 SOL + 115 USDC
- Current withdrawal value: 0.38 × $300 + 115 = $229
- HODL value: 0.5 × $300 + 100 = $250
LP Profit: $229 - $200 = +$29 (+14.5% in 3 months)
HODL Profit: $250 - $200 = +$50 (+25% in 3 months)
Verdict: LPing underperformed holding. The IL from SOL's 50% rise cost more than the fees earned.
This doesn't mean LPing was a "failure." It means: in a strongly trending market, concentrated LP strategies underperform simply holding the appreciating asset. Knowing this helps you choose strategies appropriate for market conditions.
Once a month, ask yourself:
Question #5 is the most important. A profitable position you don't understand is more dangerous than an unprofitable one you do understand — because the profitable one gives you false confidence.
You've completed the story. From Budi at the bus terminal to your first DLMM position on Solana.
Where to go from here:
There are no get-rich-quick strategies in LPing. There are only risk-adjusted returns. The question isn't "how much can I earn?" — it's "how much risk am I taking to earn that?"
If someone shows you a screenshot of 1000% APR, ask: "What was the impermanent loss? What's the HODL comparison? Is this sustainable or was this one good day in a month of losses?"
The ones making real money in DeFi aren't chasing the highest numbers. They're tracking their PnL honestly, understanding their risks, and compounding steadily over time.
Just like Budi at the bus terminal — showing up every day, managing inventory, earning the spread. No magic. Just math and consistency.
Good luck. Start small. Track honestly. Stay curious.
There are no get-rich-quick strategies in LPing — only risk-adjusted returns. The real money comes from tracking PnL honestly, understanding your risks, and compounding steadily. Just like Budi: show up, manage inventory, earn the spread.