Skip to main content

Lightning Token Creation

Create tokens on Pump.fun instantly — one HTTP call = done. Pass your token name, symbol, and image URL. No IPFS upload, no separate metadata step, no signing.

API Endpoint: POST https://pumpdev.io/api/create-lightning?api-key=YOUR_KEY


Prerequisites​

You need a Lightning wallet with an API key. Create one via /api/wallet/create — it takes one call. Fund the wallet with SOL before creating tokens.


How It Works​

  1. You send token details (name, symbol, image URL) in a single POST request
  2. The server downloads your image, builds the metadata JSON, and stores it
  3. The server builds the create transaction (and optional dev buy), signs it with your wallet, and submits it to Solana
  4. You get back the mint address, transaction signature, and metadata URI

This is the fastest way to launch a token — no client-side signing, no IPFS upload, no transaction building. Compare with client-side token creation if you need full control over signing.


Request Parameters​

ParameterTypeRequiredDescription
namestringYesToken name (max 32 chars)
symbolstringYesToken symbol (max 10 chars)
imagestringYes*Image URL for token logo
descriptionstringNoToken description (default: "Launched on pumpdev.io — the fastest Pump.fun API")
twitterstringNoTwitter/X URL
telegramstringNoTelegram URL
websitestringNoWebsite URL
uristringNoPre-uploaded metadata URI — skips server-side storage, use if you already have metadata on IPFS
mintKeypairstringNoBase58-encoded secret key of a custom mint keypair — use when you need a specific token address
buyAmountSolnumberNoDev buy amount for native-SOL pairs
buyAmountQuotenumberNoDev buy amount in quote-token units. Use with quoteMint for USDC or other SPL quote pairs
quoteMintstringNoQuote mint for the coin. Omit for native SOL/WSOL pairs
slippagenumberNoSlippage % for buy (default: 90)
priorityFeenumberNoPriority fee in SOL (default: 0.0005)
jitoTipnumberNoOptional MEV tip in SOL routed to a Jito tip account (default: 0). Add it only when you intentionally want Jito-tip behavior for the launch
mayhemModebooleanNoEnable Pump.fun Mayhem Mode on the token
cashbackEnabledbooleanNoDeprecated by pump.fun: new cashback coins can no longer be created, so true returns 400. Use holderReward
holderRewardbooleanNoCreate a pump.fun Holder Rewards coin: the creator fee of every trade goes to the coin's holders instead of the creator wallet, so there is nothing for the creator to claim. Permanent. Works on any quote and together with creatorFeeBps
creatorFeeBpsnumberNoCreator fee for custom pairs, in basis points: 1–300 (0.01–3%). Applies only when quoteMint is a custom pair (not SOL or USDC); SOL and USDC coins always use pump.fun's standard fee schedule, so it is ignored there. Fixed at launch

*Required if uri is not provided.

Quote Mint Rules
  • Omit quoteMint for standard SOL pairs and keep using buyAmountSol
  • For USDC or other SPL quote pairs, pass quoteMint and use buyAmountQuote
  • Custom pairs (any quote pump.fun supports other than SOL and USDC, e.g. PUMP) can set their own creator fee with creatorFeeBps; the creator wallet must hold the quote token for the dev buy
  • SOL-paired coins still use native SOL from your perspective; the API handles wrapped SOL internally

Response​

{
"signature": "5x7...",
"mint": "TokenMintPublicKey",
"metadataUri": "https://pumpdev.io/metadata/uuid.json",
"publicKey": "YourWalletPublicKey"
}

Example: Create Token​

const response = await fetch(
'https://pumpdev.io/api/create-lightning?api-key=YOUR_KEY',
{
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
name: 'My Token',
symbol: 'MTK',
image: 'https://example.com/logo.png',
buyAmountSol: 0.5
})
}
);
const result = await response.json();
console.log('Mint:', result.mint);
console.log('Signature:', result.signature);

That's it. One call — token launched.

Add jitoTip Only When You Need It​

By default, create-lightning does not add a Jito tip. This preserves the standard launch flow.

  • Omit jitoTip for the normal create flow
  • Set jitoTip: 0 to force no tip explicitly
  • Set jitoTip to a positive value only when you intentionally want a tipped launch
  • When buyAmountSol/buyAmountQuote and jitoTip are both set, the launch may use separate create and buy legs under the hood instead of a single merged transaction
await fetch(
'https://pumpdev.io/api/create-lightning?api-key=YOUR_KEY',
{
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
name: 'My Token',
symbol: 'MTK',
image: 'https://example.com/logo.png',
buyAmountSol: 0.5,
jitoTip: 0.01
})
}
);

Launching With Other Wallets Buying Too​

create-lightning mints from one wallet — it takes no buyer list. To launch with the creator buying and other wallets buying in the same block, use Lightning Bundle: create + creator buy + 3 buyers is 5 transactions, exactly one Jito bundle.

await fetch('https://pumpdev.io/api/bundle-lightning', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
accounts: [
{
apiKey: CREATOR_KEY, type: 'create',
name: 'My Token', symbol: 'MTK',
image: 'https://example.com/logo.png'
},
{ apiKey: CREATOR_KEY, type: 'buy', amount: 0.5, denominatedInSol: 'true' },
{ apiKey: BUYER1_KEY, type: 'buy', amount: 1.0, denominatedInSol: 'true' },
{ apiKey: BUYER2_KEY, type: 'buy', amount: 0.5, denominatedInSol: 'true' },
{ apiKey: BUYER3_KEY, type: 'buy', amount: 0.25, denominatedInSol: 'true' },
],
jitoTip: 0.03
})
});

The creator buy is a separate entry — a create entry takes no amount. Signing your own transactions instead? /api/create-bundle takes the same launch as buyAmountSol + additionalBuyers and hands back unsigned transactions.

Example: Create a USDC-Quoted Coin​

await fetch(
'https://pumpdev.io/api/create-lightning?api-key=YOUR_KEY',
{
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
name: 'USDC Pair',
symbol: 'USDCP',
image: 'https://example.com/logo.png',
quoteMint: 'EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v',
buyAmountQuote: 25
})
}
);

Example: Custom Pair With a Custom Creator Fee​

On custom pairs pump.fun lets the creator pick the creator fee (0.01–3%) at launch. Pass it as creatorFeeBps in basis points. Every buy and sell on the coin then pays that rate to the creator vault; claim it with /api/claim. The rate is fixed once the coin is created.

await fetch(
'https://pumpdev.io/api/create-lightning?api-key=YOUR_KEY',
{
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
name: 'PUMP Pair',
symbol: 'PPAIR',
image: 'https://example.com/logo.png',
quoteMint: 'pumpCmXqMfrsAkQ5r49WcJnRayYRqmXz6ae8H7H9Dfn', // PUMP
buyAmountQuote: 100, // dev buy in PUMP
creatorFeeBps: 250 // 2.5% creator fee
})
}
);

Error Responses​

All errors return JSON with an error field:

{ "error": "Description of what went wrong" }
HTTP StatusCause
400Missing required fields (name, symbol, image) or invalid values, or the creator wallet is unfunded (account not found on chain — fund it with SOL first)
401Invalid or missing API key
402Insufficient SOL balance for transaction + fees
500Transaction failed on-chain (slippage exceeded, network congestion)

Next Steps​