🚀 Lightning Wallet
AIエージェントにBitcoinウォレットを提供します。MCPサーバーとCLIを備え、Claude Code、OpenClaw、Cursor、その他のエージェントフレームワークと互換性があります。
🚀 クイックスタート
このパッケージを使用することで、AIエージェントにBitcoinウォレットを提供できます。以下の手順に従って、ウォレットを設定し、利用を開始しましょう。
✨ 主な機能
- 即時決済:Lightning Networkを利用した取引は、ミリ秒単位で決済されます。
- L402 + X402プロトコルサポート:有料APIに自動的にアクセスできます(LightningまたはUSDC)。
- オペレーター/エージェント階層:支出制限を設定して、複数のエージェントを管理できます。
- 預託リスクなし:各エージェントは独立した資金を持ち、オペレーターが監視できます。
- 本番環境対応:実際の取引をサポートする堅牢なインフラストラクチャを備えています。
- Webhook通知:支払いが到着したときに即時通知を受け取れます。
- 完全な可視性:分析、エクスポート、詳細なステータス追跡が可能です。
📦 インストール
無料Satsプロモーション
最初の10人のAIエージェントがインストールすると、100Sats無料で提供します!
npm i -g lightning-wallet-mcp
lw register --name "YourAgent"
lw deposit 100
- このツイートにbolt11請求書文字列を返信してください。
請求書は暗号学的に検証され、自動的に支払われます。信頼は必要ありません — 請求書内の宛先公開鍵がlwからのものであることを証明します。10名までの参加枠です。
CLI(任意のエージェントフレームワーク)
CLIを中心に使用するエージェント(OpenClaw、Pi、KiloCode、またはBashアクセスがある任意のエージェント)の場合:
npm install -g lightning-wallet-mcp
これにより、lwコマンドがインストールされます:
export LIGHTNING_WALLET_API_KEY=$(lw register --name "My Bot" | jq -r '.api_key')
lw balance | jq '.balance_sats'
lw pay-api "https://lightningfaucet.com/api/l402/fortune"
lw create-agent "Research Bot" --budget 5000
lw fund-agent 1 1000
lw whoami
出力はデフォルトでJSON形式です(jqにパイプして使用)。読みやすい出力を得るには--humanを使用します。
すべてのコマンドについてはlw helpを実行してください。
MCPサーバー(Claude Code、Cursor、Windsurf)
MCPネイティブクライアントの場合、MCPサーバーとして設定します:
オプションA:自己登録
{
"mcpServers": {
"lightning-wallet": {
"command": "npx",
"args": ["lightning-wallet-mcp"]
}
}
}
その後、Claudeに "新しいLightning Walletオペレーターアカウントを登録する" と尋ねます。
オプションB:事前設定済みのAPIキー
- lightningfaucet.com/ai-agentsでAPIキーを取得します。
- Claude Code(
~/.claude/settings.json)を設定します:
{
"mcpServers": {
"lightning-wallet": {
"command": "npx",
"args": ["lightning-wallet-mcp"],
"env": {
"LIGHTNING_WALLET_API_KEY": "your-api-key-here"
}
}
}
}
💻 使用例
エージェントワークフローの例(Bash)
export LIGHTNING_WALLET_API_KEY=$(lw register --name "My Agent" | jq -r '.api_key')
lw deposit 10000 | jq -r '.bolt11'
AGENT=$(lw create-agent "Worker" --budget 5000)
AGENT_ID=$(echo $AGENT | jq -r '.agent_id')
AGENT_KEY=$(echo $AGENT | jq -r '.agent_api_key')
lw fund-agent $AGENT_ID 2000
export LIGHTNING_WALLET_API_KEY=$AGENT_KEY
lw pay-api "https://api.example.com/data" --max-sats 100
lw transactions --limit 5
完全なワークフローの例
register_operator({ name: "My AI Company" })
set_operator_key({ api_key: "lf_abc..." })
whoami()
get_deposit_invoice({ amount_sats: 10000 })
create_agent({ name: "Research Assistant", budget_limit_sats: 5000 })
fund_agent({ agent_id: 456, amount_sats: 1000 })
register_webhook({
url: "https://your-server.com/webhooks/lightning",
events: ["invoice_paid", "payment_completed"]
})
set_agent_credentials({ api_key: "agent_def..." })
get_budget_status()
pay_l402_api({ url: "https://api.example.com/premium-data" })
Keysend支払い
請求書を必要とせずに、Lightningノードに直接支払いを行います:
keysend({
destination: "03864ef025fde8fb587d989186ce6a4a186895ee44a926bfc370e2c366597a3f8f",
amount_sats: 100,
message: "Hello from my AI agent!"
})
請求書の解読
支払い前に請求書の詳細を確認します:
decode_invoice({ invoice: "lnbc1000n1..." })
📚 ドキュメント
ツールリファレンス
サービス情報
| ツール |
説明 |
get_info |
サービスのステータス、バージョン、およびサポートされている機能を取得します。 |
decode_invoice |
BOLT11請求書を解読して、金額、宛先、および有効期限を確認します。 |
コンテキストとアイデンティティ
| ツール |
説明 |
whoami |
現在のコンテキストを取得します — オペレーターまたはエージェントとして操作しているかを示します。 |
check_balance |
現在のLightning残高をSatsで確認します。 |
get_rate_limits |
現在のレート制限ステータスと残りのリクエスト数を確認します。 |
支払い(エージェントキーが必要)
| ツール |
説明 |
pay_l402_api |
有料API(L402/X402)にアクセスします — プロトコルを自動検出して支払います。 |
pay_invoice |
任意のBOLT11 Lightning請求書を支払います。 |
keysend |
ノードの公開鍵に直接支払いを送信します(請求書は必要ありません)。 |
pay_lightning_address |
Lightningアドレス(user@domain.com形式)に支払います。 |
create_invoice |
支払いを受け取るための請求書を生成します。 |
get_invoice_status |
請求書が支払われたかどうかを確認します。 |
get_transactions |
取引履歴を表示します。 |
LNURL(エージェントキーが必要)
| ツール |
説明 |
lnurl_auth |
LNURL-authプロトコルを使用してサービスに認証します。 |
claim_lnurl_withdraw |
LNURL-withdrawリンクから資金を請求します。 |
オペレーター管理
| ツール |
説明 |
register_operator |
新しいオペレーターアカウントを作成します。 |
recover_account |
回復コードを使用してアカウントを回復します。 |
rotate_api_key |
新しいAPIキーを生成します(引き出しには60分のクールダウンがあります)。 |
get_deposit_invoice |
オペレーターアカウントに資金を提供するための請求書を作成します。 |
withdraw |
外部のLightning宛先に資金を引き出します。 |
set_operator_key |
オペレーターの資格情報に切り替えます。 |
エージェント管理
| ツール |
説明 |
create_agent |
オペレーターの下にエージェントを作成します。 |
list_agents |
オペレーターの下のすべてのエージェントをリストします。 |
fund_agent |
オペレーターからエージェントにSatsを転送します。 |
transfer_to_agent |
エージェント間またはオペレーターからエージェントにSatsを転送します。 |
sweep_agent |
エージェントからオペレーターに資金を回収します。 |
deactivate_agent |
エージェントを一時的に無効にします。 |
reactivate_agent |
無効にしたエージェントを再有効にします。 |
delete_agent |
エージェントを永久に削除します(残高はオペレーターに返還されます)。 |
get_budget_status |
エージェントの予算制限と支出を取得します。 |
set_budget |
エージェントの支出制限を設定または更新します。 |
set_agent_credentials |
エージェントの資格情報に切り替えます。 |
Webhook
| ツール |
説明 |
register_webhook |
イベント通知を受け取るURLを登録します。 |
list_webhooks |
登録されているすべてのWebhookをリストします。 |
delete_webhook |
Webhookを削除します。 |
test_webhook |
Webhookの接続性を確認するためにテストイベントを送信します。 |
Webhookイベント:
invoice_paid - 請求書の支払いを受け取りました。
payment_completed - 送信支払いが成功しました。
payment_failed - 送信支払いが失敗しました。
balance_low - 残高がしきい値を下回りました。
budget_warning - 予算の80%が消費されました。
test - 手動テストイベント
CLIリファレンス
すべてのコマンドはstdoutにJSONを出力します。エラーはstderrに出力され、終了コード1が返されます。
| コマンド |
説明 |
lw register [--name "name"] |
オペレーターアカウントを作成し、APIキーを出力します。 |
lw whoami |
現在のアイデンティティ(オペレーターまたはエージェント) |
lw balance |
Satsでの残高 |
lw info |
サービスのステータスと機能 |
lw deposit <amount> |
入金請求書を生成します。 |
lw withdraw <invoice> |
外部ウォレットに引き出します。 |
lw pay <invoice> |
BOLT11請求書を支払います [--max-fee <sats>] |
lw pay-api <url> |
L402/X402 APIに支払います [--method GET] [--body "{}"] [--max-sats 1000] |
lw decode <invoice> |
BOLT11請求書を解読します。 |
lw create-agent <name> |
エージェントを作成します [--budget <sats>] |
lw fund-agent <id> <amount> |
エージェントにSatsを転送します。 |
lw list-agents |
すべてのエージェントをリストします。 |
lw transactions |
最近の取引 [--limit 10] [--offset 0] |
lw help |
すべてのコマンドを表示します。 |
有料APIプロトコル: L402 + X402
Lightning Wallet MCPは、2つのHTTP 402支払いプロトコルをサポートしています:
- L402(主要) - Lightning Networkを使用した支払い。元のリクエストごとの支払いプロトコルです。
- X402(フォールバック) - Base上のUSDC(Coinbaseのプロトコル)。L402が利用できない場合に自動検出されます。
pay_l402_apiを呼び出すと、サーバーがAPIで使用されているプロトコルを自動検出します。両方のヘッダーが存在する場合、L402が常に優先されます。エージェントはプロトコルに関係なく常にSatsで支払います — X402の金額は市場レートで換算されます。
L402プロトコル
L402プロトコル(旧称LSAT)は、APIがLightningを使用してリクエストごとに料金を請求できるようにします。L402で保護されたエンドポイントを呼び出すと:
- サーバーはLightning請求書とともにHTTP 402を返します。
- Lightning Faucetが請求書を自動的に支払います。
- 請求は支払い済みのコンテンツとともに完了します。
X402プロトコル(Coinbase)
X402は、Base上のUSDCを使用してAPI支払いを行います。このフローはエージェントにとって透過的です:
- サーバーは
PAYMENT-REQUIREDヘッダーとともにHTTP 402を返します。
- Lightning FaucetがUSDCの金額をSatsに換算し、エージェントの残高から引き落とします。
- EIP-712承認を署名し、
PAYMENT-SIGNATUREヘッダーを付けて再試行します。
- 請求は完了します — エージェントはL402と同じレスポンス形式を見ます。
レスポンスにはpayment_protocol: "x402"とusdc_amountが含まれており、エージェントはどのプロトコルが使用されたかを知ることができます。
L402 APIレジストリ
私たちは、L402対応のAPIのディレクトリを**lightningfaucet.com/l402-registry**で管理しています — エージェントのテストに最適です。
デモL402 API
これらのエンドポイントを試して、L402支払いをテストしてみてください:
# おみくじを取得する(約10-50Satsかかります)
pay_l402_api({ url: "https://lightningfaucet.com/api/l402/fortune" })
# ジョークを取得する(約10-50Satsかかります)
pay_l402_api({ url: "https://lightningfaucet.com/api/l402/joke" })
# 励ましの言葉を取得する(約10-50Satsかかります)
pay_l402_api({ url: "https://lightningfaucet.com/api/l402/quote" })
詳細なエンドポイントとリソースについては、L402 APIレジストリを参照してください。
ツールの詳細
get_info
サービスのステータスと機能を取得します。
{
"success": true,
"version": "1.0.1",
"api_version": "1.0",
"status": "operational",
"max_payment_sats": 1000000,
"min_payment_sats": 1,
"supported_features": ["l402", "x402", "webhooks", "lightning_address", "keysend"]
}
whoami
現在の操作コンテキストを取得します。
オペレーターの場合の戻り値:
{
"type": "operator",
"id": 123,
"name": "My Company",
"balance_sats": 50000,
"agent_count": 3
}
エージェントの場合の戻り値:
{
"type": "agent",
"id": 456,
"name": "Research Bot",
"balance_sats": 1000,
"budget_limit_sats": 5000,
"operator_id": 123
}
pay_l402_api
自動支払いで有料APIにアクセスします。L402(Lightning)とX402(Base上のUSDC)の両方のプロトコルをサポートしています。プロトコルは402レスポンスヘッダーから自動検出されます。
| パラメータ |
タイプ |
必須 |
説明 |
| url |
string |
Yes |
リクエストするURL |
| method |
string |
No |
HTTPメソッド(GET、POST、PUT、DELETE)。デフォルト: GET |
| body |
string |
No |
POST/PUTのリクエストボディ |
| max_payment_sats |
number |
No |
最大支払い金額。デフォルト: 1000 |
keysend
請求書を必要とせずにノードに支払いを送信します。
| パラメータ |
タイプ |
必須 |
説明 |
| destination |
string |
Yes |
ターゲットノードの公開鍵(66文字の16進数) |
| amount_sats |
number |
Yes |
Satsでの金額 |
| message |
string |
No |
オプションのメッセージ(最大1000文字) |
register_webhook
支払い通知を受け取るURLを登録します。
| パラメータ |
タイプ |
必須 |
説明 |
| url |
string |
Yes |
Webhookを受け取るHTTPS URL |
| events |
array |
No |
購読するイベントタイプ。デフォルト: ["invoice_paid"] |
戻り値: Webhook IDと署名検証用のHMACシークレット。
🔧 技術詳細
アーキテクチャ
┌─────────────────────────────────────────────────────────┐
│ OPERATOR │
│ • Holds main funds │
│ • Creates and manages agents │
│ • Sets spending limits │
│ • Receives webhook notifications │
│ • Can recover account with recovery code │
├─────────────────────────────────────────────────────────┤
│ AGENT 1 AGENT 2 AGENT 3 │
│ ┌─────────┐ ┌─────────┐ ┌─────────┐ │
│ │ 1000 sat│ │ 5000 sat│ │ 2500 sat│ │
│ │ Budget: │ │ Budget: │ │ Budget: │ │
│ │ 5000 │ │ 10000 │ │ Unlimited│ │
│ └─────────┘ └─────────┘ └─────────┘ │
│ │ │ │ │
│ L402 APIs Keysend Receive │
│ Pay Invoice Payments Payments │
└─────────────────────────────────────────────────────────┘
Webhookのセキュリティ
Webhookには、検証用のHMAC-SHA256署名が含まれています:
import hmac
import hashlib
def verify_webhook(payload, signature, secret):
expected = hmac.new(
secret.encode(),
payload.encode(),
hashlib.sha256
).hexdigest()
return hmac.compare_digest(signature, expected)
ペイロードに対してX-Webhook-Signatureヘッダーを確認してください。
📄 ライセンス
このプロジェクトはMITライセンスの下で公開されています。詳細についてはLICENSEを参照してください。
セキュリティのベストプラクティス
- APIキーを決してコミットしないでください - 環境変数を使用してください。
- 予算制限を設定する - 暴走支出を防ぎます。
- 支払いにはエージェントキーを使用する - オペレーターキーを安全に保管します。
- Webhookの署名を検証する - 登録時に返されるシークレットを使用します。
- 取引を監視する -
get_transactionsを使用してアクティビティを確認します。
- 回復コードを安全に保管する - APIキーが失われた場合に必要です。
- 定期的にキーをローテートする -
rotate_api_keyを使用してキーを定期的にローテートします。
価格設定
Lightning Faucetは、送信支払いに対して2%のプラットフォーム料金(最低1Sats)を請求します:
- L402支払い: 2%のプラットフォーム料金 + Lightningルーティング料金
- X402支払い: 2%のプラットフォーム料金 + 1%の為替スプレッド(USDCからSatsへの換算)
- 請求書支払い: 2%のプラットフォーム料金 + Lightningルーティング料金
- Keysend支払い: 2%のプラットフォーム料金 + Lightningルーティング料金
- オペレーター引き出し: 2%のプラットフォーム料金 + Lightningルーティング料金
- オペレーター間の内部転送: 2%のプラットフォーム料金(ルーティング料金なし)
- 同じオペレーター内のエージェント転送: 無料
- 入金: 無料
- 支払い受け取り: 無料
- Webhook: 無料
すべての支払いレスポンスには、完全な透明性のためにplatform_fee_sats、routing_fee_sats、およびtotal_costが含まれています。
変更履歴
v1.1.0 (2026-02-16)
- CLIインターフェイス: CLIを中心に使用するエージェント(OpenClaw、Pi、KiloCode、任意のBashエージェント)向けの新しい
lwコマンド。
- 同じパッケージ、2つのインターフェイス:
npm install -g lightning-wallet-mcpでMCPサーバーとCLIの両方が利用可能になります。
- JSONを中心とした出力: すべてのCLIコマンドはstdoutにJSONを出力し、エラーはstderrに出力します。
- X402サポート: L402が利用できない場合に自動的にX402(Base上のUSDC)にフォールバックします。
- プロトコル自動検出:
pay_l402_apiが402レスポンスヘッダーからL402またはX402を検出します。
- レスポンスフィールド: X402が使用された場合に
payment_protocolとusdc_amountが含まれます。
- 為替レート: CoinGeckoを通じたリアルタイムのBTC/USD換算(5分キャッシュ)。
v1.0.3 (2026-02-05)
- プラットフォーム料金: すべての送信支払いとオペレーター間転送に対して2%の料金(最低1Sats)。
- 料金の透明性: すべての支払いレスポンスに
platform_fee_sats、routing_fee_sats、およびtotal_costが含まれるようになりました。
- 同じオペレーター内のエージェント転送は無料のままです。
v1.0.0 (2026-02-04)
- 名称変更:
lightning-faucet-mcpからlightning-wallet-mcpにリブランド。
- 環境変数の名称変更:
LIGHTNING_FAUCET_API_KEY → LIGHTNING_WALLET_API_KEY
- すべての37のツールが完全にテストされ、本番環境で使用可能になりました。
- APIには破壊的な変更はありません — パッケージ名のみが変更されました。
以前のリリース(lightning-faucet-mcpとして)
v1.6.0からv2.0.7までの履歴については、lightning-faucet-mcpの変更履歴を参照してください。
展示: AIエージェントのゲーム理論実験
私たちは、Lightning上で実際のBitcoinを使用して、16のAIエージェント(8つのClaude、8つのGPT-4o)を用いた100ラウンドの経済実験を実施しました。エージェントは取引、同盟形成、投資、競争を行うことができました — すべてこのMCPサーバーによってサポートされています。
結果: エージェントは2,839件の実際のLightning取引を完了しました。Claudeエージェントは初期の積極的な取引によって優位を占め、GPT-4oエージェントは保守的な戦略を採用しました。
サポート
Built with Bitcoin | Lightning Faucet