nearLAUNCH
Documentation

How the launch becomes an intent.

nearlaunch is a pump.fun launchpad with the launch transaction turned inside out. Instead of your wallet signing create_v2, you state an outcome: a coin with these details, funded with this much SOL, paid for in this asset on this chain. NEAR Intents delivers the SOL to a wallet that did not exist a minute ago, and that wallet mints the coin.

Overview

Every coin launched here mints on pump.fun's bonding curve exactly like any other pump coin. It trades on pump.fun, on aggregators, and on the AMM after migration. Nothing about the token is different.

What is different is who launched it. On pump.fun the launcher's wallet is the fee payer and the creator, visible forever. On nearlaunch the fee payer and creator is a launch wallet that receives its SOL through a NEAR Intent and has no other history. The payment that funded it happened on whatever chain you chose, to a one-time deposit address, and is joined to the mint only inside the intent.

You never connect a wallet. There is no signature to give. The site has three inputs: what the coin is, how much SOL it should launch with, and what you want to pay in.

Why intents

A bridge moves an asset. An intent moves an outcome. That distinction is what makes the launch private and what makes it work from anywhere.

1Click, the distribution API on top of intents.near, takes a request of the form "deliver exactly N SOL to this Solana address, paid in X on chain Y" and returns a one-time deposit address. A network of solvers competes to fill it. The best fill settles on Solana. The deposit on chain Y and the delivery on Solana are separate transactions from separate parties; the only record that ties them together is the intent itself.

For a launchpad that means: pay from a Bitcoin wallet, from an exchange withdrawal, from a shielded Zcash pool, from USDC on Base. It also means the SOL that mints the coin was never in your Solana wallet, because you do not need one.

The flow

Six steps, all visible on the session page as they happen.

01Describe
Name, ticker, image, links, and an optional initial buy in SOL. The image and metadata are pinned to IPFS.
02Quote
The server derives a fresh launch wallet and asks 1Click for an EXACT_OUTPUT quote: the SOL the launch needs, in the asset you chose. You get a one-time deposit address, an exact amount, and a 45-minute window.
03Deposit
You send that amount from anywhere. The session page shows a QR code and polls.
04Fill
Solvers deliver the SOL to the launch wallet on Solana. The page shows the delivery transaction.
05Mint
The launch wallet signs create_v2 with itself as creator and fee payer, plus the initial buy if you set one, in a single versioned transaction against pump's lookup tables.
06Live
The coin is on pump.fun. You receive a claim secret, once, for the creator fees.

If you close the tab, nothing stops. A keeper process watches every open launch and runs the mint the moment a wallet is funded. Return to the session link at any time; it is the only key to the session.

Paying from any chain

The form lists the assets 1Click can move. The catalogue is reconciled with the live token list, so anything solvers stop supporting drops off automatically.

AssetChainPrivacyNote
SOLSolanapseudonymousSOL from any wallet. Routed through the intent: you pay a one-time address and a solver funds the launch wallet.
ZECZcashshieldedPay from a shielded pool. The strongest option: the deposit has no visible sender.
BTCBitcoinpseudonymousSlow but universal. Allow an hour for confirmations.
ETHEthereumpseudonymousMainnet ETH. A few minutes.
ETHBasepseudonymousETH on Base. Cheap and quick.
ETHArbitrumpseudonymousETH on Arbitrum One.
USDCEthereumpseudonymousUSDC on Ethereum mainnet.
USDCBasepseudonymousUSDC on Base.
USDCArbitrumpseudonymousUSDC on Arbitrum One.
USDTEthereumpseudonymousUSDT on Ethereum mainnet.
USDCSolanapseudonymousUSDC on Solana. Fast, but the deposit is on the same chain as the launch.
NEARNEARpseudonymousNative NEAR. Settles in seconds.
DOGEDogecoinpseudonymousBecause of course.
XRPXRP LedgerpseudonymousXRP. The deposit needs the memo shown with the address.

Shielded Zcash is the strongest option: a payment from the shielded pool has no visible sender at all. Bitcoin and EVM chains are pseudonymous; the deposit is visible on that chain but unconnected to Solana. SOL from another wallet also goes through the intent: you pay a one-time deposit address and a solver, not your wallet, funds the launch wallet. Solvers do quote SOL for SOL, at roughly one percent all in. Only if that quote is refused does the site fall back to a direct deposit into the launch wallet, and the session page says so.

Every quote needs a refund address on the paying chain. If solvers cannot fill within the window, or you sent less than quoted, the deposit is returned there.

The launch wallet

Each launch derives a keypair from the operator's keeper secret and a random per-launch salt. The salt lives on the launch row and never leaves the server; the keypair is recomputed whenever it has to sign. No private key per launch is ever written anywhere.

The launch wallet plays every role a launcher's wallet would:

