Skip to content
Open J Tools

Create Orca Whirlpool LP

Orca pool creation on J Tools happens inside Create LP, the multi-DEX pool launcher. There is no separate Orca terminal: the app’s Create Orca Whirlpool LP page is a short guide whose Open Create LP button opens Create LP with Whirlpool Advanced already selected, and you launch from there. Two Orca routes are live, Whirlpool Advanced (concentrated, you choose the fee tier and price range) and Splash Pool (a simple full-range pool at a fixed 1% fee).

A Whirlpool position is concentrated. You pick a fee tier, a price range and the amounts to deposit, then sign in your own wallet. Orca hands you a position NFT that represents your share of the pool, and it earns swap fees for as long as the market price stays inside the band you picked.

What it is

#what-it-is

The Orca Whirlpool route in Create LP launches a concentrated liquidity position on Orca’s Whirlpool pools. Instead of spreading your tokens evenly across every possible price, you concentrate them into a band where you expect trading to happen. The deeper your liquidity is inside that band, the larger your share of the swap fees while the price is there.

The whole thing runs from the browser. You connect a wallet, set the pair, enter how much of each token to deposit, pick a fee tier (its tick spacing comes with it), define your price range, and sign. The result is a position NFT that sits in your wallet; the result dialog lists its mint in the LP Mint row. If pool concepts are new to you, the DEXes and liquidity primer covers the basics, and the Glossary explains any term you trip over.

How it works (under the hood)

#how-it-works-under-the-hood

A Whirlpool is Orca’s concentrated-liquidity pool. Rather than a single smooth curve, the price axis is sliced into discrete steps called ticks. The tick spacing decides how fine those steps are, and each spacing is paired with a swap-fee tier: a tight spacing (like 1) carves the axis into many small steps and lets liquidity sit in a very narrow band, while a wide spacing (like 256) uses coarse steps for a broad, low-maintenance range. Create LP fills in the matching spacing when you pick a fee tier and keeps that field locked, because the app only accepts the spacing that belongs to the tier.

When you open a position, you pick a lower price and an upper price. Your deposit is mathematically concentrated between those two bounds. While the market price trades in range, your liquidity is active: swaps route through it and you collect a share of the swap fee proportional to how much liquidity you hold at the current price. Because your capital is packed into a band instead of the whole curve, each dollar earns far more in fees than it would in a full-range pool.

The split between the two tokens is not something you set freely. The pool derives it from where the current price sits relative to your range. Create LP sizes the position from your base amount and works out the quote side from there. If the price is near your lower bound, the position holds mostly the token that becomes cheaper; near the upper bound, mostly the other one. The closer the price is to a boundary, the more lopsided the deposit. When the price crosses out of range, the position stops earning and converts fully to the single token on whichever side the price left through, until the price returns or you reset the range.

Orca records your position as an NFT minted to your wallet. That NFT is your claim on the deposited liquidity and the fees it accrues, and it is what later tools read to let you add, remove, or close the position. The platform fee is a SOL transfer to the platform fee wallet, added to the pool transaction when it fits there and sent as its own prompt right after it when it does not.

Step by step

  1. Open Create LP on the Orca route
  2. Set the token pair
  3. Enter the deposit amounts
  4. Choose the fee tier
  5. Set the price range
  6. Create the position and save the IDs

How it works

Whirlpool, fee, then position up to three wallet prompts

  1. Whirlpool created at your initial price Whirlpool
  2. Fee tier sets the tick spacing tick spacing
  3. Position opened between your two prices tick range
  4. Position NFT minted to your wallet LP Mint
  5. Where price sits sets the A/B split
  6. Platform fee sent as a SOL transfer 0.15 SOL
  7. Earns fees only while price is in range in range

Live, save the Pool ID and LP Mint mainnet

circles are the steps in Step by step, squares the steps in How it works

When to use it

#when-to-use-it
  • You want capital-efficient liquidity on Orca and you have a view on where the pair will actually trade.
  • You are providing for a pair that moves inside a fairly stable band, and you want your deposit working there instead of spread thin.
  • You want an Orca position you can manage later from one place, held as an NFT in your own wallet.
  • You are comfortable monitoring the position, since concentrated ranges need attention when the price drifts.

To launch a standard full-range pool instead, or to compare DEX pool structures side by side, use Create LP. For concentrated liquidity on Raydium rather than Orca, see Create Raydium CLMM LP. To top up or pull an existing position, use Add or Remove Liquidity.

Before you start

#before-you-start
  • A connected wallet (how to connect). The page blocks creation until a wallet is connected.
  • Enough SOL for the platform fee, the on-chain account rent for the new pool and position, and the network fee.
  • The two token mints for the pair (base and quote), plus a balance of each to deposit.
  • A clear idea of your opening price and the lower and upper bounds you want liquidity to sit between.

Step by step

