Coordinated multi-wallet trading on Pump.fun
38
36%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
View guide
Critical
Do not install without reviewing
Fix and improve this skill with Tessl
tessl review fix ./src/skills/bundled/pump-swarm/SKILL.mdCoordinate up to 20 wallets to execute synchronized trades on Pump.fun tokens.
# Set up wallets
export SOLANA_PRIVATE_KEY="your-main-wallet-key" # wallet_0
export SOLANA_SWARM_KEY_1="second-wallet-key" # wallet_1
export SOLANA_SWARM_KEY_2="third-wallet-key" # wallet_2
# ... up to SOLANA_SWARM_KEY_20
# Optional
export SOLANA_RPC_URL="https://your-rpc.com"
export PUMPPORTAL_API_KEY="your-api-key"/swarm wallets List all swarm wallets with addresses
/swarm balances Fetch SOL balances from chain
/swarm enable <wallet_id> Enable a wallet for trading
/swarm disable <wallet_id> Disable a wallet/swarm buy <mint> <sol> [options] Buy with all enabled wallets
/swarm sell <mint> <amount|%> [opts] Sell from wallets with positions/swarm position <mint> Show cached token positions
/swarm refresh <mint> Fetch fresh positions from chain (required before sell)| Mode | Flag | Best For | Description |
|---|---|---|---|
| Parallel | --parallel | Speed (>5 wallets) | All wallets execute simultaneously |
| Bundle | --bundle | Atomicity (≤5) | Single Jito bundle, all-or-nothing |
| Multi-Bundle | --multi-bundle | Atomicity (6-20) | Multiple Jito bundles in parallel |
| Sequential | --sequential | Stealth | Staggered 200-400ms delays |
| Option | Description |
|---|---|
--preset <name> | Apply a saved preset |
--wallets <id1,id2> | Use specific wallets only |
--slippage <bps> | Slippage tolerance (default: 500 = 5%) |
--pool <pool> | Pool: pump, raydium, auto (pumpfun only) |
--dex <dex> | DEX: pumpfun (default), bags, meteora |
--pool-address <addr> | Specific pool address (for Meteora) |
# Buy 0.1 SOL worth on each enabled wallet (auto mode)
/swarm buy ABC123mint... 0.1
# Buy with specific wallets only
/swarm buy ABC123mint... 0.2 --wallets wallet_0,wallet_1
# Buy with a preset
/swarm buy ABC123mint... 0.1 --preset stealth
# Sell 100% with multiple Jito bundles (for >5 wallets)
/swarm sell ABC123mint... 100% --multi-bundle
# Sell 50% with staggered timing (stealth mode)
/swarm sell ABC123mint... 50% --sequential
# Sell with preset
/swarm sell ABC123mint... 100% --preset fast
# Check positions before selling
/swarm refresh ABC123mint...
/swarm position ABC123mint...
# Multi-DEX examples
/swarm buy ABC123mint... 0.1 --dex bags # Buy on Bags.fm
/swarm buy ABC123mint... 0.1 --dex meteora # Buy on Meteora DLMM
/swarm sell ABC123mint... 100% --dex bags # Sell on Bags.fmPromise.all| Env Variable | Description |
|---|---|
SOLANA_PRIVATE_KEY | Main wallet (wallet_0) |
SOLANA_SWARM_KEY_1..20 | Additional swarm wallets |
SOLANA_RPC_URL | Custom RPC endpoint (faster = better) |
PUMPPORTAL_API_KEY | PumpPortal API key (optional, for pumpfun) |
BAGS_API_KEY | Bags.fm API key (required for bags DEX) |
The swarm system supports trading across multiple DEXes:
| DEX | Flag | Best For | Requires |
|---|---|---|---|
| Pump.fun | --dex pumpfun (default) | Memecoins, new launches | PUMPPORTAL_API_KEY (optional) |
| Bags.fm | --dex bags | Bags-launched tokens | BAGS_API_KEY |
| Meteora | --dex meteora | DLMM pools, concentrated liquidity | - |
# Buy on Pump.fun (default)
/swarm buy ABC123... 0.1
# Buy on Bags.fm
/swarm buy ABC123... 0.1 --dex bags
# Buy on Meteora with specific pool
/swarm buy ABC123... 0.1 --dex meteora --pool-address <pool_address>
# Sell on Bags.fm with stealth preset
/swarm sell ABC123... 100% --dex bags --preset stealthpumpfun for backward compatibilityBAGS_API_KEY - will error if missing--pool-address| Tool | Description |
|---|---|
swarm_wallets | List all swarm wallets |
swarm_balances | Refresh SOL balances from chain |
swarm_buy | Coordinated buy across wallets (supports preset param) |
swarm_sell | Coordinated sell across wallets (supports preset param) |
swarm_position | Get cached positions |
swarm_refresh | Fetch fresh positions from chain |
swarm_enable | Enable a wallet |
swarm_disable | Disable a wallet |
swarm_preset_save | Save a trading preset |
swarm_preset_list | List saved presets |
swarm_preset_get | Get preset details |
swarm_preset_delete | Delete a preset |
Save and reuse trading configurations across tokens and strategies.
/swarm preset save <name> [options] Save a preset
/swarm preset list [type] List presets
/swarm preset show <name> Show preset details
/swarm preset delete <name> Delete a preset| Option | Description |
|---|---|
--type <type> | Preset type: strategy, token, wallet_group |
--desc "..." | Preset description |
--mint <addr> | Token address (for token presets) |
--amount <sol> | Default SOL per wallet |
--slippage <bps> | Slippage in basis points |
--pool <pool> | Pool: pump, raydium, auto |
--mode <mode> | parallel, bundle, multi-bundle, sequential |
--wallets <ids> | Wallet IDs (for wallet_group presets) |
| Name | Mode | Slippage | Pool | Use Case |
|---|---|---|---|---|
fast | parallel | 5% | auto | Speed priority |
atomic | multi-bundle | 5% | auto | All-or-nothing execution |
stealth | sequential | 3% | auto | Pattern avoidance |
aggressive | parallel | 10% | pump | High volatility tokens |
safe | bundle | 2% | auto | Conservative trading |
# Create a custom strategy preset
/swarm preset save my_stealth --type strategy --mode sequential --slippage 300
# Create a token preset for BONK
/swarm preset save bonk_entry --type token --mint DezXAZ... --slippage 1000 --amount 0.1
# Create a wallet group preset
/swarm preset save top5 --type wallet_group --wallets wallet_0,wallet_1,wallet_2,wallet_3,wallet_4
# List all presets
/swarm preset list
# List only strategy presets
/swarm preset list strategy
# Use preset in trade
/swarm buy ABC... 0.1 --preset my_stealth
/swarm sell ABC... 100% --preset fast
# Delete a preset
/swarm preset delete old_preset| Type | Purpose |
|---|---|
strategy | Reusable trading settings (mode, slippage, pool) |
token | Token-specific settings with saved mint address |
wallet_group | Named wallet combinations for specific trades |
| Issue | Solution |
|---|---|
| Bundle keeps failing | Try --parallel or check network congestion |
| Positions not showing | Run /swarm refresh <mint> first |
| Insufficient balance | Check with /swarm balances |
| Slow execution | Use dedicated RPC via SOLANA_RPC_URL |
| Some wallets skipped | Wallet disabled or insufficient balance |
| Preset not found | Check name with /swarm preset list |
e71a5f6
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.