A Solana token bundler/launcher for creating and distributing tokens on the Bonk.fun platform.
Bonkfun-Bundler/
├── src/ # Main source code
│ ├── config/ # Configuration management
│ │ ├── environment.ts # Environment variables
│ │ ├── constants.ts # Static constants
│ │ ├── config.ts # SDK configuration
│ │ └── index.ts # Config exports
│ ├── services/ # Business logic services
│ │ ├── token.service.ts # Token operations
│ │ ├── wallet.service.ts # Wallet management
│ │ ├── lookup-table.service.ts # LUT operations
│ │ └── index.ts # Service exports
│ ├── core/ # Core application logic
│ │ ├── bundler.ts # Main bundler class
│ │ └── index.ts # Core exports
│ └── index.ts # Application entry point
├── executor/ # Transaction execution
│ ├── jito.ts # Jito MEV execution
│ └── legacy.ts # Legacy transaction execution
├── utils/ # Utility functions
│ ├── utils.ts # General utilities
│ ├── logger.ts # Logging utilities
│ ├── swapOnlyAmm.ts # AMM swap utilities
│ ├── vanity.ts # Vanity address generation
│ └── index.ts # Utility exports
├── constants/ # Legacy constants (deprecated)
├── image/ # Token images
├── executor/ # Transaction executors
└── [legacy files] # Original entry points
- Token Creation: Create tokens with metadata on Bonk.fun
- Wallet Distribution: Distribute SOL to multiple wallets
- Lookup Table Management: Create and extend lookup tables for efficient transactions
- Transaction Bundling: Bundle multiple buy transactions for MEV protection
- Vanity Address Support: Generate vanity addresses with custom prefixes
- Jito MEV Integration: Execute transactions through Jito for better MEV protection
npm install
Create a .env
file with the following variables:
# RPC Configuration
RPC_ENDPOINT=your_rpc_endpoint
RPC_WEBSOCKET_ENDPOINT=your_websocket_endpoint
PRIVATE_KEY=your_private_key
# Token Configuration
TOKEN_NAME=Your Token Name
TOKEN_SYMBOL=SYMBOL
TOKEN_SHOW_NAME=Display Name
TOKEN_CREATE_ON=https://bonk.fun
DESCRIPTION=Token description
FILE=path/to/token/image.jpg
VANITY_MODE=false
# Trading Configuration
SWAP_AMOUNT=0.1
DISTRIBUTION_WALLETNUM=10
JITO_FEE=0.001
# Social Links
TWITTER=https://twitter.com/yourhandle
TELEGRAM=https://t.me/yourchannel
WEBSITE=https://yourwebsite.com
# Buyer Configuration
BUYER_WALLET=your_buyer_wallet
BUYER_AMOUNT=0.1
npm start
npm run single
npm run close
npm run gather
npm run status
npm run test
Handles all token-related operations:
- Token metadata creation
- Token transaction creation
- Buy instruction generation
Manages wallet operations:
- SOL distribution to multiple wallets
- Vanity address generation
- Wallet keypair management
Handles lookup table operations:
- LUT creation
- Address extension
- LUT management
The main orchestrator that:
- Initializes all services
- Manages the token creation process
- Handles wallet distribution
- Creates and extends lookup tables
- Bundles and executes transactions
- Create a new service in
src/services/
- Add configuration in
src/config/
if needed - Update the bundler in
src/core/bundler.ts
- Add tests for new functionality
- Use TypeScript for all new code
- Follow the existing service pattern
- Use dependency injection for services
- Keep configuration centralized
npm start
: Run the main bundlernpm run single
: Run single wallet bundlenpm run close
: Close lookup tablenpm run gather
: Gather datanpm run status
: Check statusnpm run test
: Run tests
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests if applicable
- Submit a pull request
This software is for educational and development purposes.