name: pump-swarm
description: “Pump.fun上的协调多钱包交易”
command: swarm
emoji: “🐝”
gates:
envs:
- SOLANA_PRIVATE_KEY
Pump.fun Swarm Trading
在Pump.fun上协调多达20个钱包执行同步交易。
快速开始
# 设置钱包
export SOLANA_PRIVATE_KEY="你的主钱包密钥" # wallet_0
export SOLANA_SWARM_KEY_1="第二个钱包密钥" # wallet_1
export SOLANA_SWARM_KEY_2="第三个钱包密钥" # wallet_2
# ... 直到 SOLANA_SWARM_KEY_20
# 可选
export SOLANA_RPC_URL="https://你的rpc.com"
export PUMPPORTAL_API_KEY="你的API密钥"
命令
钱包管理
/swarm wallets 列出所有swarm钱包及其地址
/swarm balances 从链上获取SOL余额
/swarm enable <wallet_id> 启用钱包进行交易
/swarm disable <wallet_id> 禁用钱包
交易
/swarm buy <mint> <sol> [options] 使用所有启用的钱包购买
/swarm sell <mint> <amount|%> [opts] 从持有仓位的钱包卖出
仓位管理
/swarm position <mint> 显示缓存的代币仓位
/swarm refresh <mint> 从链上获取最新仓位(卖出前必需)
执行模式
| 模式 |
标志 |
最适合 |
描述 |
| 并行 |
--parallel |
速度(>5钱包) |
所有钱包同时执行 |
| 捆绑 |
--bundle |
原子性(≤5) |
单个Jito捆绑,全部或无 |
| 多捆绑 |
--multi-bundle |
原子性(6-20) |
多个Jito捆绑并行 |
| 顺序 |
--sequential |
隐蔽 |
交错200-400ms延迟 |
自动模式选择(默认)
- 1个钱包 → 并行(直接提交)
- 2-5个钱包 → 单个Jito捆绑
- 6-20个钱包 → 多捆绑(每组5个)
其他选项
| 选项 |
描述 |
--preset <name> |
应用保存的预设 |
--wallets <id1,id2> |
仅使用特定钱包 |
--slippage <bps> |
滑点容忍度(默认:500 = 5%) |
--pool <pool> |
池:pump, raydium, auto(仅pumpfun) |
--dex <dex> |
DEX:pumpfun(默认), bags, meteora |
--pool-address <addr> |
特定池地址(Meteora) |
示例
# 每个启用的钱包购买0.1 SOL价值(自动模式)
/swarm buy ABC123mint... 0.1
# 仅使用特定钱包购买
/swarm buy ABC123mint... 0.2 --wallets wallet_0,wallet_1
# 使用预设购买
/swarm buy ABC123mint... 0.1 --preset stealth
# 使用多个Jito捆绑卖出100%(>5钱包)
/swarm sell ABC123mint... 100% --multi-bundle
# 使用交错定时卖出50%(隐蔽模式)
/swarm sell ABC123mint... 50% --sequential
# 使用预设卖出
/swarm sell ABC123mint... 100% --preset fast
# 卖出前检查仓位
/swarm refresh ABC123mint...
/swarm position ABC123mint...
# 多DEX示例
/swarm buy ABC123mint... 0.1 --dex bags # 在Bags.fm购买
/swarm buy ABC123mint... 0.1 --dex meteora # 在Meteora DLMM购买
/swarm sell ABC123mint... 100% --dex bags # 在Bags.fm卖出
执行模式深入探讨
并行(>5钱包默认)
- **速度:**所有钱包通过
Promise.all同时提交
- **风险:**无原子性 - 部分可能成功,其他失败
- **何时使用:**速度优先,或捆绑持续失败
Jito捆绑(2-5钱包默认)
- **原子:**所有交易一起成功或一起失败
- **MEV保护:**没有你自己钱包之间的抢跑
- **成本:**每捆绑约10,000 lamports提示
- **限制:**每捆绑最多5笔交易(Jito限制)
多捆绑(6-20钱包推荐)
- **分块:**将钱包分成5组
- **并行捆绑:**所有块同时提交
- **部分原子性:**每块是原子的,但块是独立的
- **示例:**12个钱包 → 3个捆绑的[5, 5, 2]钱包
顺序(隐蔽模式)
- **交错:**200-400ms随机延迟
- 金额变化:±5%避免检测模式
- **速率限制:**每钱包之间至少5秒
- **何时使用:**想要避免模式检测
如何工作
购买流程
- 从链上刷新SOL余额
- 筛选余额充足的钱包(≥0.01 SOL + 金额)
- 通过PumpPortal API为每个钱包构建交易
- 本地签名所有交易
- 通过选择的执行模式提交
- 按钱包报告结果
卖出流程
- 从链上获取实际代币余额(关键!)
- 筛选有仓位的钱包
- 计算卖出金额(仓位的%或确切的)
- 构建和签名交易
- 通过选择的执行模式提交
- 按钱包报告结果
安全特性
- **余额检查:**购买前验证足够的SOL
- **仓位检查:**卖出前获取真实的代币余额
- **最大金额:**拒绝每钱包购买金额> 10 SOL
- **确认超时:**每笔交易60秒超时
- **错误报告:**显示每个钱包的详细错误
- **捆绑回退:**失败的捆绑自动重试为并行
配置
| 环境变量 |
描述 |
SOLANA_PRIVATE_KEY |
主钱包(wallet_0) |
SOLANA_SWARM_KEY_1..20 |
额外的swarm钱包 |
SOLANA_RPC_URL |
自定义RPC端点(更快 = 更好) |
PUMPPORTAL_API_KEY |
PumpPortal API密钥(可选,用于pumpfun) |
BAGS_API_KEY |
Bags.fm API密钥(袋子DEX必需) |
多DEX支持
swarm系统支持跨多个DEX交易:
| DEX |
标志 |
最适合 |
需要 |
| Pump.fun |
--dex pumpfun(默认) |
迷因币,新启动 |
PUMPPORTAL_API_KEY(可选) |
| Bags.fm |
--dex bags |
袋子启动的代币 |
BAGS_API_KEY |
| Meteora |
--dex meteora |
DLMM池,集中流动性 |
- |
多DEX示例
# 在Pump.fun购买(默认)
/swarm buy ABC123... 0.1
# 在Bags.fm购买
/swarm buy ABC123... 0.1 --dex bags
# 在Meteora购买特定池
/swarm buy ABC123... 0.1 --dex meteora --pool-address <pool_address>
# 在Bags.fm卖出,使用隐蔽预设
/swarm sell ABC123... 100% --dex bags --preset stealth
注意事项
- 默认DEX是
pumpfun,为了向后兼容
- Bags需要
BAGS_API_KEY - 如果缺失会报错
- Meteora可以自动发现池或使用特定的
--pool-address
- 所有执行模式(并行,捆绑,顺序)适用于所有DEX
- 预设适用于所有DEX
代理工具(12)
| 工具 |
描述 |
swarm_wallets |
列出所有swarm钱包 |
swarm_balances |
从链上刷新SOL余额 |
swarm_buy |
跨钱包协调购买(支持preset参数) |
swarm_sell |
跨钱包协调卖出(支持preset参数) |
swarm_position |
获取缓存位置 |
swarm_refresh |
从链上获取最新位置 |
swarm_enable |
启用钱包 |
swarm_disable |
禁用钱包 |
swarm_preset_save |
保存交易预设 |
swarm_preset_list |
列出保存的预设 |
swarm_preset_get |
获取预设详情 |
swarm_preset_delete |
删除预设 |
扩展说明
- 最大钱包: 20(wallet_0 + SOLANA_SWARM_KEY_1…20)
- Jito捆绑限制: 每捆绑5笔交易(自动处理)
- 多捆绑并行: 所有捆绑同时提交
- RPC建议: 使用专用RPC以获得最佳性能
- 提示金额: 每捆绑10,000 lamports(~$0.002)
预设
保存并重用跨代币和策略的交易配置。
预设命令
/swarm preset save <name> [options] 保存预设
/swarm preset list [type] 列出预设
/swarm preset show <name> 显示预设详情
/swarm preset delete <name> 删除预设
预设保存选项
| 选项 |
描述 |
--type <type> |
预设类型:策略,代币,钱包组 |
--desc "..." |
预设描述 |
--mint <addr> |
代币地址(代币预设) |
--amount <sol> |
每钱包默认SOL |
--slippage <bps> |
滑点以基点为单位 |
--pool <pool> |
池:pump, raydium, auto |
--mode <mode> |
parallel, bundle, multi-bundle, sequential |
--wallets <ids> |
钱包ID(钱包组预设) |
内置预设
| 名称 |
模式 |
滑点 |
池 |
使用案例 |
fast |
parallel |
5% |
auto |
速度优先 |
atomic |
multi-bundle |
5% |
auto |
全部或无执行 |
stealth |
sequential |
3% |
auto |
避免模式 |
aggressive |
parallel |
10% |
pump |
高波动性代币 |
safe |
bundle |
2% |
auto |
保守交易 |
预设示例
# 创建自定义策略预设
/swarm preset save my_stealth --type strategy --mode sequential --slippage 300
# 为BONK创建代币预设
/swarm preset save bonk_entry --type token --mint DezXAZ... --slippage 1000 --amount 0.1
# 创建钱包组预设
/swarm preset save top5 --type wallet_group --wallets wallet_0,wallet_1,wallet_2,wallet_3,wallet_4
# 列出所有预设
/swarm preset list
# 仅列出策略预设
/swarm preset list strategy
# 在交易中使用预设
/swarm buy ABC... 0.1 --preset my_stealth
/swarm sell ABC... 100% --preset fast
# 删除预设
/swarm preset delete old_preset
预设类型
| 类型 |
用途 |
strategy |
可重用的交易设置(模式,滑点,池) |
token |
代币特定设置,保存的代币地址 |
wallet_group |
命名的钱包组合,用于特定交易 |
故障排除
| 问题 |
解决方案 |
| 捆绑持续失败 |
尝试--parallel或检查网络拥堵 |
| 仓位不显示 |
先运行/swarm refresh <mint> |
| 余额不足 |
使用/swarm balances检查 |
| 执行缓慢 |
使用SOLANA_RPC_URL专用RPC |
| 部分钱包跳过 |
钱包被禁用或余额不足 |
| 预设未找到 |
用/swarm preset list检查名称 |