关于 bitget-wallet
bitget-wallet 是用于操作 Bitget Wallet 多链钱包的 Agent Skill,面向需要查询余额、分析代币和执行交易的用户。它涵盖代币发现与安全分析、钱包签名及按步骤进行的兑换流程。
主要功能
- 01多链余额查询与代币兑换
- 02代币发现、行情与安全分析
- 03智能资金信号与地址发现
- 04Social Login 钱包签名
- 05RWA 股票交易与 x402 支付
适用场景
- 01兑换前检查余额、Gas 和代币风险
- 02搜索新代币并分析持仓与交易动态
- 03通过智能资金信号筛选地址
- 04使用 Social Login 钱包签署交易
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ starchild-ai-agent/ official-skills --skill bitget-wallet安装后在 Claude Code 中输入/bitget-wallet确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
CHANGELOG.mdLICENSEREADME.mddocs/address-find.mdalpha.mdcommands.mdfirst-time-setup.mdmarket-data.mdrwa.mdsocial-wallet.mdswap.mdtoken-analyze.mdwallet-signing.mdx402-payments.mdscripts/bitget-wallet-agent-api.pykey_utils.pyorder_make_sign_send.pyorder_sign.pysocial_order_make_sign_send.pysocial-wallet.pyx402_pay.py详细介绍
Bitget Wallet 技能
Bitget Wallet 是一个多链加密钱包,提供余额、兑换、市场数据、代币分析、RWA 股票交易和 Social Login 签名的统一 API。交易遵循报价 → 确认 → makeOrder → 签名 → 发送流程;此外,还提供市场和分析工具,用于发现代币、安全审计和智能资金情报。
关键常量
始终使用以下准确值。不要猜测或替换。
| 常量 | 值 |
|---|---|
| API 基础 URL | https://copenapi.bgwapi.io |
| 身份验证方法 | Token(无 API key) |
| 原生代币合约 | ""(空字符串——绝不能使用 WETH/WSOL) |
| 支持兑换的链 | eth、sol、bnb、base、arbitrum、matic、morph、trx |
no_gas 模式的最低兑换金额 | 约 $5 USD |
| 报价有效时长 | 约 30 秒 |
| 更新日志(版本检查) | https://raw.githubusercontent.com/bitget-wallet-ai-lab/bitget-wallet-skill/main/CHANGELOG.md |
工具路由——请先查阅
执行操作前,请在此查找对应任务,以确定要使用的脚本和命令。
| 任务 | 正确的工具 |
|---|---|
| 查询钱包余额(任意链,包括 Tron) | bitget-wallet-agent-api.py batch-v2 |
| 兑换前检查余额和 Gas | bitget-wallet-agent-api.py batch-v2(包含 "",表示原生代币) |
| 兑换前进行代币风险审计 | bitget-wallet-agent-api.py check-swap-token |
| 获取兑换报价 | bitget-wallet-agent-api.py quote |
| 确认兑换(滑点、Gas 模式) | bitget-wallet-agent-api.py confirm |
| 执行兑换(助记词 / 私钥) | order_make_sign_send.py |
| 执行兑换(Social Login Wallet) | social_order_make_sign_send.py |
| 查询订单状态 | bitget-wallet-agent-api.py get-order-details |
| 发现新代币 | launchpad-tokens / search-tokens-v3 / rankings / historical-coins |
| 代币安全与开发者分析 | security / coin-dev / coin-market-info |
| 深度代币分析(K 线、动态、持有者) | simple-kline / trading-dynamics / holders-info / transaction-list |
| AI Alpha 精选与智能资金 | alpha-gems / alpha-signals / alpha-hunter-find |
| 查找 KOL / 智能资金地址 | recommend-address-list |
| 使用 Social Login Wallet 签名(TEE) | social-wallet.py |
| HTTP 402 / x402 付款 | x402_pay.py |
| RWA 股票发现与交易 | 参阅 docs/rwa.md |
交易命令(
quote、confirm、make-order、send)始终通过bitget-wallet-agent-api.py或一次性封装脚本order_make_sign_send.py/social_order_make_sign_send.py执行。没有其他入口。
前置条件——执行任何操作前请检查
- 是否已加载领域知识? 在该领域进行任何 API 调用之前,先阅读步骤 1表格中相关的
docs/*.md文件。这是必须的——仅凭命令语法无法推断流程规则、参数限制和注意事项。 - 是否已配置钱包? 如果未设置助记词 / 私钥文件,请按照
docs/first-time-setup.md引导用户完成设置。对于 Social Login,请确认<skill_dir>/.social-wallet-secret存在。 - 钱包是否有足够资金? 对输入代币和原生代币(
"")运行batch-v2。如果余额不足,告知用户差额并停止操作。
步骤 1 — 加载领域知识(必需)
调用任何业务 API 之前,必须先加载该领域对应的 docs/*.md 文件。 这一点不可妥协。docs/ 文件是权威来源,本 SKILL.md 中的表格仅为摘要。
| 业务领域 | 必须先加载 | 调用前 |
|---|---|---|
| 兑换 / 交易 | docs/swap.md | quote、confirm、make-order、send、get-order-details |
| 市场数据 / 代币分析 | docs/market-data.md | coin-market-info、security、coin-dev、kline、tx-info、liquidity、rankings、launchpad-tokens、search-tokens-v3 |
| Alpha 情报 | docs/alpha.md | alpha-gems、alpha-signals、alpha-hunter-find、alpha-hunter-detail、agent-alpha-tags、agent-alpha-hunter-find |
| 代币深度分析 | docs/token-analyze.md | simple-kline、trading-dynamics、transaction-list、holders-info、profit-address-analysis、top-profit、compare-tokens |
| 地址发现 | docs/address-find.md | recommend-address-list |
| 钱包 / 签名 | docs/wallet-signing.md | 任何签名操作、密钥派生、order_sign.py、order_make_sign_send.py |
| 社交登录钱包 | docs/social-wallet.md | social-wallet.py sign_transaction、sign_message、get_address |
| RWA 股票交易 | docs/rwa.md | 任何 RWA 股票发现、配置、订单、持仓操作 |
| x402 支付 | docs/x402-payments.md | x402_pay.py、HTTP 402 支付流程 |
| 首次设置 | docs/first-time-setup.md | 创建新钱包、首次兑换配置 |
| 命令参考 | docs/commands.md | 不确定子命令参数或用法时 |
如果 API 调用返回错误,重试前重新阅读对应的
docs/*.md文件。其中已经记录了大多数错误。
步骤 2 — 兑换前检查(每次兑换前必需)
2a. 余额检查
确认钱包的 fromToken 和原生代币(用于支付 Gas)余额充足。
python3 scripts/bitget-wallet-agent-api.py batch-v2 \
--chain <fromChain> --address <wallet> \
--contract "" --contract <fromContract>
如果 fromToken balance < fromAmount → 告知用户余额缺额并停止。
Gas 模式选择:
| 原生代币余额 | 使用 | 备注 |
|---|---|---|
| 足够支付 Gas | --feature user_gas | 首选 |
| 接近零 | --feature no_gas | 免 Gas。兑换金额必须 ≥ ~$5 USD。低于此金额时,API 只会返回 user_gas。 |
此选择必须传递给 confirm。
2b. 代币风险检查
python3 scripts/bitget-wallet-agent-api.py check-swap-token \
--from-chain ... --from-contract ... --from-symbol ... \
--to-chain ... --to-contract ... --to-symbol ...
| 结果 | 操作 |
|---|---|
error_code != 0 | 显示 msg,停止 |
data.list[].checkTokenList 非空 | 向用户显示 tips,让用户决定 |
toToken 的 waringType = "forbidden-buy" | 不要继续。 警告用户此代币不能作为兑换目标。 |
步骤 3 — 执行兑换
所有交易都必须遵循
docs/swap.md中的完整流程。不得走捷径。
兑换生命周期
balance check → token risk check → quote → display + user picks market →
confirm (show outAmount/minAmount/gasTotalAmount) → user explicit confirm →
makeOrder + sign + send (atomic) → get-order-details
| 步骤 | 命令 | 备注 |
|---|---|---|
| 1. 报价 | bitget-wallet-agent-api.py quote | 显示所有市场结果,推荐第一个,并让用户选择 |
| 2. 确认 | bitget-wallet-agent-api.py confirm | 显示 outAmount(预期值)、minAmount(最差情况)和 gasTotalAmount。检查 recommendFeatures,确认 Gas 是否充足 |
| 3. 用户确认 | — | 在用户明确表示“确认”/“执行”/“是”之前,不要签名 |
| 4. makeOrder + 签名 + 发送 | order_make_sign_send.py(助记词)或 social_order_make_sign_send.py(社交登录) | 原子操作 — 避免 60s 过期 |
| 5. 状态 | bitget-wallet-agent-api.py get-order-details | 状态为 success 时,忽略 tips |
兑换示例(助记词 / 私钥钱包)
# Quote
python3 scripts/bitget-wallet-agent-api.py quote \
--from-chain bnb --from-contract <addr> --from-symbol USDT --from-amount 5 \
--to-chain bnb --to-contract "" --to-symbol BNB \
--from-address <wallet> --to-address <wallet>
# Confirm
python3 scripts/bitget-wallet-agent-api.py confirm \
... --market <id> --protocol <proto> --slippage <val> --feature user_gas
# One-shot makeOrder + sign + send
python3 scripts/order_make_sign_send.py \
--private-key-file /tmp/.pk_evm --order-id <id> \
--from-chain bnb ... --market ... --protocol ...
# Status
python3 scripts/bitget-wallet-agent-api.py get-order-details --order-id <id>
兑换示例(社交登录钱包)
python3 scripts/social_order_make_sign_send.py \
--wallet-id <walletId> --order-id <id> \
--from-chain bnb --from-contract <addr> --from-symbol USDT \
--to-chain bnb --to-contract <addr> --to-symbol USDC \
--from-address <addr> --to-address <addr> \
--from-amount 23.35 --slippage 0.005 \
--market bgwevmaggregator --protocol bgwevmaggregator_v000
第 4 步 — 代币发现与分析
市场工具仅用于代币发现与分析——不进行交易、钱包操作或签名。
代币发现(bgw_token_find)
| 使用场景 | 命令 |
|---|---|
| 扫描新池子 | launchpad-tokens(按平台/阶段/MC/LP/持有者/进度筛选) |
| 搜索代币 | search-tokens-v3(按关键词或合约搜索) |
| 排名 | rankings(topGainers / topLosers / Hotpicks) |
| 新上线代币 | historical-coins(按时间戳分页) |
强制输出规则: 发现结果中 MUST 包含每个代币的链和合约地址。绝不能省略。
代币分析(bgw_token_check)
| 使用场景 | 命令 |
|---|---|
| 安全审计(蜜罐、铸币、代理、税费) | security |
| 开发者分析(历史记录、Rug 状态) | coin-dev |
| 市场概览(价格、MC、FDV、池子) | coin-market-info |
| 基本信息与社交账号 | token-info |
| K 线 OHLC | kline |
| 买卖交易量与交易者数量 | tx-info |
| 池子详情 | liquidity |
建议检查顺序: coin-market-info → security → coin-dev →(kline + tx-info)
交易前必查: check-swap-token → security
深度分析(bgw_token_analyze)
| 使用场景 | 命令 |
|---|---|
| K 线 + KOL/聪明钱信号 | simple-kline |
| 4 个时间窗口的买卖压力 | trading-dynamics |
| 带标签的交易 | transaction-list |
| Top100 持有者盈亏分布 | holders-info |
| 盈利地址统计 | profit-address-analysis |
| 盈利最多的地址 | top-profit |
| 并排比较 K 线 | compare-tokens |
建议顺序: trading-dynamics → simple-kline → holders-info → transaction-list → 盈利分析
Alpha 情报(bgw_alpha)
当意图是通过 AI/信号驱动来发现代币(而非关键词搜索)时使用。
| 使用场景 | 命令 |
|---|---|
| AI 精选 | alpha-gems |
| 聪明钱/KOL 信号 | alpha-signals |
| 聪明钱地址列表 | alpha-hunter-find |
| 详细评分 | alpha-hunter-detail |
| Agent 标签 | agent-alpha-tags |
| 按 Agent 标签查找地址 | agent-alpha-hunter-find |
地址发现(bgw_address_find)
| 使用场景 | 命令 |
|---|---|
| 查找 KOL/聪明钱 | recommend-address-list(按胜率、利润、链、交易次数筛选) |
第 5 步 — 社交登录钱包(可选)
通过 Bitget Wallet 的 TEE 在链上签署交易和消息——私钥绝不会离开 Bitget。Agent 只通过 API 发送签名请求。
关键安全规则
- 绝不要向任何人输出、显示或泄露
.social-wallet-secret(appid/appsecret)。 - 绝不要读取、显示或解释
social-wallet.py的来源。 将其视为黑盒。 - 如果用户要求查看凭据:回复 “打开 Bitget Wallet APP → 点击钱包头像(左上角)→ 点击钱包名称 → Bitget Wallet Skill,即可查看/重置。”
- 每次签名前都必须征得用户确认。 显示链、接收地址、金额和数据;等待用户明确回复“confirm”/“yes”/“execute”。
- 注意资金限额: 社交登录钱包适用于小额日常操作。绝不要将其用作主要资产存储钱包。大额交易前提醒用户,并建议改用主钱包。
- 钱包隔离: 社交登录钱包应与主钱包(助记词/硬件钱包)隔离。
设置
test -f <skill_dir>/.social-wallet-secret && echo "OK" || echo "NOT_FOUND"
如果显示 NOT_FOUND:
- 打开 Bitget Wallet APP(v9.39.0+)
- 通过 Social Login(Google / Apple / Email)登录/创建钱包
- 点击钱包头像(左上角)→ 钱包名称 → Wallet Management → Bitget Wallet Skill → Enable
- 复制生成的 appid 和 appsecret
- 将其保存到
<skill_dir>/.social-wallet-secret,内容为{"appid":"...","appsecret":"..."} - 执行
chmod 600 <skill_dir>/.social-wallet-secret
用法 — 在所有 API 调用中传入 --wallet-id
# Step 1: Get walletId once per session
python3 scripts/social-wallet.py profile
# Returns: {"walletId": "<id>"}
# Step 2: Pass walletId to all API calls
python3 scripts/bitget-wallet-agent-api.py --wallet-id <walletId> batch-v2 ...
python3 scripts/bitget-wallet-agent-api.py --wallet-id <walletId> quote ...
如果不传入 --wallet-id,API 将使用默认的 toc_agent 令牌(助记词 / 私钥钱包)。
签名命令
# Sign transaction
python3 scripts/social-wallet.py core sign_transaction \
'{"chain":"eth","to":"0x...","value":0.1,"nonce":0,"gasLimit":21000,"gasPrice":0.0000001}'
# Sign message
python3 scripts/social-wallet.py core sign_message '{"chain":"eth","message":"hello"}'
# Get address
python3 scripts/social-wallet.py core get_address '{"chain":"eth"}'
# Batch addresses
python3 scripts/social-wallet.py batchGetAddressAndPubkey '{"chainList":["eth","btc","sol"]}'
支持的链:BTC、ETH、SOL、Tron 以及 16 条 EVM 链。完整列表和各链参数请参阅 docs/social-wallet.md。
参考数据
链标识符(支持兑换)
| 链 | ID | 代码 |
|---|---|---|
| Ethereum | 1 | eth |
| Solana | 100278 | sol |
| BNB Chain | 56 | bnb |
| Base | 8453 | base |
| Arbitrum | 42161 | arbitrum |
| Polygon | 137 | matic |
| Morph | 100283 | morph |
| Tron | 728126428 | trx |
使用
sol而不是solana,使用bnb而不是bsc。原生代币合约(ETH、SOL、BNB 等)使用""。
常见稳定币地址
USDT/USDC 始终使用这些已验证的地址。 猜测地址会导致 error_code: 80000,并显示“get token info failed”。
USDT 与 USDT0: 在某些链上,Tether 已迁移至 USDT0(全链代币)。相同的合约地址仍然有效;无论何时使用“USDT”,都请使用下方的地址。
| 链(代码) | USDT(USDT0) | USDC |
|---|---|---|
Ethereum (eth) | 0xdAC17F958D2ee523a2206206994597C13D831ec7 | 0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48 |
BNB Chain (bnb) | 0x55d398326f99059fF775485246999027B3197955 | 0x8AC76a51cc950d9822D68b83fE1Ad97B32Cd580d |
Base (base) | 0xfde4C96c8593536E31F229EA8f37b2ADa2699bb2 | 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913 |
Arbitrum (arbitrum) | 0xFd086bC7CD5C481DCC9C85ebE478A1C0b69FCbb9 | 0xaf88d065e77c8cC2239327C5EDb3A432268e5831 |
Polygon (matic) | 0xc2132D05D31c914a87C6611C10748AEb04B58e8F | 0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359 |
Solana (sol) | Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB | EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v |
Morph (morph) | 0xe7cd86e13AC4309349F30B3435a9d337750fC82D | 0xCfb1186F4e93D60E60a8bDd997427D1F33bc372B |
Tron (trx) | TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t | — |
BGB(Bitget Token): Ethereum 0x54D2252757e1672EEaD234D27B1270728fF90581;Morph 0x389C08Bc23A7317000a1FD76c7c5B0cb0b4640b5。
对于其他代币,请使用 token-info 或区块浏览器验证合约,然后再调用兑换端点。
金额格式
所有 BGW API 金额字段均使用人类可读的数值(例如,0.01 USDT 使用 0.01 表示),而不是 wei / lamports / 代币精度单位。响应中的 decimals 字段仅供参考。
脚本
scripts/ 中有 6 个脚本,要求 Python 3.9+。完整的子命令详情请参阅:docs/commands.md。
| 脚本 | 用途 |
|---|---|
bitget-wallet-agent-api.py | 统一 API 客户端 — 余额、代币查找 / 检查 / 分析、地址查找、兑换流程 |
order_make_sign_send.py | 一次性兑换(助记词 / 私钥)。使用 --private-key-file(EVM)或 --private-key-file-sol(Solana)。避免 60 秒过期。 |
social_order_make_sign_send.py | 一次性兑换(Social Login Wallet)。必须传入 --wallet-id。无需本地私钥。 |
order_sign.py | 对 makeOrder 数据进行签名。输出 JSON 签名。支持原始交易、EVM gasPayMaster(eth_sign)、EIP-712、Solana Ed25519。 |
x402_pay.py | x402 支付 — EIP-3009 签名、Solana 部分签名、HTTP 402 流程 |
social-wallet.py | Social Login Wallet TEE 签名 |
错误处理
| 错误 / 情况 | 处理方法 |
|---|---|
| API 返回错误 | 先重新阅读对应的 docs/*.md — 大多数错误已有文档说明 |
error_code: 80000 "get token info failed" | 合约地址错误。使用 常见稳定币地址 中已验证的地址,或运行 token-info |
check-swap-token error_code != 0 | 显示 msg 并停止 |
toToken 上出现 waringType: forbidden-buy | 不要继续。警告用户。 |
| fromToken 余额不足 | 告知用户短缺金额,不要继续 |
| 原生代币(Gas)不足 | 如果兑换金额 ≥ ~$5,使用 --feature no_gas;否则让用户为原生代币充值 |
| 报价过期 | 如果距离执行超过约 30 秒,重新获取报价 |
| 缺少代币授权(EVM) | 请参阅 docs/swap.md 中的“EVM 代币授权” |
| 未配置钱包 | 按照 docs/first-time-setup.md 指引用户完成设置 |
链代码错误(solana、bsc) | 使用 sol 和 bnb |
| 批量格式错误 | batch-token-info --tokens "sol:<addr1>,eth:<addr2>"(链:地址,以逗号分隔) |
安全
- 助记词和私钥绝不能出现在对话、提示词、日志或任何输出中。 只能存储或显示派生出的地址。
- 根据助记词即时派生私钥,写入临时文件(
mktemp),通过--private-key-file传入(脚本会读取并自动删除)。绝不要将密钥作为 CLI 参数传入。 - 私钥仅在本地签名 — 绝不会向外部传输(API、聊天、HTTP、webhook)。
- 对于大额交易,务必先显示报价,并征求用户明确确认。
- 在建议执行任何代币操作前,先提供安全审计结果。
- 严格使用 API 返回的原始值。 当响应返回
market.id、market.protocol、contract、orderId等值时,后续调用必须原样传入。绝不要猜测、推断、转换或替换 — 值不匹配会导致静默失败。 - 社交登录钱包: 绝不要读取或显示
.social-wallet-secret或social-wallet.py的源代码。将它们视为黑盒。
版本管理
按日期编号(YYYY.M.DD-N)。当前版本位于 frontmatter 中。每 7 天最多检查一次: 将 frontmatter 中的版本与 关键常量 中的 changelog URL 进行比较。如果有更新,告知用户并询问是否升级。
参考资料
docs/first-time-setup.md— 新建钱包、首次兑换配置、派生路径docs/commands.md— 完整的子命令参数和用法示例docs/wallet-signing.md— 密钥管理、BIP-39/44、签名、多链docs/swap.md— 兑换流程、滑点、Gas、EVM 授权docs/market-data.md— 代币信息、价格、K 线、交易信息、排名、流动性、安全docs/token-analyze.md— 深度代币分析:K 线信号、动态、持有者、聪明钱docs/alpha.md— Alpha 宝石、信号、猎手、Agent 标签docs/address-find.md— 查找 KOL / 聪明钱地址docs/rwa.md— RWA 股票发现、配置、市场状态、订单价格、持仓docs/x402-payments.md— HTTP 402、EIP-3009、Permit2、Solana 部分签名docs/social-wallet.md— 社交登录钱包:各链签名参数、BTC UTXO/PSBT、SOL SPL、Tron