bitget-wallet について
bitget-wallet は、Bitget Wallet のマルチチェーン暗号資産ウォレットを扱う Agent Skill です。トークンの発見・分析、ウォレット署名、手順に沿ったスワップをまとめて支援します。
主な機能
- 01マルチチェーン残高照会とスワップ
- 02トークン発見・市場・セキュリティ分析
- 03スマートマネー情報とアドレス検索
- 04Social Login ウォレット署名
- 05RWA 株式取引と x402 決済
活用シーン
- 01スワップ前の残高・ガス・トークンリスク確認
- 02新規トークンや保有者、取引動向の調査
- 03スマートマネー情報を使ったアドレス選定
- 04Social Login Wallet による取引署名
インストール
コマンドをコピーしてターミナルで実行します。
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 Skill
Bitget Wallet は、残高、スワップ、マーケットデータ、トークン分析、RWA 株式取引、Social Login 署名のための統合 API を備えた マルチチェーン暗号資産ウォレットです。取引は quote → confirm → makeOrder → sign → send のフローで実行され、マーケットおよび分析ツールがこれに並んで、トークンの発見、セキュリティ監査、スマートマネーインテリジェンスを提供します。
主要な定数
常にこれらの正確な値を使用してください。推測したり、別の値で代用したりしないでください。
| 定数 | 値 |
|---|---|
| API ベース URL | https://copenapi.bgwapi.io |
| 認証方式 | トークン(API キー不要) |
| ネイティブトークンのコントラクト | ""(空文字列 — 決して 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 |
| スワップ前の残高 + ガスチェック | bitget-wallet-agent-api.py batch-v2(ネイティブ用に "" を含める) |
| スワップ前のトークンリスク監査 | bitget-wallet-agent-api.py check-swap-token |
| スワップクォートの取得 | bitget-wallet-agent-api.py quote |
| スワップの確認(スリッページ、ガスモード) | 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-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が存在することを確認してください。 - ウォレットに入金済みですか? from トークンとネイティブトークン(
"")の両方について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 |
| アルファインテリジェンス | 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 とネイティブトークン(ガス用)があることを確認します。
python3 scripts/bitget-wallet-agent-api.py batch-v2 \
--chain <fromChain> --address <wallet> \
--contract "" --contract <fromContract>
fromToken balance < fromAmount の場合 → 不足額をユーザーに伝え、停止します。
ガスモードの決定:
| ネイティブ残高 | 使用するもの | 備考 |
|---|---|---|
| ガスに十分 | --feature user_gas | 推奨 |
| ほぼゼロ | --feature no_gas | ガスレス。スワップ額が約 5 ドル以上必要です。それ未満の場合、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 を確認してください |
| 3. ユーザーの確認 | — | ユーザーが明示的に「確認」「実行」「はい」と言うまで署名しないでください |
| 4. makeOrder + 署名 + 送信 | order_make_sign_send.py(ニーモニック)または social_order_make_sign_send.py(ソーシャルログイン) | アトミック — 60 秒の有効期限切れを回避 |
| 5. ステータス | bitget-wallet-agent-api.py get-order-details | status = 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-line OHLC | kline |
| 売買出来高 + トレーダー数 | tx-info |
| プール詳細 | liquidity |
推奨チェック順序: coin-market-info → security → coin-dev → (kline + tx-info)
取引前の必須項目: check-swap-token → security
詳細分析 (bgw_token_analyze)
| ユースケース | コマンド |
|---|---|
| K-line + KOL/スマートマネーシグナル | simple-kline |
| 4ウィンドウの買い/売り圧力 | trading-dynamics |
| タグ付きトランザクション | transaction-list |
| Top100 保有者 PnL 分布 | holders-info |
| 収益アドレス統計 | profit-address-analysis |
| 収益上位アドレス | top-profit |
| K-line の並列比較 | compare-tokens |
推奨順序: trading-dynamics → simple-kline → holders-info → transaction-list → 収益分析
アルファインテリジェンス (bgw_alpha)
意図が (キーワード検索ではなく) AI/シグナル駆動の検出である場合に使用します。
| ユースケース | コマンド |
|---|---|
| AI がキュレーションしたピック | alpha-gems |
| スマートマネー / KOL シグナル | alpha-signals |
| スマートマネーアドレスリスト | alpha-hunter-find |
| 詳細スコアリング | alpha-hunter-detail |
| エージェントタグラベル | agent-alpha-tags |
| エージェントタグでアドレスを検索 | agent-alpha-hunter-find |
アドレスの検出 (bgw_address_find)
| ユースケース | コマンド |
|---|---|
| KOL / スマートマネーを検索 | recommend-address-list (勝率、利益、チェーン、取引回数でフィルタ) |
ステップ 5 — ソーシャルログインウォレット (任意)
Bitget Wallet の TEE を介してオンチェーンでトランザクションとメッセージに署名します — 秘密鍵が Bitget から出ることはありません。エージェントは 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 以降) を開く
- ソーシャルログイン (Google / Apple / Email) でログイン / ウォレットを作成
- ウォレットのアバター (左上) をタップ → ウォレット名 → ウォレット管理 → Bitget Wallet Skill → 有効化
- 生成された 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 |
solanaではなくsol、bscではなくbnbを使用してください。ネイティブトークンのコントラクト (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 の金額フィールドは、wei / lamports / トークンの decimals ではなく、人間が読める値 (例: 0.01 USDT の場合は 0.01) を使用します。レスポンスの 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 | ワンショットスワップ (ソーシャルログインウォレット)。--wallet-id が必須。ローカル秘密鍵は不要。 |
order_sign.py | makeOrder データに署名します。JSON 署名を出力します。raw tx、EVM gasPayMaster (eth_sign)、EIP-712、Solana Ed25519 をサポート。 |
x402_pay.py | x402 支払い — EIP-3009 署名、Solana 部分署名、HTTP 402 フロー |
social-wallet.py | ソーシャルログインウォレットの TEE 署名 |
エラー処理
| エラー / 状況 | 対処方法 |
|---|---|
| API がエラーを返す | まず対応する docs/*.md を再読してください — ほとんどのエラーはすでに文書化されています |
error_code: 80000 "get token info failed" | コントラクトアドレスが間違っています。Common Stablecoin Addresses にある検証済みのアドレスを使用するか、token-info を実行してください |
check-swap-token の error_code != 0 | msg を表示して停止してください |
toToken で waringType: forbidden-buy | 続行しないでください。ユーザーに警告してください。 |
| fromToken の残高不足 | 不足額をユーザーに伝え、続行しないでください |
| ネイティブトークン(ガス)の不足 | スワップが約 $5 以上の場合、--feature no_gas を使用してください。それ以外の場合はユーザーにネイティブトークンを入金してもらってください |
| 古いクォート | 実行までに約 30 秒以上ある場合は再クォートしてください |
| トークンの承認が不足している(EVM) | docs/swap.md の「EVM Token Approval」を参照してください |
| ウォレットが設定されていない | docs/first-time-setup.md を使ってユーザーを案内してください |
チェーンコードが間違っている(solana、bsc) | sol と bnb を使用してください |
| バッチ形式が間違っている | batch-token-info --tokens "sol:<addr1>,eth:<addr2>"(chain:address、カンマ区切り) |
セキュリティ
- ニーモニックと秘密鍵は、会話、プロンプト、ログ、その他いかなる出力にも絶対に含めてはなりません。 保存または表示してよいのは、派生したアドレスのみです。
- ニーモニックから秘密鍵をオンザフライで派生し、一時ファイル(
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 日に最大 1 回だけ確認してください: frontmatter のバージョンと Key Constants にある変更履歴 URL を比較します。より新しい場合は、ユーザーに通知してアップグレードを依頼してください。
リファレンス
docs/first-time-setup.md— 新しいウォレットの作成、初回スワップ設定、派生パスdocs/commands.md— 全サブコマンドのパラメーターと使用例docs/wallet-signing.md— 鍵管理、BIP-39/44、署名、マルチチェーンdocs/swap.md— スワップフロー、スリッページ、ガス、EVM 承認docs/market-data.md— トークン情報、価格、K ライン、tx 情報、ランキング、流動性、セキュリティdocs/token-analyze.md— 詳細なトークン分析:K ラインシグナル、動向、保有者、スマートマネーdocs/alpha.md— Alpha ジェム、シグナル、ハンター、エージェントタグ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