RoleHeld by
Recipient of the funding intentlaunch wallet
Fee payer of create_v2launch wallet
Creator (30 bps of every trade)launch wallet
Holder of the initial buylaunch wallet
Signer of fee collection and payoutslaunch wallet, on presentation of the claim secret

It is your wallet. If a wallet was connected when the launch was opened, that wallet owns the launch: sign a short message on the session page and the launch wallet's private key is shown to you, once. Import it into Phantom or any Solana wallet and the dev buy and the creator fees are yours to move directly. Without a connected wallet, the claim secret exports the key the same way.

Exporting the key is the one place you choose to link yourself to the launch. Nothing on chain changes until you move funds out of it; do that through an intent if you want the link to stay broken.

Privacy model

Be precise about what this does and does not hide.

Visible on Solana
  • The launch wallet, its mint transaction, and the SOL that arrived in it.
  • That the SOL came from a solver, not from an exchange or a known wallet.
  • The coin's metadata, which names nearlaunch and the paying chain.
Not visible anywhere
  • The payer:
  • A Solana wallet of yours. There is none in the flow.
  • Where creator fees go when you route them out.

What the operator holds: the launch row, including the deposit address and the refund address you typed, and the keeper secret that derives every launch wallet. That is the trust in the system. The operator can see which chain paid and where refunds would go; they cannot see a shielded Zcash sender either. The claim secret is stored only as a hash.

What 1Click holds: the intent, the deposit and the delivery. Read their documentation for their data practices.

Creator fees

pump.fun credits 30 basis points of every buy and sell to the coin's creator, on the curve and on the AMM after migration. Here the creator is the launch wallet, so the fees accrue to a vault only that wallet can claim.

At launch you are shown a claim secret, once. It looks like nl_…. Presenting it on the creator fees page is the whole proof of ownership. A payout:

  1. 1. Collects the vault into the launch wallet (collect_creator_fee).
  2. 2. Quotes an EXACT_INPUT intent: that SOL, to the asset and address you name.
  3. 3. Sends the SOL from the launch wallet to the one-time deposit address.
  4. 4. Marks the payout settled when the destination chain confirms.
Lose the secret and the fees cannot be claimed by anyone, including the operator on your behalf, because nothing links you to the launch. Save it outside the browser.

Costs

The launch wallet must receive enough SOL for the mint, the network, a small reserve for later fee collection, and the initial buy. The funding intent is EXACT_OUTPUT on this total.

ItemSOLNotes
Mint, curve, metadata accounts0.022Rent, set by Solana
Priority fee0.00004300k CU at 100k micro-lamports
Reserve0.004Left in the wallet to sign fee collections
Fixed total0.02604A launch with no initial buy
Initial buyyour choiceUp to 50 SOL, at the opening price
pump buy fee1.25%Of the initial buy: 95 bps protocol + 30 bps creator
Token account0.0021Only with an initial buy
1Click fee0.1%Waived when the operator sets a JWT
Slippage1%On the funding quote

If solvers deliver slightly less than the total, the initial buy shrinks to fit rather than failing the launch. If they deliver less than the fixed total, the launch waits as funded for the keeper or an operator to resolve it.

Statuses

StatusMeaning
awaiting_depositQuote open. Nothing received.
processing1Click saw the deposit. Solvers are filling.
fundedSOL is in the launch wallet. Mint not yet sent.
launchingcreate_v2 in flight.
liveThe coin exists on pump.fun.
failedThe mint failed. SOL is still in the launch wallet; retried by the keeper.
refundedThe intent refunded the deposit to your refund address.
expired45 minutes passed with no deposit.

For operators

The repository is a Next.js app plus one keeper process. Copy .env.example, run supabase/schema.sql, generate a keeper key with pnpm keeper:init, and run pnpm keeper next to the site. The README covers each variable.

The keeper secret is the root of custody. Every launch wallet, every funded-but-unlaunched balance, and every coin's creator fees derive from it. Back it up before the first launch, and never reuse it across deployments.

/admin lists every launch in every status with its wallet balance and unclaimed fees, and can retry a failed mint, hide a coin, or sweep a wallet to a Solana address.

FAQ

Do I need a Solana wallet at all?

No. Not to launch, not to collect fees.

Can I pay with SOL?

Yes, from any Solana wallet or exchange. It still goes through the intent: a one-time deposit address on Solana, then a solver delivers fresh SOL to the launch wallet. Your wallet and the launch wallet never touch.

What if I send the wrong amount?

Less than quoted: 1Click refunds it to your refund address. More: the excess is refunded. Either way, the session page tells you.

Where does my initial buy go?

It is held by the launch wallet. Route it out later with the claim secret, the same way as creator fees.

What happens after the coin migrates to the AMM?

Nothing changes. Creator fees keep accruing to the launch wallet and can still be routed out.

Is this custodial?

Between deposit and mint, and for creator fees, yes: the operator's keeper secret derives the launch wallet. That is the trade for having no wallet of your own in the flow. The operator cannot see who you are; they can see the launch.