基于 Backpack Exchange 官方 API 的自动化积分刷分工具,通过 12 步交易流程(现货 + 借贷 + 合约)最大化获取积分奖励。
- ✅ 风险中性: 1x 杠杆合约对冲价格风险
- ✅ 全产品覆盖: 现货、借贷、合约三大产品
- ✅ 循环执行: 自动循环刷分,直到余额不足
- ✅ 配置文件支持: YAML 配置,无需每次输入参数
- ✅ 动态本金: 自动使用当前余额作为本金
- ✅ 安全保护: 强制保证金检查,避免爆仓
- ✅ 完整日志: CSV 记录每步操作,便于分析
pip install -r requirements.txt
# 或手动安装
pip install bpx-py PyYAML# 创建密钥文件
echo "你的公钥" > api_key_01.txt
echo "你的私钥" > api_secret_01.txt💡 在 Backpack Exchange Settings → API Keys 中生成
⚠️ 不要授予提现权限,只需要交易权限
# 复制配置文件模板
cp config.example.yml config.yml
# 编辑配置
vim config.yml推荐配置:
pair: "SOL/USDC"
principal_usdt: 2000.0
first_leg_ratio: 0.9
borrow_ratio: 0.5
loop_mode: true # 循环执行
loop_interval_minutes: 3 # 每3分钟一次
simulate: false # 真实交易
min_balance_usdt: 2500.0 # 最低余额要求# 方式1:使用默认配置文件(推荐)
python backpack_points_runner.py
# 方式2:指定配置文件
python backpack_points_runner.py my_config.yml
# 方式3:使用运行脚本
# Windows
auto_run.bat
# Linux/Mac
chmod +x auto_run.sh
./auto_run.sh- ① 买入现货(90%本金,如 1800 USDC → ~16 SOL)
- ② 借出现货(Lend 16 SOL,获得利息)
- ③ 开空单对冲(Short 16 SOL, 1x)
- ④ 平空单
- ⑤ 赎回现货(自动)
- ⑥ 卖出现货换回 USDC
- ⑦ 借入现货(Borrow 50%本金等值 → ~8.8 SOL)
- ⑧ 卖出借入的现货
- ⑨ 开多单对冲(Long 8.8 SOL, 1x)
- ⑩ 平多单
- ⑪ 买回现货用于还款(自动还款)
- ⑫ 归还借款(自动)
总计: 4次现货交易 + 4次借贷操作 + 4次合约交易 = 12次积分触发
启用 loop_mode: true 后:
- 完成 12 步后等待指定时间(如 3 分钟)
- 自动开始下一轮循环
- 动态使用当前余额作为本金
- 余额低于
min_balance_usdt时自动停止 - 按
Ctrl+C可随时安全停止
示例:
循环 1: 余额 2500 → 使用 2000 本金 → 余额 2498
循环 2: 余额 2498 → 使用 2000 本金 → 余额 2496
循环 3: 余额 2496 → 使用 2000 本金 → 余额 2494
...
循环 N: 余额 2490 < 2500 → 停止
| 文件 | 说明 |
|---|---|
backpack_points_runner.py |
主脚本(交易编排引擎) |
backpack_api_client.py |
Backpack API 适配器 |
config.example.yml |
配置文件模板 |
requirements.txt |
Python 依赖列表 |
LICENSE |
MIT 开源协议 |
刷分流程说明.md |
详细流程说明 |
配置文件说明.md |
配置文件详细说明 |
auto_run.sh / auto_run.bat |
运行脚本 |
需要创建的文件:
api_key_01.txt- API 公钥api_secret_01.txt- API 私钥config.yml- 个人配置(从config.example.yml复制)
所有参数都通过 config.yml 配置文件设置:
# 交易对配置
pair: "SOL/USDC"
# 本金配置
principal_usdt: 2000.0
first_leg_ratio: 0.9 # 第一阶段使用90%本金
borrow_ratio: 0.5 # 第二阶段借入50%本金等值
# 等待时间(秒)
wait_seconds: 2 # 每步之间等待
wait_open_to_close_seconds: 30 # 持仓时间
# 保证金与余额
min_margin_usdt: 150.0 # 最小保证金留存
min_balance_usdt: 2500.0 # 最低余额要求(低于此值停止运行)
# 循环执行
loop_mode: true # 是否循环执行
loop_interval_minutes: 3 # 循环间隔(分钟)
# 运行模式
simulate: false # false=真实交易, true=模拟
# API 配置
api:
window: 30000 # 时间窗口(毫秒)
max_retries: 3 # 最大重试次数
retry_delay: 2.0 # 重试延迟(秒)| 参数 | 默认值 | 说明 |
|---|---|---|
pair |
SOL/USDC | 交易对 |
principal_usdt |
2000 | 设定本金 |
first_leg_ratio |
0.9 | 第一阶段使用本金比例(90%) |
borrow_ratio |
0.5 | 第二阶段借入本金比例(50%) |
wait_seconds |
2 | 每步等待时间(秒) |
wait_open_to_close_seconds |
30 | 持仓时间(秒) |
min_margin_usdt |
150 | 最小保证金留存 |
min_balance_usdt |
2500 | 最低余额要求 |
loop_mode |
false | 循环执行模式 |
loop_interval_minutes |
3 | 循环间隔(分钟) |
csv_path |
backpack_points_logs.csv | CSV 日志路径 |
state_path |
backpack_points_state.json | 状态文件路径 |
simulate |
true | false=真实交易, true=模拟模式 |
⚠️ 重要:
min_balance_usdt是安全保护机制,余额低于此值会停止运行principal_usdt是目标本金,实际使用min(余额, principal_usdt)- 所有配置请在
config.yml文件中修改,不再支持命令行参数
假设本金 2000 USDC,SOL 价格 113 USDC:
- 现货手续费: ~0.72 USDC (4次 × 0.02%)
- 合约手续费: ~1.02 USDC (4次 × 0.03%)
- 借入利息: ~0.0001 USDC
- 总成本: ~1.74 USDC/次
- 总成本: ~17.4 USDC
- 触发积分: 120 次操作
- 总成本: ~835 USDC
- 触发积分: 5,760 次操作
💡 提示: 实际收益取决于 Backpack 积分价值
- 余额 ≥
principal_usdt: 使用设定本金 - 余额 <
principal_usdt: 使用全部余额 - 余额 <
min_balance_usdt: 停止运行
- 步骤 ⑤ 赎回:卖出时自动完成(
auto_lend_redeem=True) - 步骤 ⑫ 还款:买入时自动完成(
auto_borrow_repay=True)
- 1x 杠杆需要 100% 保证金
- 每次开仓前检查余额
- 不足时报错并停止
- 价格滑点: 选择流动性好的交易对(如 SOL/USDC)
- 保证金风险: 1x 杠杆降低爆仓风险
- API 失败: 内置重试机制(默认3次)
- 资金安全: 妥善保管 API 密钥,不授予提现权限
- 手续费损耗: 频繁交易会产生手续费
# 检查密钥文件
ls api_key_01.txt api_secret_01.txt
# 或使用环境变量
export BPX_API_KEY="你的公钥"
export BPX_API_SECRET="你的私钥"# 在 config.yml 中降低比例或增加余额
first_leg_ratio: 0.8
borrow_ratio: 0.4# 已在 config.yml 中设置为 30 秒
api:
window: 30000# 查看最近日志
tail -50 backpack_points_logs.csv
# 查看运行状态
cat backpack_points_state.json
# 实时监控
tail -f backpack_points_logs.csv- 配置说明:
配置文件说明.md - 流程说明:
刷分流程说明.md - 官方文档: https://docs.backpack.exchange/
- Python SDK: https://pypi.org/project/bpx-py/
# 1. 模拟运行(推荐先测试)
# 在 config.yml 中设置 simulate: true
python backpack_points_runner.py
# 2. 小额真实测试(单次)
# 在 config.yml 中设置:
# simulate: false
# principal_usdt: 100
# loop_mode: false
python backpack_points_runner.py
# 3. 正式运行(循环模式)
# 在 config.yml 中设置:
# simulate: false
# loop_mode: true
python backpack_points_runner.py# 使用 nohup
nohup python backpack_points_runner.py > output.log 2>&1 &
# 查看进程
ps aux | grep backpack
# 停止进程
kill <进程ID># 创建会话
screen -S backpack
# 或
tmux new -s backpack
# 运行脚本
python backpack_points_runner.py
# 分离: Ctrl+A+D (screen) 或 Ctrl+B+D (tmux)
# 重新连接
screen -r backpack
# 或
tmux attach -t backpack# 编辑 crontab
crontab -e
# 每天早上 9 点运行 2 小时(在 config.yml 中设置 loop_mode: true)
0 9 * * * cd /path/to/script && timeout 2h python backpack_points_runner.py-
API 密钥安全
- 不要授予提现权限
- 定期更换密钥
- 不要将密钥上传到 GitHub
-
资金管理
- 初期使用小额资金测试
- 设置合理的
min_balance_usdt
-
风险控制
- 避免在市场剧烈波动时运行
- 定期检查手续费支出
- 监控积分获取情况
版本: v2.0.0
更新时间: 2025-10-29
许可证: MIT License
- Python 3.8+
- bpx-py (官方 SDK)
- PyYAML (配置文件支持)
v2.0.0 (2025-10-29)
- ✨ 新增 YAML 配置文件支持
- ✨ 新增循环执行模式
- ✨ 新增动态本金策略
- 🐛 修复 API 时间窗口过期问题
- 🐛 修复还款机制
- 📝 完善文档
- 本脚本仅供学习和研究使用
- 加密货币交易存在风险,请谨慎使用
- 作者不对使用本脚本造成的任何损失负责
- 请遵守当地法律法规和交易所规则
- 建议先使用小额资金测试
- 频繁交易可能产生大量手续费
- 积分政策可能随时变化
祝你刷分顺利!🚀
如有问题,请查看文档或提交 Issue。