SolstackDocs

Tools

Add Liquidity

Find every pool that holds a token on Raydium, Meteora, Orca and PumpSwap, and deposit into one from your wallet: full range, a concentrated range, or one side of the price.

Open Add Liquidity ↗Add Liquidity on Solana overview

Step by step

  1. Step 1Connect walletMainnet or devnet. The deposit comes from this wallet, and the LP tokens or position go back to it.
  2. Step 2Pick a tokenEvery pool holding it is listed across seven pool types, deepest first. Or paste a pool address.
  3. Step 3Range and amountsFull-range pools take both tokens at the pool's ratio. Concentrated pools take a range around, above or below the price.
  4. Step 4Sign onceOne transaction deposits into the pool, with the 0.02 SOL fee. If it has to open too many new accounts to fit, it's split in two and you sign each.
  5. Step 5Earning feesYour share of every swap's fee builds up in the pool. Withdraw any time with Remove Liquidity.

Finding a pool

Pick a token from your wallet or paste its mint, and Solstack asks every DEX at once for the pools that hold it. On mainnet the list is ranked by USD liquidity where DexScreener lists the pool, then by how much of the token each pool holds; chips filter it by DEX. Each row shows the pair, the DEX and pool type, its depth, its swap fee and its price. To use a pool that isn't listed, paste its address. A link with ?mint= or ?pool= opens the tool with that token or pool already picked.

Raydium CPMM, Raydium AMM v4, PumpSwapFull range. You deposit both tokens at the pool's ratio and get LP tokens.
Meteora DAMM v2Full range, at the pool's ratio. Your share is a position NFT.
Raydium CLMM, Orca WhirlpoolA range between two prices you choose, held as a position NFT.
Meteora DLMMA run of price bins around, above or below the price, held as a position account in your wallet's name.

Full-range pools

Type an amount on either side and the other side is filled in at the pool's ratio at the price now. The deposit can take a little more than that, up to your slippage, if the price moves before it lands; the review card shows the most it can take of each token.

Concentrated ranges

On CLMM, Whirlpool and DLMM pools you choose where your liquidity sits. Around the price takes both tokens and earns while the price stays inside the range. Above the price takes only the token you picked and sells it into the other side as the price rises through the range. Below the price takes only the other side, which buys the token as the price falls. A narrower range earns a bigger share of each swap's fee while the price is inside it, and nothing once it leaves.

CLMM and Whirlpool widths±5%, ±10%, ±25%, ±50%, a tenth to ten times the price, or your own low and high. The range is snapped to the nearest prices the pool's tick spacing allows, and the preview shows the snapped range.
DLMM bins5, 10, 20 or 34 bins each side of the price, or twice that on one side. One position holds at most 70 bins. The pool's bin step sets how far a bin reaches: each bin's price is one bin step, in basis points, above the last.
DLMM shapesSpot puts the same in every bin and suits most tokens. Curve puts most near the price. Bid-Ask puts most at the edges.

SOL and wrapped SOL

A SOL side is paid from your wallet's SOL: it's wrapped, deposited and any leftover unwrapped in the same transaction. Max on a SOL side leaves 0.08 SOL in the wallet for the Solstack fee, the new position's rent and network fees.

What it costs

Solstack fee0.02 SOL per deposit, in the same transaction.
RentA new position holds rent that comes back when you close it: about 0.0015 SOL for an LP token account, 0.0067 SOL for a Raydium CLMM position, 0.0072 for DAMM v2, 0.0084 for Orca and 0.042 for DLMM. A range nobody has used yet may first open tick arrays (about 0.053 SOL each on Raydium, 0.0019 on Orca) or bin arrays (0.052 each on DLMM) on the pool. That rent stays with the pool, and the deposit tells you before you sign.
Network feeAbout 0.000005 SOL.

Risks and limits

  • Providing liquidity can lose money. As the price moves, a position ends up holding more of whichever token fell (impermanent loss), and a concentrated position earns nothing while the price is outside its range.
  • Each deposit opens a new position or mints new LP tokens. It doesn't top up a position you already hold.
  • It deposits into pools that already exist. It doesn't create a new pool.
  • A DLMM position covers at most 69 bins around the price, or 68 on one side. Orca Splash pools take full-range positions only, and Orca pools whose token runs a transfer hook aren't supported. A small PumpSwap pool that isn't listed can be pasted by address.
Your wallet signs the deposit and its keys never leave it. The transaction is built in your browser straight against each DEX's program. Check a token with the Token Inspector before you add to its pool. Not financial advice.

FAQ

What does it cost?

A 0.02 SOL Solstack fee per deposit, plus network fees. A new position also holds rent that comes back when you close it: about 0.0015 SOL for an LP token account, 0.0067 SOL for a Raydium CLMM position, 0.0072 for DAMM v2, 0.0084 for Orca and 0.042 for DLMM. A range nobody has used yet may also open tick or bin arrays on the pool, rent that isn't returned; the deposit tells you before you sign.

Which pools can I add to?

Raydium CPMM, AMM v4 and CLMM, Meteora DLMM and DAMM v2, Orca Whirlpools and PumpSwap. Pick a token and every pool holding it is listed, deepest first, or paste a pool address.

Do I need both tokens?

For a full-range pool (CPMM, AMM v4, DAMM v2, PumpSwap), yes: type either amount and the other follows the pool's ratio. A concentrated range above the price takes only the token, and one below it only the other side.

What do I get back?

LP tokens for CPMM, AMM v4 and PumpSwap. A position NFT for CLMM, Whirlpool and DAMM v2. A position account for DLMM. All of them show up in Remove Liquidity.

Can I pay with SOL?

Yes. A SOL side is wrapped and deposited in the same transaction, and anything left over comes back as SOL.

Can it create a new pool?

No. It deposits into pools that already exist.

Does it work on devnet?

Yes, for pools that exist on devnet.

NextRemove Liquidity →
Your keys stay in your wallet · every job starts with your approval · fees shown before you sign← Back to solstack.xyz