> For the complete documentation index, see [llms.txt](https://docs.j.tools/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.j.tools/tools/liquidity/lp-create-buy.md).

# LP Create and Buy

[LP Create and Buy](https://j.tools/en/tools/lp-create-buy) launches a Raydium liquidity pool and fires opening buys from up to 20 of your own wallets aimed at the same Solana block, using a [Jito](/concepts/bundles-and-jito.md) tip so the pool going live and your first trades land together. The goal is front-run protection: snipers get a much smaller window to jump in ahead of your launch.

```mermaid
flowchart TD
    A[Set up the pool] --> B[Add a first buy to seed the price]
    B --> C{Create pool and buy land together atomically}
    C --> D[Live pool with an opening price and your first position]
    classDef brand fill:#EF2A2A,stroke:#EF2A2A,color:#ffffff,font-weight:bold;
    classDef soft fill:#1f2937,stroke:#374151,color:#e5e7eb;
    class A,B soft;
    class C,D brand;
```

If you only need to seed a pool without coordinated opening buys, use [Create LP](/tools/liquidity/create-lp.md) instead.

{% hint style="warning" %}
**About fees.** Every action has two costs: the Solana **network fee** paid to validators, and the **J Tools platform fee**. The platform fee always shows in the app before you confirm, and nothing is charged until you sign. Fees can change over time, so trust the in-app summary rather than a number you saw once.
{% endhint %}

## When to use this

* You are a launch team that wants your own wallets buying in the same block the pool opens.
* You want front-run and sniper protection at launch instead of leaving the first block open to bots.
* You are coordinating opening buys across several wallets (up to 20) and want them tied to a Jito tip.

If you only need to create a pool and seed it with liquidity, use [Create LP](/tools/liquidity/create-lp.md). To add or pull liquidity on a pool that already exists, use [Add or Remove Liquidity](/tools/liquidity/liquidity-add-remove.md). For background on how pools price tokens, see [DEXes and liquidity](/concepts/dexes-and-liquidity.md).

## Before you start

* A connected signer wallet ([how to connect](/getting-started/quick-start.md)). You cannot launch without one.
* The pool identifier the form asks for, entered as a valid Solana public key. Follow the in-app field label for whether to paste a market identifier or your base token mint.
* The base token amount and the SOL (quote) amount you want to seed into the pool.
* One to 20 buy wallets, each with enough SOL to cover its own buy amount, the Jito tip, and a small network fee.
* An RPC connection so the tool can read your wallet balances.

{% hint style="warning" %}
**This tool asks for raw private keys for the buy wallets.** Each buy row takes a pasted signer key (Base58, Base64, or a JSON array). That is different from the rest of J Tools, where you only ever sign in your own wallet and never hand over a key. J Tools is non-custodial by design and does not store these keys server-side; the rows are cleared from the page after a run. Even so, pasting a private key anywhere carries real risk. Only use wallets you treat as disposable launch wallets, and move funds out and rotate them after the launch.
{% endhint %}

## How it works

{% stepper %}
{% step %}

### Connect your signer wallet

Open the tool and connect the wallet that signs the launch. The launch button stays disabled until a signer is connected.
{% endstep %}

{% step %}

### Set the LP basics

Under LP Settings, fill in the pool identifier the form asks for, the **Base Token Amount**, and the **Quote Amount** in SOL. Use the in-app field labels as your guide. The quote-over-base ratio is shown as the starting price, so check it reads the way you expect before going further.
{% endstep %}

{% step %}

### Choose the timing

Leave **Open Immediately** on (the default), or schedule a future **Open Time** with the date-and-time picker. A scheduled time has to be in the future.
{% endstep %}

{% step %}

### Pick a Jito tip

Choose a preset (Default, High, or Ultra) or enter a Custom tip. A higher tip makes block inclusion more likely when the network is busy.
{% endstep %}

{% step %}

### Add your buy wallets

Add up to 20 rows. For each one, paste the signer key and set a **Buy Amount** in SOL. **MAX** caps the amount to the usable balance, and **Refresh Balances** pulls current balances over RPC.
{% endstep %}

{% step %}

### Review the live summary

Check the summary: active wallets, total buy SOL, estimated tokens, signer cost, wallet cost, and total cost. The token estimate is a client-side figure (buy SOL divided by the starting price), not a quote.
{% endstep %}

{% step %}

### Launch in the same block

Press **Launch In Same Block**. The flow checks each wallet has at least its buy amount plus the tip plus a small network fee, then submits per-wallet. The result dialog reports a Pool ID, an LP Mint, a Bundle ID, and a line per wallet.
{% endstep %}
{% endstepper %}

{% hint style="info" %}
**About wallet warnings.** Some tools sign more than one thing in a single step, for example creating a token and its metadata together. Phantom can show a caution banner for these multi-step transactions. The banner is expected here and does not mean something is wrong. Read what you are signing, then approve.
{% endhint %}

[**Open LP Create and Buy in the app →**](https://j.tools/en/tools/lp-create-buy)

## The options, explained

| Field              | What it does                                                                                                                                                                                    |
| ------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Pool identifier    | Identifies the pool the launch targets. Enter the value the in-app field asks for (a market identifier or your base token mint, per its label). Must validate as a Solana public key. Required. |
| Base Token Amount  | How much of the base token is seeded into the pool. Must be a number greater than zero.                                                                                                         |
| Quote Amount (SOL) | How much SOL is paired into the pool. Must be greater than zero. Quote over base sets the starting price.                                                                                       |
| Buy wallets        | One to 20 rows, each a signer key plus a buy amount in SOL. Keys are read as Base58, Base64, or a JSON array.                                                                                   |
| Open Time          | Optional. A future unix timestamp for when the pool opens. Leave it off to open immediately.                                                                                                    |
| Jito tip           | The tip in SOL for block inclusion. Presets are Default, High, and Ultra, or set a Custom value. Cannot be negative.                                                                            |

{% hint style="info" %}
**Wallet cap is 20.** You can add between one and 20 buy wallets in a single launch. Each wallet needs its own SOL for its buy, the tip, and the network fee.
{% endhint %}

## If something goes wrong

* **No signer wallet.** The launch button is disabled until a wallet is connected. Connect, then try again.
* **Invalid pool identifier.** The field has to be a real Solana public key. Re-check the value you pasted against the in-app field label.
* **A buy wallet is short on SOL.** Each wallet needs its buy amount plus the Jito tip plus a small network fee. Top it up, refresh balances, and retry.
* **A key will not parse.** Paste it as Base58, Base64, or a JSON array. Stray spaces or a partial copy are the usual cause.

For the full list, see the [Error codes reference](/reference/error-codes.md).

## FAQ

<details>

<summary>How is this different from Create LP?</summary>

[Create LP](/tools/liquidity/create-lp.md) seeds a pool and is the right choice when you just need the pool live. LP Create and Buy adds coordinated opening buys from your own wallets aimed at the same block as the launch, so your first trades land alongside the pool going live.

</details>

<details>

<summary>How does the same-block protection work?</summary>

The launch pairs the pool with your buys, tipped so they are aimed at the same block. This is the same [bundle](/concepts/bundles-and-jito.md) idea behind [Bundled Trade](/tools/trade/bundled-trade.md): when the pool and your opening buys land together, there is little room for a sniper to slot a buy ahead of yours.

</details>

<details>

<summary>Why does it ask for private keys when the rest of J Tools never does?</summary>

Because the buys come from wallets other than the one you connect, the tool needs each wallet to sign its own buy. The rows take pasted keys for that reason. The keys are not stored server-side and are cleared from the page after a run, but pasting a key is still a risk. Use disposable launch wallets and rotate them afterward.

</details>

<details>

<summary>What is the platform fee for this tool?</summary>

The fee is shown in the in-app fee summary before you launch and is listed on the [Fee schedule](/reference/fee-schedule.md). Check the in-app summary for the exact amount that applies to your run.

</details>

<details>

<summary>Can I schedule the pool to open later?</summary>

Yes. Turn off Open Immediately and set a future Open Time. It has to be in the future, or the form will not accept it.

</details>

## Related tools

{% content-ref url="/pages/QT0nYfDbGpJo4Cm5Tbs6" %}
[Create LP](/tools/liquidity/create-lp.md)
{% endcontent-ref %}

{% content-ref url="/pages/uGgmNhYYrXAD9JCyTmE9" %}
[Liquidity Add / Remove](/tools/liquidity/liquidity-add-remove.md)
{% endcontent-ref %}

{% content-ref url="/pages/wzTSdddfnEFKadxZXdPR" %}
[Swap](/tools/trade/swap.md)
{% endcontent-ref %}

{% content-ref url="/pages/OUTARQ7CwmWSmwdYM3f6" %}
[Pump.fun Create and Bundle Buy](/tools/launch/pumpfun-create-and-bundle-buy.md)
{% endcontent-ref %}

{% hint style="warning" %}
**About multi-wallet mode.** This mode works with private keys you import into the page. Only use wallets you can treat as disposable, and rotate them after you are done. For everything else, J Tools stays non-custodial: you sign in your own wallet, and we never ask for its key.
{% endhint %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.j.tools/tools/liquidity/lp-create-buy.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