#step-by-step
  1. Open Create LP on the Orca route

    Open Create LP and connect your wallet at the top of the page. In the Orca group of the DEX selector, choose Whirlpool Advanced. Splash Pool sits beside it if you want a simple full-range pool at a fixed 1% fee instead.

  2. Set the token pair

    Enter the base and quote mints. Both use the shared token picker, so you can paste a mint or pick one you already hold. The quote presets are SOL, USDC, USDT, BONK and ORCA, and the two sides cannot be the same token.

  3. Enter the deposit amounts

    Set the Base Amount and Quote Amount. Their ratio becomes the Initial Price, in quote tokens per base token. Use Market Price can fill in an on-chain estimate, and Advanced mode lets you override the price by hand. The position is sized from the base amount, so treat the quote amount as the most you expect to put in.

  4. Choose the fee tier

    Pick one of nine swap-fee tiers: 0.01%, 0.02%, 0.04%, 0.05%, 0.16%, 0.3%, 0.65%, 1% or 2%. In Simple mode the app picks one for the pair it detects; switch to Advanced to choose it yourself. Each tier carries a matching tick spacing, filled in for you and locked. Lower tiers suit stable pairs, higher tiers pay more per trade on volatile ones.

  5. Set the price range

    Fill the range with the Full Range, Balanced ±20% or Tight ±5% preset, or type exact min and max prices in Advanced. The min has to be above 0 and the max above the min. The app does not check that the range includes the initial price, so check it yourself: a range that leaves the price out starts out of range. The Live Preview draws the range with the current price marked.

  6. Create the position and save the IDs

    Check the cost summary, then press Create LP On Whirlpool Advanced. The app warns of up to three wallet prompts: the Whirlpool, the platform fee when it did not fit inside the Whirlpool transaction, then the position. A range that needs new tick arrays adds one more prompt before the position, and Splash Pool follows the same order. Cancelling part-way stops the run there. When it confirms, save the Pool ID and the LP Mint (your position NFT) from the result, then open them on Solscan. The app also keeps the pool in My Pools in this browser.

Open the Orca route in Create LP →

The options, explained

#the-options-explained
  • Base mint: the first token of the pair. Entered through the shared token picker, so you can paste an address or pick one you hold.
  • Quote mint: the second token of the pair. SOL, USDC, USDT, BONK and ORCA are preset, and another mint can be pasted. Cannot match the base token.
  • Fee tier: the swap fee the pool charges, one of 0.01%, 0.02%, 0.04%, 0.05%, 0.16%, 0.3%, 0.65%, 1% or 2%. Simple mode picks it for the pair it detects; Advanced lets you choose.
  • Tick spacing: how finely the pool slices the price axis. It follows the fee tier (1, 2, 4, 8, 16, 64, 96, 128 or 256) and cannot be edited. A smaller spacing packs liquidity tighter and earns more per dollar in range, but leaves range sooner.
  • Initial price: the opening price of the pool, quoted in quote tokens per base token. Derived from your two amounts unless you override it in Advanced. Must be greater than zero.
  • Price Range Min: the bottom of your range. Has to be above 0.
  • Price Range Max: the top of your range. Has to be above the min.
  • Base amount: how much of your base token you deposit. The position is sized from this number.
  • Quote amount: how much of the quote token you expect to deposit. The pool decides the actual split from where the price sits in your range, so the amount used can differ from what you typed.
  • Position NFT (LP Mint): Orca mints your position as an NFT that lives in your wallet, and the result dialog shows its mint in the LP Mint row. It represents your claim on the deposited liquidity and the fees it accrues, and it is how you manage or close the position later.

Fees and costs

#fees-and-costs

Current platform fee: 0.15 SOL on the concentrated Whirlpool route, 0.1 SOL on a Splash Pool. The amount is fixed per route in the app, and Create LP shows it in the cost breakdown before you sign.

CostAmount
J Tools platform fee (Create LP)0.15 SOL on Whirlpool, 0.1 SOL on Splash
Solana network feea small amount paid to validators, plus rent for any new on-chain accounts

Create LP shows no DEX protocol fee for Orca. On top of the platform fee, Solana charges a small network fee per transaction (a fraction of a cent in SOL), and creating a new Whirlpool plus a position holds some SOL as account rent to keep those on-chain accounts alive. Rent is not a fee in the usual sense; it is SOL held in the new accounts. Keep enough spare SOL in the wallet to cover all three, or the signing step fails for insufficient funds.

Common mistakes and troubleshooting

#common-mistakes-and-troubleshooting
  • Required fields missing. Create stays disabled until the base mint and both amounts are filled and, on Whirlpool, the range is set. The initial price has to be above zero.
  • Price range is invalid. The min has to be above 0 and the max above the min, or Create stays disabled. The two ends are then rounded to the tick spacing; if they land on the same tick, the run stops before the position and asks you to widen the range.
  • Same token on both sides. Base and quote have to be different mints. The picker excludes the side you already chose.
  • Position goes out of range. If the market price moves past your lower or upper bound, the position stops earning and ends up entirely on one side of the pair. Widen the range or reset it around the new price to put the liquidity back to work. Starting with the current price in the middle of the band keeps both directions active for longer.
  • Impermanent loss. As the price moves within your range, the pool rebalances the two tokens against you, so the position can be worth less than simply holding the tokens. Tight concentrated ranges magnify this. The fees you earn help offset it, but on a sharp one-way move they may not. Size the position with that in mind.
  • Price and amounts disagree. If the pool’s price and your range would need more than ten times the quote amount you typed, the run stops before the position and names the amount it would need. Fix the initial price or the amounts. A funded Whirlpool with the same pair and tick spacing also stops the run before anything is signed; add to that pool with Liquidity Add / Remove instead.

For the full list and what each code means, see the Error codes reference.

#related-tools