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
- You send token details (name, symbol, image URL) in a single POST request
- The server downloads your image, builds the metadata JSON, and stores it
- The server builds the create transaction (and optional dev buy), signs it with your wallet, and submits it to Solana
- 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
| Parameter | Type | Required | Description |
|---|---|---|---|
name | string | Yes | Token name (max 32 chars) |
symbol | string | Yes | Token symbol (max 10 chars) |
image | string | Yes* | Image URL for token logo |
description | string | No | Token description (default: "Launched on pumpdev.io — the fastest Pump.fun API") |
twitter | string | No | Twitter/X URL |
telegram | string | No | Telegram URL |
website | string | No | Website URL |
uri | string | No | Pre-uploaded metadata URI — skips server-side storage, use if you already have metadata on IPFS |
mintKeypair | string | No | Base58-encoded secret key of a custom mint keypair — use when you need a specific token address |
buyAmountSol | number | No | Dev buy amount for native-SOL pairs |
buyAmountQuote | number | No | Dev buy amount in quote-token units. Use with quoteMint for USDC or other SPL quote pairs |
quoteMint | string | No | Quote mint for the coin. Omit for native SOL/WSOL pairs |
slippage | number | No | Slippage % for buy (default: 90) |
priorityFee | number | No | Priority fee in SOL (default: 0.0005) |
jitoTip | number | No | Optional 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 |
mayhemMode | boolean | No | Enable Pump.fun Mayhem Mode on the token |
cashbackEnabled | boolean | No | Deprecated by pump.fun: new cashback coins can no longer be created, so true returns 400. Use holderReward |
holderReward | boolean | No | Create 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 |
creatorFeeBps | number | No | Creator 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.
- Omit
quoteMintfor standard SOL pairs and keep usingbuyAmountSol - For USDC or other SPL quote pairs, pass
quoteMintand usebuyAmountQuote - 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
jitoTipfor the normal create flow - Set
jitoTip: 0to force no tip explicitly - Set
jitoTipto a positive value only when you intentionally want a tipped launch - When
buyAmountSol/buyAmountQuoteandjitoTipare 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 Status | Cause |
|---|---|
400 | Missing required fields (name, symbol, image) or invalid values, or the creator wallet is unfunded (account not found on chain — fund it with SOL first) |
401 | Invalid or missing API key |
402 | Insufficient SOL balance for transaction + fees |
500 | Transaction failed on-chain (slippage exceeded, network congestion) |
Next Steps
- ⚡ Lightning Setup — Create or import a Lightning wallet
- ⚡ Lightning Trade — Buy and sell tokens instantly
- ⚡ Lightning Bundle — Trade and create via Jito bundles (MEV protection)
- Token Creation — Client-side token creation with dev buy
- Jito Bundles — Atomic multi-wallet launches & trade bundles
- Claim Creator Fees — Collect royalties from your tokens
- Real-Time Data — WebSocket streaming for new token alerts
- Pricing — Commission details