A TypeScript CLI for automated token bundling on letsbonk.fun. Supports multi-wallet coordination, Jito bundle execution, and configurable launch and exit strategies.
- Overview
- Features
- Installation
- Configuration
- Usage
- Launch Strategies
- Exit Strategies
- API Reference
- Security
- Troubleshooting
- Contributing
- License
BonkFun Bundler automates token creation, distribution, and trading on letsbonk.fun. It coordinates operations across multiple wallets and uses Jito bundles to reduce MEV exposure during launches and sells.
Capabilities
| Area | Description |
|---|---|
| Token launch | Vanity addresses, metadata upload, Jito and delayed bundle modes |
| Wallet management | Generate up to 20 wallets, distribute SOL, import/export keypairs |
| Trading | Coordinated multi-wallet buys and sells with slippage controls |
| Exit strategies | Sell-all, dev dump, delayed sell, and SOL recovery |
- Vanity address generation — Custom mint suffixes via
solana-keygen grind(multi-threaded) - Metadata management — Automated creation and IPFS upload (name, symbol, description, social links, image)
- Jito bundler mode — Atomic bundles with up to 5 transactions per bundle
- Delayed bundle mode — Sequential execution with configurable random delays
- Snipe mode — Coordinated buys on existing tokens
- Bulk wallet generation (up to 20)
- Equal, custom, or percentage-based SOL distribution
- Batch operations, balance consolidation, and transaction history
- Configurable buy amounts per wallet
- Slippage protection (default 50%)
- Priority fee optimization and confirmation monitoring
- Node.js >= 16.0.0
- npm or yarn
- Solana CLI (required for vanity address generation)
- Solana RPC endpoint
git clone https://github.com/cicere/bonkfun-bundler.git
cd bonkfun-bundler
npm installInstall Solana CLI (for vanity addresses):
sh -c "$(curl -sSfL https://release.solana.com/stable/install)"Configure environment:
cp .env.example .envEdit .env:
RPC=https://your-rpc-endpoint.com
SECRET_KEY=your-main-wallet-private-key
API_KEY=your-license-key
DEBUG=false| Variable | Description | Required | Default |
|---|---|---|---|
RPC |
Solana RPC endpoint URL | Yes | — |
SECRET_KEY |
Main wallet private key | Yes | — |
API_KEY |
License key for activation | Yes | — |
DEBUG |
Enable debug logging | No | false |
Create tokenMetadata.json:
{
"tokenName": "Your Token Name",
"tokenSymbol": "SYMBOL",
"description": "Token description",
"tokenShowName": "Display Name",
"twitter": "https://x.com/yourhandle",
"telegram": "https://t.me/yourgroup",
"website": "https://yourwebsite.com",
"file": "token-image.jpg",
"jitoTipAmtInput": "0.01"
}| Setting | Value |
|---|---|
| Maximum wallets | 20 |
| Minimum SOL per wallet | 0.01 SOL |
| Distribution methods | Equal, custom, percentage-based |
Start the application:
npm start
# or
yarn start
# or
npx ts-node main.tsThe CLI presents three main sections:
- Wallet Management — Generate wallets and distribute SOL
- Launch UI — Create and launch tokens
- Sell UI — Exit positions and recover funds
Recommended for MEV-protected launches. Process flow:
- Vanity address generation (optional)
- Token metadata creation
- Token creation transaction
- Multi-wallet buy transactions
- All operations submitted as a single Jito bundle
| Option | Range |
|---|---|
| Buy amount per wallet | 0.01 – 10 SOL |
| Jito tip | 0.0001 – 0.1 SOL |
Sequential execution with random delays (5–30 seconds) between wallet buys. Useful when a staggered entry pattern is preferred.
- Enter target token address
- Configure buy amounts per wallet
- Execute coordinated buys
- Monitor confirmation status
| Action | Steps |
|---|---|
| Create wallets | Wallet Management → Generate Wallets → enter count (1–20) |
| Distribute SOL | Wallet Management → Distribute SOL → choose method → confirm |
Coordinated sells across all wallets, bundled via Jito for efficiency.
Transfers tokens from all wallets to the main wallet, then executes a single sell transaction.
Individual wallet sells with configurable delays between transactions.
Closes token accounts and recovers rent-exempt SOL balances.
{
"buyAmount": 0.1,
"slippage": 50,
"priorityFee": 0.0001,
"confirmations": "confirmed"
}interface BonkfunSDK {
createToken(metadata: TokenMetadata): Promise<Transaction>;
buyToken(mint: PublicKey, amount: number): Promise<Transaction>;
sellToken(mint: PublicKey, amount: number): Promise<Transaction>;
getTokenInfo(mint: PublicKey): Promise<TokenInfo>;
}class WalletManager {
generateWallets(count: number): Keypair[];
distributeSOL(amount: number, method: DistributionMethod): Promise<void>;
getBalances(): Promise<WalletBalance[]>;
exportWallets(): WalletExport;
importWallets(data: WalletExport): void;
}class LaunchManager {
launchWithJito(config: LaunchConfig): Promise<LaunchResult>;
launchWithDelay(config: LaunchConfig): Promise<LaunchResult>;
snipeToken(mint: PublicKey, config: SnipeConfig): Promise<SnipeResult>;
}interface TokenMetadata {
tokenName: string;
tokenSymbol: string;
description: string;
tokenShowName: string;
twitter: string;
telegram: string;
website: string;
file: string;
}
interface LaunchConfig {
metadata: TokenMetadata;
buyAmounts: number[];
jitoTip: number;
useVanity: boolean;
}- Never commit or share private keys
- Store keys in environment variables only
- Use a dedicated wallet for bundler operations
- Keep minimal SOL in operational wallets
- Sensitive operations use Jito bundles
- Slippage protection on all trades
- Address validation before execution
- Back up wallet configurations regularly
- Monitor transactions for unexpected behavior
- Use premium RPC endpoints for production workloads
- Keep dependencies up to date
| Issue | Resolution |
|---|---|
| Vanity address timeout | Increase timeout; verify Solana CLI installation and CPU availability |
| Transaction failed | Check RPC status, wallet balances, slippage, and priority fees |
| Bundle submission error | Verify Jito endpoint availability, tip amount, and bundle size limits |
Enable debug logging:
DEBUG=trueDebug output includes transaction construction, RPC logs, bundle composition, and timing metrics.
| Suffix length | Estimated time |
|---|---|
| 2 characters | 5–30 seconds |
| 3 characters | 30 seconds – 2 minutes |
| 4 characters | 1–10 minutes |
| Resource | Minimum | Recommended |
|---|---|---|
| CPU | Multi-core | Multi-core (for vanity generation) |
| RAM | 4 GB | 8 GB |
| Storage | 500 MB | 500 MB |
| Network | Stable, low-latency connection | Premium RPC recommended |
- Fork the repository
- Create a feature branch
- Install dependencies and run tests:
npm test - Submit a pull request
Code style: TypeScript strict mode, ESLint, Prettier.
This software is provided for legitimate token operations on letsbonk.fun. Users are responsible for compliance with applicable laws and platform terms of service. The developers assume no liability for misuse.