Lightning Faucet MCP Server

ทางการ

มอบกระเป๋าเงิน Bitcoin ที่รองรับการชำระเงินผ่าน Lightning Network ให้กับ AI agents

เอกสาร

Lightning Wallet

npm version License: MIT Glama MCP Server

มอบกระเป๋า Bitcoin ให้กับเอเจนต์ AI ของคุณ เซิร์ฟเวอร์ MCP + CLI ทำงานร่วมกับ Claude Code, OpenClaw, Cursor และเฟรมเวิร์กเอเจนต์ใดๆ

มีอะไรใหม่ใน v1.4

  • เครื่องมือ update_operator / lw set-email - ตั้งค่าอีเมลผู้ดำเนินการจากไคลเอนต์ MCP หรือ CLI; ลิงก์ยืนยันจะถูกส่งไปยังอีเมลของคุณ
  • เครื่องมือ claim_promo / lw claim-promo - รับโปรโมชั่นติดตั้งฟรี sats โดยตรงจากเอเจนต์ของคุณ ข้อกำหนด: อีเมลที่ยืนยันแล้ว + บัญชีผู้ดำเนินการที่มีอายุอย่างน้อย 3 ชั่วโมง
  • get_info ทำงานก่อนการลงทะเบียน - ข้อมูลบริการไม่ต้องใช้คีย์ API อีกต่อไป

ฟรี 100 sats สำหรับผู้ดำเนินการใหม่

  1. lw register --email [email protected] (หรือเครื่องมือ MCP register_operator พร้อมอีเมล)
  2. คลิกลิงก์ยืนยันที่เราส่งทางอีเมล
  3. หลังจากบัญชีของคุณมีอายุ 3 ชั่วโมง: lw claim-promo (หรือเครื่องมือ MCP claim_promo)

หนึ่งโบนัสต่อผู้ดำเนินการหนึ่งคน เฉพาะ 100 การติดตั้งแรกเท่านั้น ไม่ต้องฝากเงิน

มีอะไรใหม่ใน v1.3

v1.3.0 - รองรับ L402 protocol v0 ตามสเปคล่าสุดของ Lightning Labs

  • L402 Protocol v0 - อัปเดตรูปแบบส่วนหัว: version="0", token=, เข้ากันได้ย้อนหลังกับ macaroon=
  • การค้นพบปลายทาง - .well-known/l402.json บน lightningfaucet.com และ certvera.com
  • เข้ากันได้ย้อนหลัง - จัดการรูปแบบส่วนหัว L402 ทั้งเก่าและใหม่จากบริการใดๆ

มีอะไรใหม่ใน v1.1

v1.1.0 - รองรับ X402 protocol (USDC บน Base) เป็นทางเลือกสำรองอัตโนมัติควบคู่กับ L402 (Lightning)

  • รองรับ X402 - ชำระเงิน USDC อัตโนมัติบน Base เมื่อไม่มี L402
  • ตรวจจับโปรโตคอลอัตโนมัติ - pay_l402_api จัดการทั้ง L402 และ X402 ได้อย่างราบรื่น
  • Webhooks - การแจ้งเตือนแบบเรียลไทม์สำหรับการชำระเงินและเหตุการณ์
  • Keysend - ส่งการชำระเงินโดยไม่ต้องมีใบแจ้งหนี้โดยใช้ pubkey ของโหนด
  • ถอดรหัสใบแจ้งหนี้ - ถอดรหัสใบแจ้งหนี้ BOLT11 ก่อนชำระเงิน
  • การวิเคราะห์เอเจนต์ - ติดตามรูปแบบการใช้จ่ายและการใช้งาน
  • ส่งออกธุรกรรม - ส่งออกประวัติในรูปแบบ JSON หรือ CSV
  • การจัดการงบประมาณ - ดูสถานะงบประมาณโดยละเอียดและตั้งค่าขีดจำกัด
  • วงจรชีวิตเอเจนต์ - ปิดใช้งาน เปิดใช้งานใหม่ และลบเอเจนต์
  • กู้คืนบัญชี - กู้คืนบัญชีและหมุนเวียนคีย์ API
  • โอนระหว่างเอเจนต์ - ย้ายเงินระหว่างเอเจนต์ของคุณ

