btc について
btc は、Bitcoin L1 の残高、手数料、UTXO、インスクリプションの確認や送金を行うコマンドラインスキルです。Bitcoin アドレスやウォレットを扱うユーザー向けで、送金時はインスクリプションやルーンを避けるため、cardinal UTXO を標準で使用します。
主な機能
- 01総残高・確定・未確定残高の確認
- 02現在の Bitcoin 手数料の取得
- 03アドレスの UTXO 一覧と分類
- 04アドレスが保有するインスクリプションの確認
- 05cardinal UTXO を標準使用する送金
活用シーン
- 01ウォレットなしでアドレス残高を確認
- 02BTC 送金前に手数料を比較
- 03cardinal・ordinal・rune UTXO を分類
- 04インスクリプションを含む UTXO を避けて送金
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ aibtcdev/ skills --skill btcインストール後、Claude Code で/btcを入力して読み込まれたか確認します。
同梱ファイルAGENT.mdbtc.ts
詳細
BTC スキル
mempool.space(無料、認証不要)と Unisat API(メインネットとテストネットの両方で、インスクリプション/ルーン/カーディナル UTXO を分類)を使用して、Bitcoin L1 の操作を行います。送金操作にはロック解除済みのウォレットが必要です。残高と手数料の照会にはウォレットは不要です。
UTXO 分類コマンドには、環境変数 UNISAT_API_KEY が必要です。
使い方
bun run btc/btc.ts <subcommand> [options]
サブコマンド
balance
Bitcoin アドレスの BTC 残高を取得します。合計、確認済み、未確認の残高を返します。
bun run btc/btc.ts balance [--address <addr>]
オプション:
--address(任意)— 確認する Bitcoin アドレス(省略時はアクティブなウォレットの btcAddress を使用します)
出力:
{
"address": "bc1q...",
"network": "mainnet",
"balance": { "satoshis": 500000, "btc": "0.005 BTC" },
"confirmed": { "satoshis": 500000, "btc": "0.005 BTC" },
"unconfirmed": { "satoshis": 0, "btc": "0 BTC" },
"utxoCount": 2,
"explorerUrl": "https://mempool.space/address/bc1q..."
}
fees
確認目標ごとの現在の Bitcoin 手数料見積もりを取得します。
bun run btc/btc.ts fees
出力:
{
"network": "mainnet",
"fees": {
"fast": { "satPerVb": 15, "target": "~10 minutes (next block)" },
"medium": { "satPerVb": 8, "target": "~30 minutes" },
"slow": { "satPerVb": 3, "target": "~1 hour" }
},
"economy": { "satPerVb": 1, "target": "~24 hours" },
"minimum": { "satPerVb": 1, "target": "minimum relay fee" },
"unit": "sat/vB"
}
utxos
Bitcoin アドレスのすべての UTXO(未使用トランザクション出力)を一覧表示します。
bun run btc/btc.ts utxos [--address <addr>] [--confirmed-only]
オプション:
--address(任意)— 確認する Bitcoin アドレス(省略時はアクティブなウォレットを使用します)--confirmed-only(フラグ)— 確認済みの UTXO のみを返します
transfer
受取人のアドレスに BTC を送金します。BTC 残高のあるロック解除済みのウォレットが必要です。
デフォルトでは、カーディナル UTXO のみを使用します(インスクリプションやルーンがなく、安全に使用できます)。--include-ordinals を設定すると、すべての UTXO を使用できます(上級者向けのみ — 警告:価値のあるインスクリプションやルーンを破損する可能性があります)。
bun run btc/btc.ts transfer --recipient <addr> --amount <satoshis> [--fee-rate fast|medium|slow|<number>] [--include-ordinals]
オプション:
--recipient(必須)— 送金先の Bitcoin アドレス--amount(必須)— サトシ単位の金額(1 BTC = 100,000,000 サトシ)--fee-rate(任意)—fast、medium、slow、または sat/vB 単位の数値(デフォルト:medium)--include-ordinals(フラグ)— すべての UTXO を含めます(警告:インスクリプションやルーンを破損する可能性があります!)
get-cardinal-utxos
カーディナル UTXO を取得します(インスクリプションやルーンがなく、安全に使用できます)。
bun run btc/btc.ts get-cardinal-utxos [--address <addr>] [--confirmed-only]
オプション:
--address(任意)— 確認する Bitcoin アドレス(省略時はアクティブなウォレットを使用します)--confirmed-only(フラグ)— 確認済みの UTXO のみを返します
get-ordinal-utxos
オーディナル UTXO を取得します(インスクリプションを含むため、通常の送金では使用しないでください)。
bun run btc/btc.ts get-ordinal-utxos [--address <addr>] [--confirmed-only]
オプション:
--address(任意)— 確認する Bitcoin アドレス(省略時はアクティブなウォレットを使用します)--confirmed-only(フラグ)— 確認済みの UTXO のみを返します
get-rune-utxos
ルーン UTXO を取得します(ルーン残高を含むため、通常の送金では使用しないでください)。
bun run btc/btc.ts get-rune-utxos [--address <addr>] [--confirmed-only]
オプション:
--address(任意)— 確認する Bitcoin アドレス(省略時はアクティブなウォレットを使用します)--confirmed-only(フラグ)— 確認済みの UTXO のみを返します
get-inscriptions
Unisat API を使用して、Bitcoin アドレスが所有するすべてのインスクリプションを取得します。
bun run btc/btc.ts get-inscriptions [--address <addr>]
オプション:
--address(任意)— 確認する Bitcoin アドレス(省略時はアクティブなウォレットを使用します)
出力:
{
"address": "bc1q...",
"network": "mainnet",
"inscriptions": [
{
"id": "abc123...i0",
"number": 12345,
"contentType": "text/plain",
"contentLength": 42,
"output": "abc123...:0",
"location": "abc123...:0:0",
"offset": 0,
"outputValue": 546,
"genesis": {
"txid": "abc123...",
"timestamp": "2024-01-01T00:00:00.000Z"
}
}
],
"summary": { "count": 1, "contentTypes": ["text/plain"] },
"explorerUrl": "https://mempool.space/address/bc1q..."
}
注意事項
- すべての手数料照会では、公開 mempool.space API を使用します(認証不要)
- UTXO の分類(カーディナル/オーディナル/ルーン)には Unisat API を使用し、メインネットとテストネットの両方で利用できます
transferはデフォルトで安全です — インスクリプションやルーンを含む UTXO は使用しません- ウォレット操作にはロック解除済みのウォレットが必要です(最初に
bun run wallet/wallet.ts unlockを使用してください) - Unisat API にアクセスするには、環境変数
UNISAT_API_KEYを設定してください