Tools · Market making
Meteora DLMM Liquidity Bot: Keep Your Position in Range
A bot with a wallet of its own that keeps a Meteora DLMM position around the price, earning swap fees and re-centring when the price moves away. Devnet only for now.
Open in the app →Read the full guide

What the DLMM Liquidity Bot does
Pool finder
On mainnet, the token's DLMM pools against SOL from Meteora's data, deepest first, with bin step, fee, TVL and 24h volume. Or paste a pool.
Three shapes
Spot, Curve or Bid-Ask, from 1 to 34 bins each side of the price. The preview shows how far down and up the range reaches.
Re-centres after a wait
Right away, or after 5, 15 or 60 minutes outside the range, so a spike that comes straight back doesn't cost a re-centre.
Fees compound
Each re-centre claims the fees, closes the position and puts everything into the new one around the new price.
Rebalance or keep
Swap toward 50/50 through the same pool, or keep what it holds: SOL in the bins below the price, tokens in the bins above.
Live bot page
The position around the price, fees earned, value against just holding, a chart with a point every 10 minutes, and every action with a Solscan link.
Meteora DLMM Liquidity Bot: Complete Guide
What is a DLMM liquidity bot?
Meteora's DLMM pools pay their swap fees to the liquidity at the current price. A position set around today's price earns while the price stays in its range, and nothing once the price walks out, until someone moves it. This bot does the moving. It keeps one position around the price and, once the price has stayed outside for as long as you choose, withdraws it, fees included, and opens a new one around the new price.
It runs on Solstack's server around the clock, from a wallet made for that one bot, which you fund with one transaction. The fees go into each new position, so they compound. Stopping it takes the position out and sends everything back. It runs on devnet only for now, while the bots are watched with real trades before mainnet opens.
How to use the Meteora DLMM Liquidity Bot
- Connect your wallet and pick the token.
- Choose one of its Meteora DLMM pools against SOL, or paste a pool address.
- Set the bins each side of the price and the shape: Spot, Curve or Bid-Ask.
- Choose how long to wait outside the range, and whether to rebalance to 50/50.
- Fund it with SOL, tokens or both, sign once, then follow it on its own page.
Who it's for
Anyone providing liquidity to a Meteora DLMM pool who doesn't want to check on it every hour: a team keeping its own token's SOL pool deep at the current price, or a holder who'd rather earn swap fees on a position than leave it idle. It only provides liquidity and re-centres. It never trades to make volume.
Shapes and re-centring
- Spot puts the same in every bin and suits most tokens.
- Curve puts most near the price: more fees, but it leaves the range sooner.
- Bid-Ask puts most at the edges.
- From 1 to 34 bins each side of the price, opened in one transaction.
- Wait before re-centring: right away, 5 minutes, 15 minutes or an hour. A wait rides out a spike that comes straight back.
- Rebalance to 50/50 swaps half the difference through the same pool when one side is worth under 35% of the total. Keep what it holds makes no swap: SOL goes below the price and tokens above, using the full width on that side.
Watching the bot
Every bot has a page anyone with the link can open: what it holds and what that's worth in SOL, how that compares with just holding the deposit, the fees earned so far, the position around the price, a value chart with a point every 10 minutes, and every action with a Solscan link. Bots you start are listed under Your bots in that browser, and on any device once you sign in.
Your keys and the bot's wallet
Your wallet's keys stay in your wallet. The bot trades from a separate wallet of its own, holding only what you put in it, and stopping it sends everything back to you, the position and its fees included. Solstack's server makes that wallet's key, keeps it sealed and uses it only for that bot. Pause, Resume and Stop ask your wallet to sign a message, not a transaction.
Risks and limits
A DLMM position can lose money. As the price moves, it ends up holding more of whichever side lost value: that's impermanent loss. Out of range it earns nothing, and every rebalancing re-centre pays the pool's swap fee. A bot can start with up to 100 SOL. A token with a live freeze authority needs an extra tick, and Token-2022 tokens with a transfer hook, non-transferable ones and ones whose new accounts start frozen are refused. Not financial advice.
How far a range reaches
A range's width depends on the pool's bin step as much as on the number of bins. Each bin's price is one bin step, in basis points, above the last, so the same 10 bins each side reach about ±1% on a pool with bin step 10 and about ±10% on one with bin step 100. Below, how far the range reaches under and over the price.
| Bin step | 5 bins each side | 10 bins | 20 bins | 34 bins |
|---|---|---|---|---|
| 10 | −0.5% / +0.5% | −1.0% / +1.0% | −2.0% / +2.0% | −3.3% / +3.5% |
| 25 | −1.2% / +1.3% | −2.5% / +2.5% | −4.9% / +5.1% | −8.1% / +8.9% |
| 50 | −2.5% / +2.5% | −4.9% / +5.1% | −9.5% / +10.5% | −15.6% / +18.5% |
| 100 | −4.9% / +5.1% | −9.5% / +10.5% | −18.0% / +22.0% | −28.7% / +40.3% |
What happens at a re-centre
- The price has stayed outside the range for the wait you set, counted from the first check that found it out.
- The bot withdraws the whole position, which claims its fees and closes it. The position's rent comes back to the bot's wallet.
- With Rebalance to 50/50, if the smaller side is worth under 35% of the total, it swaps half the difference through the same pool and opens the new position on the next check.
- It opens a new position around the active bin with everything it holds, fees included, less its reserve.
- Holding both sides, that's the bins you set on each side. Holding one side only, it's the full width on that side of the price.
Who can do what
| Action | Who | How |
|---|---|---|
| Earn fees and re-centre | The bot | On its own, checking the pool about every 30 seconds |
| Pause and resume | The wallet that funded it | A signed message. Paused, the position keeps earning but won't re-centre |
| Stop and withdraw | The wallet that funded it | Withdraws the position, fees included, and sends everything back. It can't be restarted |
| Change the pool, bins or shape | Nobody | Stop it and start a new bot |
| Watch it | Anyone with the link | The bot's page needs no wallet |
What it costs
0.1 SOL flat per bot, paid once in the funding transaction. Earning, re-centring, pausing and stopping are free. 0.15 SOL stays in the bot's wallet for position rent and network fees; what's left comes back when it stops.
FAQ
Do I need a pool already?
Yes: a Meteora DLMM pool that pairs the token with SOL. The form lists the token's pools, deepest first, or takes a pasted address.
How many bins should I use?
Fewer bins put the funds where trades happen and earn more, but the price leaves the range sooner. The preview shows how far down and up the range reaches at the pool's bin step.
What happens to the fees?
They're claimed each time the bot re-centres and go into the new position with everything else, so they compound.
Can I fund it with SOL only?
Yes, or with tokens only. With Keep what it holds, it all goes on that side of the price. With Rebalance to 50/50, the bot first swaps toward an even split through the pool.
What does pausing do?
The position stays in the pool and keeps earning, but the bot won't re-centre until you resume.
What does the position's rent cost?
About 0.06 SOL from the bot's reserve, back each time a position closes. A bin array no one has opened yet costs about 0.07 SOL once and doesn't come back.
Can it lose money?
Yes. Impermanent loss, time out of range and swap fees on each rebalance can all leave it worth less than just holding.
Is it on mainnet?
Not yet. It runs on devnet only for now, until the bots have been watched with real trades.