ทำไมต้อง Lightning Wallet MCP?

  • ชำระเงินทันที - ธุรกรรม Lightning Network เสร็จสิ้นในหน่วยมิลลิวินาที
  • รองรับ L402 + X402 Protocol - เข้าถึง API แบบชำระเงินใดๆ โดยอัตโนมัติ (Lightning หรือ USDC)
  • ลำดับชั้นผู้ดำเนินการ/เอเจนต์ - จัดการหลายเอเจนต์พร้อมขีดจำกัดการใช้จ่าย
  • ไม่มีความเสี่ยงจากการฝากทรัพย์สิน - แต่ละเอเจนต์มีเงินแยกต่างหากภายใต้การดูแลของผู้ดำเนินการ
  • พร้อมสำหรับการใช้งานจริง - โครงสร้างพื้นฐานที่ผ่านการทดสอบอย่างหนัก ขับเคลื่อนธุรกรรมจริง
  • การแจ้งเตือนผ่าน Webhook - รับการแจ้งเตือนทันทีเมื่อมีการชำระเงินเข้ามา
  • การตรวจสอบได้เต็มรูปแบบ - การวิเคราะห์ การส่งออก และการติดตามสถานะโดยละเอียด

สองวิธีในการใช้งาน

CLI (เฟรมเวิร์กเอเจนต์ใดๆ)

สำหรับเอเจนต์ที่ใช้ CLI เป็นหลัก (OpenClaw, Pi, KiloCode หรือเอเจนต์ใดๆ ที่เข้าถึง Bash ได้):

npm install -g lightning-wallet-mcp

สิ่งนี้จะติดตั้งคำสั่ง lw:

# Register and save your API key
export LIGHTNING_WALLET_API_KEY=$(lw register --name "My Bot" | jq -r '.api_key')

# Check balance
lw balance | jq '.balance_sats'

# Pay an L402 API
lw pay-api "https://lightningfaucet.com/api/l402/fortune"

# Create and fund an agent
lw create-agent "Research Bot" --budget 5000
lw fund-agent 1 1000

# Check identity
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: "Register a new Lightning Wallet operator account"

ตัวเลือก B: คีย์ API ที่กำหนดค่าไว้ล่วงหน้า

  1. รับคีย์ API ที่ lightningfaucet.com/ai-agents
  2. กำหนดค่า Claude Code (~/.claude/settings.json):
{
  "mcpServers": {
    "lightning-wallet": {
      "command": "npx",
      "args": ["lightning-wallet-mcp"],
      "env": {
        "LIGHTNING_WALLET_API_KEY": "your-api-key-here"
      }
    }
  }
}

การอ้างอิงเครื่องมือ

ข้อมูลบริการ

เครื่องมือคำอธิบาย
get_infoรับสถานะบริการ เวอร์ชัน และคุณสมบัติที่รองรับ
decode_invoiceถอดรหัสใบแจ้งหนี้ BOLT11 เพื่อดูจำนวนเงิน ปลายทาง และวันหมดอายุ

บริบทและข้อมูลประจำตัว

เครื่องมือคำอธิบาย
whoamiรับบริบทปัจจุบัน - แสดงว่ากำลังดำเนินการในฐานะผู้ดำเนินการหรือเอเจนต์
check_balanceตรวจสอบยอดคงเหลือ Lightning ปัจจุบันในหน่วย satoshis
get_rate_limitsตรวจสอบสถานะขีดจำกัดอัตราปัจจุบันและคำขอที่เหลืออยู่

การชำระเงิน (ต้องใช้คีย์เอเจนต์)

เครื่องมือคำอธิบาย
pay_l402_apiเข้าถึง API แบบชำระเงิน (L402/X402) - ตรวจจับโปรโตคอลอัตโนมัติและชำระเงิน
pay_invoiceชำระใบแจ้งหนี้ Lightning BOLT11 ใดๆ
keysendส่งการชำระเงินโดยตรงไปยัง pubkey ของโหนด (ไม่ต้องมีใบแจ้งหนี้)
pay_lightning_addressชำระเงินไปยัง Lightning address (รูปแบบ [email protected])
create_invoiceสร้างใบแจ้งหนี้เพื่อรับการชำระเงิน
get_invoice_statusตรวจสอบว่าใบแจ้งหนี้ได้รับการชำระเงินแล้วหรือไม่
get_transactionsดูประวัติธุรกรรม

