name: pump-swarm
description: “在Pump.fun上的协调多钱包交易”
command: swarm
emoji: “🐝”
gates:
envs:
- SOLANA_PRIVATE_KEY
Pump.fun 群组交易
协调最多 20 个钱包 在 Pump.fun 代币上执行同步交易。
快速开始
# 设置钱包
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 balances 从链上获取 SOL 余额
/swarm enable <wallet_id> 启用钱包进行交易
/swarm disable <wallet_id> 禁用钱包
交易
/swarm buy <mint> <sol> [选项] 使用所有启用钱包购买
/swarm sell <mint> <数量|%> [选项] 从持有头寸的钱包卖出
头寸管理
/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 <名称> |
应用保存的预设 |
--wallets <id1,id2> |
仅使用特定钱包 |
--slippage <基点> |
滑点容差(默认:500 = 5%) |
--pool <池> |
池:pump、raydium、auto(仅限pumpfun) |
--dex <交易所> |
去中心化交易所:pumpfun(默认)、bags、meteora |
--pool-address <地址> |
特定池地址(用于 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...
# 多交易所示例
/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 |
额外群组钱包 |
SOLANA_RPC_URL |
自定义 RPC 端点(越快越好) |
PUMPPORTAL_API_KEY |
PumpPortal API 密钥(可选,用于 pumpfun) |
BAGS_API_KEY |
Bags.fm API 密钥(bags 交易所必需) |
多交易所支持
群组系统支持跨多个去中心化交易所交易:
| 交易所 |
标志 |
最佳用于 |
必需项 |
| Pump.fun |
--dex pumpfun(默认) |
Memecoins、新启动 |
PUMPPORTAL_API_KEY(可选) |
| Bags.fm |
--dex bags |
Bags 启动的代币 |
BAGS_API_KEY |
| Meteora |
--dex meteora |
DLMM 池、集中流动性 |
- |
多交易所示例
# 在 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 <池地址>
# 在 Bags.fm 使用隐匿预设卖出
/swarm sell ABC123... 100% --dex bags --preset stealth
注意事项
- 默认交易所为
pumpfun 以保持向后兼容
- Bags 需要
BAGS_API_KEY – 缺失时会报错
- Meteora 可自动发现池或使用特定
--pool-address
- 所有执行模式(并行、捆绑包、顺序)适用于所有交易所
- 预设适用于所有交易所
代理工具(12个)
| 工具 |
描述 |
swarm_wallets |
列出所有群组钱包 |
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 <名称> [选项] 保存预设
/swarm preset list [类型] 列出预设
/swarm preset show <名称> 显示预设详情
/swarm preset delete <名称> 删除预设
预设保存选项
| 选项 |
描述 |
--type <类型> |
预设类型:strategy、token、wallet_group |
--desc "..." |
预设描述 |
--mint <地址> |
代币地址(用于代币预设) |
--amount <sol> |
每个钱包的默认 SOL 金额 |
--slippage <基点> |
滑点(基点) |
--pool <池> |
池:pump、raydium、auto |
--mode <模式> |
parallel、bundle、multi-bundle、sequential |
--wallets <ids> |
钱包 ID(用于 wallet_group 预设) |
内置预设
| 名称 |
模式 |
滑点 |
池 |
使用场景 |
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 检查名称 |