LNURL (ต้องใช้คีย์เอเจนต์)

เครื่องมือคำอธิบาย
lnurl_authรับรองความถูกต้องกับบริการโดยใช้ LNURL-auth protocol
claim_lnurl_withdrawรับเงินจากลิงก์ LNURL-withdraw

การจัดการผู้ดำเนินการ

เครื่องมือคำอธิบาย
register_operatorสร้างบัญชีผู้ดำเนินการใหม่
recover_accountกู้คืนบัญชีโดยใช้รหัสกู้คืน
rotate_api_keyสร้างคีย์ API ใหม่ (คูลดาวน์ 60 นาทีสำหรับการถอน)
get_deposit_invoiceสร้างใบแจ้งหนี้เพื่อเติมเงินเข้าบัญชีผู้ดำเนินการ
withdrawถอนเงินไปยังปลายทาง Lightning ภายนอก
set_operator_keyสลับไปใช้ข้อมูลประจำตัวผู้ดำเนินการ
  • update_operator - ตั้งค่าอีเมลผู้ดำเนินการ (ส่งลิงก์ยืนยัน) และ/หรือชื่อ
  • claim_promo - รับโปรโมชั่นติดตั้งฟรี sats (อีเมลที่ยืนยันแล้ว + บัญชี 3 ชั่วโมง)

การจัดการเอเจนต์

เครื่องมือคำอธิบาย
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สลับไปใช้ข้อมูลประจำตัวเอเจนต์

Webhooks

เครื่องมือคำอธิบาย
register_webhookลงทะเบียน URL เพื่อรับการแจ้งเตือนเหตุการณ์
list_webhooksแสดงรายการ webhooks ที่ลงทะเบียนทั้งหมด
delete_webhookลบ webhook
test_webhookส่งเหตุการณ์ทดสอบเพื่อตรวจสอบการเชื่อมต่อ webhook

เหตุการณ์ Webhook:

  • invoice_paid - ได้รับการชำระเงินบนใบแจ้งหนี้
  • payment_completed - การชำระเงินขาออกสำเร็จ
  • payment_failed - การชำระเงินขาออกล้มเหลว
  • balance_low - ยอดคงเหลือลดลงต่ำกว่าเกณฑ์
  • budget_warning - ใช้ไป 80% ของงบประมาณ
  • test - เหตุการณ์ทดสอบด้วยตนเอง

การอ้างอิง CLI

คำสั่งทั้งหมดส่งออก JSON ไปยัง stdout ข้อผิดพลาดไปยัง stderr พร้อมรหัสออก 1

คำสั่งคำอธิบาย
lw register [--name "name"]สร้างบัญชีผู้ดำเนินการ พิมพ์คีย์ API
lw whoamiข้อมูลประจำตัวปัจจุบัน (ผู้ดำเนินการหรือเอเจนต์)
lw balanceยอดคงเหลือใน satoshis
lw infoสถานะบริการและความสามารถ
lw deposit <amount>สร้างใบแจ้งหนี้การฝากเงิน
lw withdraw <invoice>ถอนไปยังกระเป๋าเงินภายนอก
lw pay <invoice>ชำระใบแจ้งหนี้ BOLT11 [--max-fee <sats>]
lw pay-api <url>ชำระ API L402/X402 [--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แสดงคำสั่งทั้งหมด

ตัวอย่างเวิร์กโฟลว์เอเจนต์ (Bash)

# 1. Register (one-time)
export LIGHTNING_WALLET_API_KEY=$(lw register --name "My Agent" | jq -r '.api_key')

# 2. Fund the account (pay the invoice with any Lightning wallet)
lw deposit 10000 | jq -r '.bolt11'

# 3. Create an agent with a budget
AGENT=$(lw create-agent "Worker" --budget 5000)
AGENT_ID=$(echo $AGENT | jq -r '.agent_id')
AGENT_KEY=$(echo $AGENT | jq -r '.agent_api_key')

# 4. Fund the agent
lw fund-agent $AGENT_ID 2000

# 5. Switch to agent context and make payments
export LIGHTNING_WALLET_API_KEY=$AGENT_KEY
lw pay-api "https://api.example.com/data" --max-sats 100

# 6. Check what happened
lw transactions --limit 5

โปรโตคอล API แบบชำระเงิน: L402 + X402

Lightning Wallet MCP รองรับโปรโตคอลการชำระเงิน HTTP 402 สองแบบ:

  • L402 (หลัก) - การชำระเงิน Lightning Network โปรโตคอลจ่ายต่อคำขอแบบดั้งเดิม
  • X402 (สำรอง) - USDC บน Base (โปรโตคอลของ Coinbase) ตรวจจับอัตโนมัติเมื่อไม่มี L402

เมื่อคุณเรียก pay_l402_api เซิร์ฟเวอร์จะตรวจจับโดยอัตโนมัติว่า API ใช้โปรโตคอลใด L402 จะมีลำดับความสำคัญก่อนเสมอหากมีส่วนหัวทั้งสอง เอเจนต์จะชำระเป็น sats เสมอไม่ว่าจะใช้โปรโตคอลใด — จำนวน X402 จะถูกแปลงตามอัตราตลาด

L402 Protocol

L402 protocol (เดิมคือ LSAT) ช่วยให้ API สามารถเรียกเก็บเงินต่อคำขอโดยใช้ Lightning เมื่อคุณเรียกปลายทางที่ป้องกันด้วย L402:

  1. เซิร์ฟเวอร์ส่งคืน HTTP 402 พร้อมใบแจ้งหนี้ Lightning
  2. Lightning Faucet ชำระใบแจ้งหนี้โดยอัตโนมัติ
  3. คำขอเสร็จสมบูรณ์ด้วยเนื้อหาที่ชำระเงินแล้ว

X402 Protocol (Coinbase)

X402 ใช้ USDC บน Base สำหรับการชำระเงิน API โฟลว์นี้โปร่งใสต่อเอเจนต์:

  1. เซิร์ฟเวอร์ส่งคืน HTTP 402 พร้อมส่วนหัว PAYMENT-REQUIRED
  2. Lightning Faucet แปลงจำนวน USDC เป็น sats หักจากยอดคงเหลือเอเจนต์
  3. ลงนามการอนุญาต EIP-712 และลองใหม่ด้วยส่วนหัว PAYMENT-SIGNATURE
  4. คำขอเสร็จสมบูรณ์ — เอเจนต์เห็นรูปแบบการตอบกลับเหมือนกับ L402

การตอบกลับรวมถึง payment_protocol: "x402" และ usdc_amount เพื่อให้เอเจนต์ทราบว่าใช้โปรโตคอลใด

ทะเบียน L402 API

เราดูแลไดเรกทอรีของ API ที่เปิดใช้งาน L402 ที่ lightningfaucet.com/l402-registry - เหมาะสำหรับการทดสอบเอเจนต์ของคุณ

L402 API สาธิต

ลองใช้ปลายทางเหล่านี้เพื่อทดสอบการชำระเงิน L402:

# Get a fortune (costs ~10-50 sats)
pay_l402_api({ url: "https://lightningfaucet.com/api/l402/fortune" })

# Get a joke (costs ~10-50 sats)
pay_l402_api({ url: "https://lightningfaucet.com/api/l402/joke" })

# Get an inspirational quote (costs ~10-50 sats)
pay_l402_api({ url: "https://lightningfaucet.com/api/l402/quote" })

ดู L402 API Registry สำหรับปลายทางและทรัพยากรเพิ่มเติม

ตัวอย่างเวิร์กโฟลว์ที่สมบูรณ์

// 1. Register as operator (if no API key configured)
register_operator({ name: "My AI Company" })
// Returns: { api_key: "lf_abc...", recovery_code: "xyz...", operator_id: 123 }

// 2. Activate the operator key
set_operator_key({ api_key: "lf_abc..." })

// 3. Check who you are
whoami()
// Returns: { type: "operator", id: 123, name: "My AI Company", balance_sats: 0 }

// 4. Fund your operator account
get_deposit_invoice({ amount_sats: 10000 })
// Pay this invoice with any Lightning wallet

// 5. Create an agent with budget limit
create_agent({ name: "Research Assistant", budget_limit_sats: 5000 })
// Returns: { agent_id: 456, agent_api_key: "agent_def..." }

// 6. Fund the agent
fund_agent({ agent_id: 456, amount_sats: 1000 })

// 7. Set up a webhook for payment notifications
register_webhook({
  url: "https://your-server.com/webhooks/lightning",
  events: ["invoice_paid", "payment_completed"]
})
// Returns: { webhook_id: 1, secret: "..." }  <- Save this secret!

// 8. Switch to agent mode for payments
set_agent_credentials({ api_key: "agent_def..." })

// 9. Check budget status
get_budget_status()
// Returns: { budget_limit_sats: 5000, total_spent_sats: 0, remaining_sats: 5000 }

// 10. Make payments!
pay_l402_api({ url: "https://api.example.com/premium-data" })

การชำระเงิน Keysend

ส่งการชำระเงินโดยตรงไปยังโหนด Lightning โดยไม่ต้องมีใบแจ้งหนี้:

// Send 100 sats to a node with an optional message
keysend({
  destination: "03864ef025fde8fb587d989186ce6a4a186895ee44a926bfc370e2c366597a3f8f",
  amount_sats: 100,
  message: "Hello from my AI agent!"
})

การถอดรหัสใบแจ้งหนี้

ตรวจสอบรายละเอียดใบแจ้งหนี้ก่อนชำระเงิน:

decode_invoice({ invoice: "lnbc1000n1..." })
// Returns: {
//   amount_sats: 1000,
//   description: "Test payment",
//   destination: "03abc...",
//   expires_at: "2026-01-16T12:00:00Z",
//   is_expired: false
// }

รายละเอียดเครื่องมือ

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 (USDC บน Base) โปรโตคอลถูกตรวจจับอัตโนมัติจากส่วนหัวการตอบกลับ 402

พารามิเตอร์ประเภทจำเป็นคำอธิบาย
urlstringใช่URL ที่จะร้องขอ
methodstringไม่HTTP method (GET, POST, PUT, DELETE) ค่าเริ่มต้น: GET
bodystringไม่เนื้อหาคำขอสำหรับ POST/PUT
max_payment_satsnumberไม่จำนวนเงินสูงสุดที่ชำระ ค่าเริ่มต้น: 1000

keysend

ส่งการชำระเงินไปยังโหนดโดยไม่ต้องมีใบแจ้งหนี้

พารามิเตอร์ประเภทจำเป็นคำอธิบาย
destinationstringใช่public key ของโหนดเป้าหมาย (66 ตัวอักษร hex)
amount_satsnumberใช่จำนวนเงินใน satoshis
messagestringไม่ข้อความเพิ่มเติม (สูงสุด 1000 ตัวอักษร)

register_webhook

ลงทะเบียน URL เพื่อรับการแจ้งเตือนการชำระเงิน

พารามิเตอร์ประเภทจำเป็นคำอธิบาย
urlstringใช่URL HTTPS เพื่อรับ webhooks
eventsarrayไม่ประเภทเหตุการณ์ที่จะสมัคร ค่าเริ่มต้น: ["invoice_paid"]

ส่งคืน: Webhook ID และ HMAC secret สำหรับการตรวจสอบลายเซ็น

สถาปัตยกรรม

┌─────────────────────────────────────────────────────────┐
│                    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            │
└─────────────────────────────────────────────────────────┘

แนวทางปฏิบัติที่ดีที่สุดด้านความปลอดภัย

  • อย่าคอมมิตคีย์ API - ใช้ตัวแปรสภาพแวดล้อม
  • ตั้งค่าขีดจำกัดงบประมาณ - ป้องกันการใช้จ่ายที่ควบคุมไม่ได้
  • ใช้คีย์เอเจนต์สำหรับการชำระเงิน - รักษาคีย์ผู้ดำเนินการให้ปลอดภัย
  • ตรวจสอบลายเซ็น webhook - ใช้ secret ที่ส่งคืนระหว่างการลงทะเบียน
  • ตรวจสอบธุรกรรม - ใช้ get_transactions เพื่อตรวจสอบกิจกรรม
  • รหัสกู้คืน - จัดเก็บอย่างปลอดภัย จำเป็นหากคีย์ API สูญหาย
  • การหมุนเวียนคีย์ - หมุนเวียนคีย์เป็นระยะโดยใช้ rotate_api_key

ความปลอดภัยของ Webhook

Webhooks รวมลายเซ็น 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 กับ payload

Pre-Payment Policy Hook

ฮุกแบบไม่ผูกกับผู้ขายรายใดรายหนึ่งช่วยให้ปลายทางนโยบายภายนอก อนุญาตหรือปฏิเสธการชำระเงินก่อนที่จะดำเนินการ โดยค่าเริ่มต้นจะปิดใช้งาน — เมื่อ PRE_PAYMENT_HOOK_URL ไม่ได้ถูกตั้งค่า พฤติกรรมจะเป็นเหมือนเดิมทุกประการ เมื่อตั้งค่าแล้ว ทุกการชำระเงินขาออก (pay_l402_api, pay_invoice, keysend, pay_lightning_address) จะถูกตรวจสอบกับปลายทางของคุณก่อน การปฏิเสธจะยกเลิกการชำระเงินก่อนที่เงินจะเคลื่อนย้าย

สิ่งนี้มีประโยชน์สำหรับนโยบายการใช้จ่าย เวิร์กโฟลว์การอนุมัติ การตรวจสอบการปฏิบัติตามกฎระเบียบ หรือชั้นการอนุญาตภายนอกใดๆ โปรโตคอลฮุกเป็นแบบทั่วไป ดังนั้นบริการใดๆ ที่ปฏิบัติตามสัญญาคำขอ/การตอบกลับด้านล่างสามารถเชื่อมต่อได้โดยการกำหนดค่าเท่านั้น

การกำหนดค่า

ตัวแปรสภาพแวดล้อมค่าเริ่มต้นคำอธิบาย
PRE_PAYMENT_HOOK_URL(ไม่ได้ตั้งค่า)ปลายทางนโยบายที่จะ POST ข้อเสนอการชำระเงินแต่ละรายการไปยัง การไม่ตั้งค่าจะปิดใช้งานฮุกทั้งหมด
PRE_PAYMENT_HOOK_TIMEOUT_MS3000ระยะหมดเวลาต่อคำขอในหน่วยมิลลิวินาที
PRE_PAYMENT_HOOK_FAIL_MODEclosedclosed ปฏิเสธการชำระเงินหากฮุกเกิดข้อผิดพลาดหรือหมดเวลา open อนุญาตให้ดำเนินการต่อ ค่าเริ่มต้นคือปิดเมื่อล้มเหลว
{
  "mcpServers": {
    "lightning-wallet": {
      "command": "npx",
      "args": ["lightning-wallet-mcp"],
      "env": {
        "LIGHTNING_WALLET_API_KEY": "your-api-key",
        "PRE_PAYMENT_HOOK_URL": "https://your-policy-endpoint.example/hook"
      }
    }
  }
}

คำขอฮุก (POST จากไคลเอนต์)

ข้อเสนออธิบายเฉพาะการชำระเงินที่เสนอ — ไม่รวมคีย์ API กระเป๋าเงินของคุณ

{
  "proposal_id": "f7e1…",
  "agent_id": 42,
  "protocol": "l402",
  "destination_or_url": "https://api.example/paid-endpoint",
  "amount_sats": null,
  "max_payment_sats": 1000,
  "method": "GET",
  "ts": "2026-06-06T18:00:00.000Z"
}

protocol เป็นหนึ่งใน l402, x402, bolt11, keysend, lnaddress amount_sats คือจำนวนเงินที่แน่นอนเมื่อทราบ ณ เวลาฮุก: สำหรับ keysend และ lnaddress คือจำนวนเงินที่ร้องขอ และสำหรับ bolt11 จะถูกถอดรหัสภายในจากใบแจ้งหนี้ (ไม่มีการเรียก API เพิ่มเติม) สำหรับ l402/x402 จะเป็น null เนื่องจากจำนวนเงินถูกกำหนดโดยความท้าทายการชำระเงิน ณ เวลาดำเนินการ — ในกรณีนี้ฮุกจะบังคับใช้ max_payment_sats (เพดานที่ได้รับอนุญาตจากเอเจนต์) ล่วงหน้า และจำนวนเงินที่ชำระจริงจะพร้อมใช้งานภายหลังผ่าน webhooks max_payment_sats คือเพดานที่ได้รับอนุญาตจากเอเจนต์เมื่อมีผลบังคับใช้

สิ่งที่ออกจากกระเป๋าเงินอย่างแน่นอน เฉพาะแปดฟิลด์ข้างต้นเท่านั้นที่ถูกส่งไปยังปลายทางฮุกของคุณ: proposal_id, agent_id, protocol, destination_or_url, amount_sats, max_payment_sats, method, ts คีย์ API กระเป๋าเงินและข้อมูลประจำตัวอื่นๆ จะ ไม่ ถูกรวมอยู่ด้วย

ขอบเขตความครอบคลุม ฮุกควบคุมทุกการใช้จ่ายที่เริ่มต้นโดยเอเจนต์: pay_l402_api, pay_invoice, keysend, pay_lightning_address และ Nostr zaps การจัดการเงินทุนในขอบเขตผู้ดำเนินการ (การถอน การเติมเงินให้เอเจนต์ การโอนระหว่างเอเจนต์) ถูกตั้งใจให้ ไม่ ถูกควบคุม — สิ่งเหล่านั้นเป็นการกระทำของผู้ดำเนินการ ไม่ใช่การใช้จ่ายของเอเจนต์

การตอบกลับฮุก (ปลายทางของคุณส่งกลับ)

{ "decision": "allow" }
{ "decision": "deny", "reason": { "code": "over_limit", "message": "Exceeds per-transaction limit" } }
  • allow → การชำระเงินดำเนินการต่อ
  • deny → การชำระเงินถูกยกเลิกและเครื่องมือส่งกลับข้อผิดพลาด PolicyDenied ที่แสดง reason.message
  • ฟิลด์ attestation ที่เป็นตัวเลือก (JSON ใดๆ) ถูกปฏิบัติเป็นข้อมูลทึบโดยไคลเอนต์ — มันถูกบันทึกลง stderr และถูกละเว้นนอกเหนือจากนั้น เพื่อให้บริการนโยบายสามารถส่งกลับการตัดสินใจที่ลงนามสำหรับการตรวจสอบภายหลังได้

เมื่อฮุกเกิดข้อผิดพลาด หมดเวลา หรือการตอบกลับที่ไม่รู้จัก PRE_PAYMENT_HOOK_FAIL_MODE จะถูกนำมาใช้ (ปฏิเสธโดยค่าเริ่มต้น)

ราคา

Lightning Faucet คิดค่าธรรมเนียมแพลตฟอร์ม 2% (ขั้นต่ำ 1 sat) สำหรับการชำระเงินขาออก:

  • การชำระเงิน L402: ค่าธรรมเนียมแพลตฟอร์ม 2% + ค่าธรรมเนียมเส้นทาง Lightning
  • การชำระเงิน X402: ค่าธรรมเนียมแพลตฟอร์ม 2% + ส่วนต่างอัตราแลกเปลี่ยน 1% (การแปลง USDC เป็น sats)
  • การชำระเงินใบแจ้งหนี้: ค่าธรรมเนียมแพลตฟอร์ม 2% + ค่าธรรมเนียมเส้นทาง Lightning
  • การชำระเงิน Keysend: ค่าธรรมเนียมแพลตฟอร์ม 2% + ค่าธรรมเนียมเส้นทาง Lightning
  • การถอนของผู้ดำเนินการ: ค่าธรรมเนียมแพลตฟอร์ม 2% + ค่าธรรมเนียมเส้นทาง Lightning
  • การโอนภายในข้ามผู้ดำเนินการ: ค่าธรรมเนียมแพลตฟอร์ม 2% (ไม่มีค่าธรรมเนียมเส้นทาง)
  • การโอนเอเจนต์ผู้ดำเนินการเดียวกัน: ฟรี
  • การฝากเงิน: ฟรี
  • การรับชำระเงิน: ฟรี
  • Webhooks: ฟรี

การตอบกลับการชำระเงินทั้งหมดรวม platform_fee_sats, routing_fee_sats และ total_cost เพื่อความโปร่งใสเต็มรูปแบบ

บันทึกการเปลี่ยนแปลง

v1.1.0 (2026-02-16)

  • อินเทอร์เฟซ CLI: คำสั่ง lw ใหม่สำหรับเอเจนต์ที่ใช้ CLI เป็นหลัก (OpenClaw, Pi, KiloCode, เอเจนต์ Bash ใดๆ)
  • แพ็คเกจเดียวกัน สองอินเทอร์เฟซ: npm install -g lightning-wallet-mcp ให้ทั้งเซิร์ฟเวอร์ MCP และ CLI
  • เอาต์พุต JSON-first: คำสั่ง CLI ทั้งหมดส่งออก JSON ไปยัง stdout ข้อผิดพลาดไปยัง stderr
  • การสนับสนุน X402: การถอยกลับอัตโนมัติเป็น X402 (USDC บน Base) เมื่อ L402 ไม่พร้อมใช้งาน
  • การตรวจจับโปรโตคอลอัตโนมัติ: pay_l402_api ตรวจจับ L402 หรือ X402 จากส่วนหัวการตอบกลับ 402
  • ฟิลด์การตอบกลับ: payment_protocol และ usdc_amount ถูกรวมเมื่อใช้ X402
  • อัตราแลกเปลี่ยน: การแปลง BTC/USD แบบเรียลไทม์ผ่าน CoinGecko พร้อมแคช 5 นาที

v1.0.3 (2026-02-05)

  • ค่าธรรมเนียมแพลตฟอร์ม: ค่าธรรมเนียม 2% (ขั้นต่ำ 1 sat) สำหรับการชำระเงินขาออกและการโอนข้ามผู้ดำเนินการทั้งหมด
  • ความโปร่งใสของค่าธรรมเนียม: การตอบกลับการชำระเงินทั้งหมดตอนนี้รวม platform_fee_sats, routing_fee_sats และ total_cost
  • การโอนเอเจนต์ผู้ดำเนินการเดียวกันยังคงฟรี

v1.0.0 (2026-02-04)

  • เปลี่ยนชื่อแบรนด์ จาก lightning-faucet-mcp เป็น lightning-wallet-mcp
  • เปลี่ยนชื่อตัวแปรสภาพแวดล้อม: LIGHTNING_FAUCET_API_KEYLIGHTNING_WALLET_API_KEY
  • เครื่องมือทั้งหมด 37 รายการทดสอบเต็มรูปแบบและพร้อมสำหรับการใช้งานจริง
  • ไม่มีการเปลี่ยนแปลง API ที่ส่งผลกระทบ - เพียงแค่ชื่อแพ็คเกจ

รุ่นก่อนหน้า (ในชื่อ lightning-faucet-mcp)

ดู บันทึกการเปลี่ยนแปลง lightning-faucet-mcp สำหรับประวัติ v1.6.0 ถึง v2.0.7

  • การชำระเงินและใบแจ้งหนี้พื้นฐาน

การสาธิต: การทดลองทฤษฎีเกมของเอเจนต์ AI

เราทำการทดลองทางเศรษฐกิจ 100 รอบกับเอเจนต์ AI 16 ตัว (Claude 8 ตัว, GPT-4o 8 ตัว) โดยใช้ Bitcoin จริงบน Lightning เอเจนต์สามารถซื้อขาย สร้างพันธมิตร ลงทุน และแข่งขัน — ทั้งหมดขับเคลื่อนโดยเซิร์ฟเวอร์ MCP นี้

ผลลัพธ์: เอเจนต์ทำธุรกรรม Lightning จริง 2,839 รายการ เอเจนต์ Claude ครองตลาดผ่านการซื้อขายเชิงรุกตั้งแต่เนิ่นๆ ในขณะที่เอเจนต์ GPT-4o ใช้กลยุทธ์อนุรักษ์นิยม

การสนับสนุน

ใบอนุญาต

ใบอนุญาต MIT - ดู LICENSE สำหรับรายละเอียด


สร้างด้วย Bitcoin | Lightning Faucet