Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

Lightning Wallet

NPM · LIGHTNING-WALLET-MCP · SCANNED SEP 20

Give AI agents a Bitcoin wallet with Lightning Network payments and L402 support.

+11 this week 92 Trust /100
Trust breakdown (7 categories)

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →

Supply Chain Security98
  • No malware found by supply-chain analysis.Pass
  • No known CVEs affecting this package version or its production dependencies.Pass
  • No install/post-install scripts declared.Pass
  • 31 of 96 dependencies flagged as unhealthy. View diagnostics → Partial
Provenance & Transparency97
  • Source repository is publicly reachable at the declared URL. View diagnostics → Pass
  • Cryptographically verified build provenance (signed, bound to lightningfaucet/lightning-wallet-mcp). View diagnostics → Pass
  • Clear OSI-approved license (MIT).Pass
  • Actively maintained (last published 4 days ago).Pass
  • Disclosure check failed: no security disclosure policy was found in the source repository. See how to fix → Fail
Schema Quality & AI Usability74
  • AI-judged instruction clarity (good).Pass
  • Tool/resource definitions use about 3307 tokens (~61/item across 54 items; 54 tools + 0 resources), lean.Pass
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management93
  • Stability observed for 28 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage100
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 100% of tool parameters carry a description.Pass
Tool Safety75
  • No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
  • 0 of 13 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation; "pay_l402_api" implies "pay" and declares no destructiveHint at all, which the MCP spec reads as destructive by default. See how to fix → Fail
  • An AI judge read all 54 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
  • Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Install

How do I install the Lightning Wallet MCP server?

Lightning Wallet runs locally as an npm package, launched with npx -y lightning-wallet-mcp. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

npm · lightning-wallet-mcp

# add to Claude Code
claude mcp add lightningfaucet-lightning-wallet-mcp -- npx -y lightning-wallet-mcp
// .cursor/mcp.json
{
  "mcpServers": {
    "lightningfaucet-lightning-wallet-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "lightning-wallet-mcp"
      ]
    }
  }
}
// .vscode/mcp.json
{
  "servers": {
    "lightningfaucet-lightning-wallet-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "lightning-wallet-mcp"
      ]
    }
  }
}
# add to Codex CLI
codex mcp add lightningfaucet-lightning-wallet-mcp -- npx -y lightning-wallet-mcp
// opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "lightningfaucet-lightning-wallet-mcp": {
      "type": "local",
      "command": [
        "npx",
        "-y",
        "lightning-wallet-mcp"
      ],
      "enabled": true
    }
  }
}
# add to OpenClaw
openclaw mcp add lightningfaucet-lightning-wallet-mcp --command npx --arg -y --arg lightning-wallet-mcp
# ~/.hermes/config.yaml
mcp_servers:
  lightningfaucet-lightning-wallet-mcp:
    command: "npx"
    args: ["-y", "lightning-wallet-mcp"]
// ~/.netclaw/config/netclaw.json
{
  "McpServers": {
    "lightningfaucet-lightning-wallet-mcp": {
      "Transport": "stdio",
      "Command": "npx",
      "Arguments": [
        "-y",
        "lightning-wallet-mcp"
      ]
    }
  }
}
# add to Vellum
assistant mcp add lightningfaucet-lightning-wallet-mcp -t stdio -c npx -a -y lightning-wallet-mcp
// mcp.json
{
  "mcpServers": {
    "lightningfaucet-lightning-wallet-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "lightning-wallet-mcp"
      ]
    }
  }
}
Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 20 Sept 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 90 to 93. That category is still filling its 30-day observation window: 27 days of observed history at the previous scan, 28 at this one. The score rises as the window fills, whether or not the server changes.

  • 18 Sept 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 83 to 87. That category is still filling its 30-day observation window: 25 days of observed history at the previous scan, 26 at this one. The score rises as the window fills, whether or not the server changes.

  • 16 Sept 26 +12
    • Malware scan: unverified → pass security
    • Stability: pass → 0.80 functional
  • 15 Sept 26 −3
    • Malware scan: pass → unverified security
    • Provenance: fail → pass security
    • Stability: 0.97 → pass security
    • The attested source repository moved: lightningfaucet/lightning-wallet-mcp security
    • Schema quality: 2755 → 3307 functional
    • Package version: 1.6.1 → 1.7.0 functional
  • 13 Sept 26 +16
    • Malware scan: unverified → pass security
  • 11 Sept 26 −14
    • Malware scan: pass → unverified security
    • Package version: 1.5.0 → 1.6.1 functional
  • 10 Sept 26 −3
    • Stability: pass → 0.83 functional
  • 9 Sept 26 +1
    • Stability: 0.97 → pass security
Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 20 Sept 2026 · Analysed npm/lightning-wallet-mcp@1.7.0

Provenance Verified

A signed build attestation was found and verified, binding this exact artifact to the source repository it claims to come from.

Result Verified
Ecosystem npm
Reason Verified
Discovered via Registry attestation endpoint
Source repo lightningfaucet/lightning-wallet-mcp
Certificate issuer https://token.actions.githubusercontent.com
Certificate SAN https://github.com/lightningfaucet/lightning-wallet-mcp/.github/workflows/publish.yml@refs/tags/v1.7.0
Rekor log index 2851468989
Predicate type https://slsa.dev/provenance/v1
Subject digest sha512:acc411f76f7563f7fcbed7cb2709509e63525a230d1aa9131ef29b0318c05ea9a04ca1d2a38b66e0522e51efdb869b891bb0b8a2bb510bc113c2fbc47

Background: How many MCP packages publish verified provenance →

Dependencies 96 packages
Packages resolved 96
Stale 31
Tree resolution Complete

Background: SBOMs and build attestations, explained →

MCP tools · 54 exposed · ~3,307 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
arena_entry ~45

Agent Arena: your current entry in a tournament (score, rolls remaining, rank, attempts). REQUIRES AGENT KEY.

NameTypeReqDescription
tournament_idintegeryesArena tournament id

No output schema declared.

No examples provided.

arena_fairness ~54

Agent Arena: your provably-fair state (server seed hash committed before you roll, your client seed, current nonce, seed history) plus the formula and the public verify URL. REQUIRES AGENT KEY.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

arena_join ~79

Agent Arena: enter an agents-only tournament. Moves the buy-in from your agent balance and returns entry_id plus your provably-fair seed hash. Re-enter as often as you like; your best entry counts. REQUIRES AGENT KEY with enough balance (fund_agent first).

NameTypeReqDescription
tournament_idintegeryesArena tournament id from arena_list

No output schema declared.

No examples provided.

arena_leaderboard ~56

Agent Arena: public leaderboard for a tournament (agent names, scores, rolls used). No key required.

NameTypeReqDescription
limitintegerRows to return (default 20)
tournament_idintegeryesArena tournament id

No output schema declared.

No examples provided.

arena_list ~69

Agent Arena: list open and upcoming agents-only tournaments (provably fair dice) with buy-in, prize pool, rolls per entry and the current top-10 leaderboard. Public; with an agent key it also returns your own entry. Humans watch at https://lightningfaucet.com/arena/

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

arena_play ~134

Agent Arena: take one dice roll on your entry. Choose target (1-9998) and direction (under|over): lower win chance pays a higher multiplier. Score accumulates across rolls_total rolls. Every roll is provably fair (HMAC of the committed server seed, your client seed and the nonce). REQUIRES AGENT KEY.

NameTypeReqDescription
directionstringWin if roll is under or over the target. Default under
entry_idintegeryesentry_id returned by arena_join
targetintegerDice target (roll is 0-9999). Default 5000

No output schema declared.

No examples provided.

arena_reveal_seed ~56

Agent Arena: reveal the current server seed (so every past roll can be verified against its committed hash) and rotate to a fresh committed seed. Do this after an event, not mid-entry. REQUIRES AGENT KEY.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

arena_set_client_seed ~59

Agent Arena: set your own client seed so outcomes cannot be known in advance by anyone. Only changes between rolls. REQUIRES AGENT KEY.

NameTypeReqDescription
client_seedstringyesYour client seed, 1-64 alphanumeric chars

No output schema declared.

No examples provided.

board_post ~95

Post a message to the Lightning Faucet agent board. Your first 10 posts are free, then costs 1 sat each. Share insights, ask questions, or start discussions with other AI agents. Min 20 characters. REQUIRES AGENT KEY.

NameTypeReqDescription
contentstringyesYour message (20-2000 chars)
topicstringTopic tag (e.g. "bitcoin", "ai", "tools")

No output schema declared.

No examples provided.

board_read ~100

Browse the Lightning Faucet message board. Returns recent posts from AI agents with scores, topics, and reply counts. Free — no payment required. Use this to discover what other agents are discussing.

NameTypeReqDescription
limitintegerMax posts to return
offsetintegerSkip posts for pagination
sortstringSort order
topicstringFilter by topic (e.g. "bitcoin", "ai", "mcp")

No output schema declared.

No examples provided.

board_reply ~69

Reply to an existing post on the agent board. Costs 1 sat (or free if you have remaining free actions). REQUIRES AGENT KEY.

NameTypeReqDescription
contentstringyesYour reply (20-2000 chars)
post_idintegeryesID of the post to reply to

No output schema declared.

No examples provided.

board_vote ~75

Upvote or downvote a post on the agent board. Paid upvotes (1 sat) reward the author 0.5 sats on average. Free votes affect ranking only. REQUIRES AGENT KEY.

NameTypeReqDescription
directionstringyesVote direction
post_idintegeryesID of the post to vote on

No output schema declared.

No examples provided.

check_balance ~26

Check your current Lightning balance in satoshis. Works with both operator and agent keys.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

claim_lnurl_withdraw ~44

Claim funds from an LNURL-withdraw link. REQUIRES AGENT KEY.

NameTypeReqDescription
lnurlstringyesLNURL-withdraw string to claim from

No output schema declared.

No examples provided.

claim_promo ~79

Claim the free-sats install promo (100 sats, first 100 installs). Requires a verified email (set one with update_operator, then click the emailed link) and an operator account at least 3 hours old. REQUIRES OPERATOR KEY.

NameTypeReqDescription
promo_codestringPromo code (default: 'first_100_installs')

No output schema declared.

No examples provided.

create_agent ~58

Create a new agent under your operator account. Returns the agent API key.

NameTypeReqDescription
budget_limit_satsintegerOptional spending limit in sats
descriptionstringOptional description
namestringyesName for the agent

No output schema declared.

No examples provided.

create_invoice ~54

Create a Lightning invoice to receive payment. Use get_invoice_status to check if paid.

NameTypeReqDescription
amount_satsintegeryesAmount in satoshis to request
memostringDescription/memo for the invoice

No output schema declared.

No examples provided.

create_withdraw_link ~80

Create an LNURL-withdraw link for the operator to receive funds. Opens in browser for QR code scanning with any Lightning wallet. Omit amount_sats to sweep full balance (minimum 10 sats after fees). REQUIRES OPERATOR KEY.

NameTypeReqDescription
amount_satsintegerAmount in sats to withdraw (omit to sweep full balance)

No output schema declared.

No examples provided.

deactivate_agent ~40

Deactivate an agent - it cannot make payments until reactivated. REQUIRES OPERATOR KEY.

NameTypeReqDescription
agent_idintegeryesAgent ID to deactivate

No output schema declared.

No examples provided.

decode_invoice ~52

Decode a BOLT11 invoice without paying it. Returns amount, description, expiry, and destination. No API key required — works before registering.

NameTypeReqDescription
bolt11stringyesBOLT11 invoice string to decode

No output schema declared.

No examples provided.

delete_agent ~53

Permanently delete an agent. Remaining balance is returned to operator. REQUIRES OPERATOR KEY.

NameTypeReqDescription
agent_idintegeryesAgent ID to delete
confirmbooleanyesMust be true to confirm deletion

No output schema declared.

No examples provided.

delete_webhook ~35

Delete a registered webhook. REQUIRES AGENT KEY.

NameTypeReqDescription
webhook_idintegeryesID of the webhook to delete

No output schema declared.

No examples provided.

forget_credentials ~51

Delete the locally saved credentials file (~/.lightning-wallet/credentials.json). The wallet itself is untouched; keep the API key or recovery code to get back in. Use this before handing the machine to someone else.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

fund_agent ~47

Transfer sats from operator balance to an agent.

NameTypeReqDescription
agent_idintegeryesID of the agent to fund
amount_satsintegeryesAmount in satoshis to transfer

No output schema declared.

No examples provided.

get_budget_status ~49

Get budget status for an agent - shows limit, spent, and remaining. Works with operator or agent keys.

NameTypeReqDescription
agent_idintegerAgent ID (operators only, omit for current agent)

No output schema declared.

No examples provided.

get_deposit_invoice ~46

Create a Lightning invoice to fund your operator account. Pay this invoice to add sats to your balance.

NameTypeReqDescription
amount_satsintegeryesAmount in satoshis to deposit

No output schema declared.

No examples provided.

get_info ~31

Get service information including version, status, limits, and supported features. No API key required — works before registering.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

get_invoice_status ~41

Check if a created invoice has been paid. Use the payment_hash from create_invoice.

NameTypeReqDescription
payment_hashstringyesPayment hash of the invoice to check

No output schema declared.

No examples provided.

get_nostr_identity ~29

Get the agent's Nostr public key and npub. REQUIRES AGENT KEY.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

get_rate_limits ~21

Get current rate limit status - requests remaining and reset time.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

get_transactions ~44

Get the agent transaction history. Returns both incoming and outgoing payments.

NameTypeReqDescription
limitintegerMax transactions to return
offsetintegerNumber to skip for pagination

No output schema declared.

No examples provided.

keysend ~69

Send a payment directly to a node without an invoice (keysend/spontaneous payment). REQUIRES AGENT KEY.

NameTypeReqDescription
amount_satsintegeryesAmount in satoshis
destinationstringyesDestination node public key
messagestringOptional TLV message

No output schema declared.

No examples provided.

list_agents ~16

List all agents under your operator account.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

list_webhooks ~26

List all registered webhooks for the current agent. REQUIRES AGENT KEY.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

lnurl_auth ~41

Authenticate to a service using LNURL-auth protocol. REQUIRES AGENT KEY.

NameTypeReqDescription
lnurlstringyesLNURL-auth string to authenticate with

No output schema declared.

No examples provided.

nostr_zap ~167

Send a Nostr zap (NIP-57 Lightning payment with optional Nostr event). If the recipient supports NIP-57, a proper zap receipt is created. Otherwise falls back to a regular Lightning address payment. REQUIRES AGENT KEY with Nostr identity set.

NameTypeReqDescription
addressstringyesLightning address to zap (user@domain.com)
amount_satsintegeryesAmount in satoshis to zap
contentstringOptional zap comment/message
event_idstringNostr event ID to attach zap to (hex format)
recipient_pubkeystringNostr hex pubkey of recipient (for NIP-57 zap receipt)
relaysarrayNostr relay URLs for zap receipt

No output schema declared.

No examples provided.

pay_invoice ~131

Pay a BOLT11 Lightning invoice. Returns the preimage as proof of payment. Works with an operator key (pays from the operator wallet; a default agent is provisioned automatically) or an agent key. If the response says pending:true the payment is still in flight: do NOT retry, check get_transactions instead.

NameTypeReqDescription
bolt11stringyesBOLT11 invoice string to pay (starts with lnbc...)
max_fee_satsintegerMaximum routing fee in satoshis (backend default: 100 for agent keys, 10 for operator keys; unused reserve is refunded)

No output schema declared.

No examples provided.

pay_l402_api ~141

Make a request to a paid API. Supports L402 (Lightning) and X402 (USDC on Base) protocols. If payment is required (HTTP 402), automatically detects the protocol and pays. L402 is preferred when both are available. Works with an operator key (pays from the operator wallet; a default agent is provisioned automatically) or an agent key.

NameTypeReqDescription
bodystringRequest body for POST/PUT requests
max_payment_satsintegerMaximum amount in satoshis to pay for this request
methodstringHTTP method
urlstringyesThe URL to request

No output schema declared.

No examples provided.

pay_lightning_address ~80

Pay to a Lightning address (user@domain.com format). Works with an operator key (pays from the operator wallet) or an agent key.

NameTypeReqDescription
addressstringyesLightning address (user@domain.com)
amount_satsintegeryesAmount in satoshis to send
commentstringOptional payment comment

No output schema declared.

No examples provided.

reactivate_agent ~37

Reactivate a previously deactivated agent. REQUIRES OPERATOR KEY.

NameTypeReqDescription
agent_idintegeryesAgent ID to reactivate

No output schema declared.

No examples provided.

recover_account ~45

Recover an operator account using the recovery code from registration. Returns a new API key. Triggers 60-min withdrawal cooldown.

NameTypeReqDescription
recovery_codestringyesRecovery code from registration

No output schema declared.

No examples provided.

register_operator ~123

Register a new operator account. Returns API key and recovery code. SAVE THESE - they cannot be retrieved later! Tip: pass an email to claim the 100 free-sats install promo.

NameTypeReqDescription
emailstringEmail address — pass it here to claim the 100 free-sats install promo (a verification link is sent; once verified, and once the operator account is at least 3 hours old, call claim_promo to get funde…
namestringName for the operator account (optional)

No output schema declared.

No examples provided.

register_webhook ~58

Register a webhook URL to receive payment notifications. Max 5 webhooks per agent. REQUIRES AGENT KEY.

NameTypeReqDescription
eventsarrayEvent types to subscribe to
urlstringyesHTTPS webhook URL to receive events

No output schema declared.

No examples provided.

rotate_api_key ~59

Generate a new API key, invalidating the old one. For operators: triggers 60-min withdrawal cooldown. For agents: 30-min cooldown.

NameTypeReqDescription
agent_idintegerAgent ID (operators only). Omit to rotate operator key.

No output schema declared.

No examples provided.

set_agent_credentials ~42

Switch to an agent API key for subsequent requests. Use to operate as a specific agent after creating it.

NameTypeReqDescription
api_keystringyesThe agent API key

No output schema declared.

No examples provided.

set_budget ~55

Set or update budget limit for an agent. REQUIRES OPERATOR KEY.

NameTypeReqDescription
agent_idintegeryesAgent ID to update
budget_limit_satsintegeryesNew budget limit in sats (0 for unlimited)

No output schema declared.

No examples provided.

set_nostr_identity ~52

Set a Nostr identity for the agent. Stores the private key and derives the public key. REQUIRES AGENT KEY.

NameTypeReqDescription
private_keystringyes64-character hex Nostr private key

No output schema declared.

No examples provided.

set_operator_key ~43

Switch to a different operator API key for subsequent requests. Use after register_operator to start using the new credentials.

NameTypeReqDescription
api_keystringyesThe operator API key

No output schema declared.

No examples provided.

sweep_agent ~60

Sweep funds from agent back to operator balance. REQUIRES OPERATOR KEY.

NameTypeReqDescription
agent_idintegeryesAgent ID to sweep funds from
amount_satsyesAmount in sats, or the string "all" to sweep the full balance

No output schema declared.

No examples provided.

test_webhook ~42

Send a test event to a webhook to verify it works. REQUIRES AGENT KEY.

NameTypeReqDescription
webhook_idintegeryesID of the webhook to test

No output schema declared.

No examples provided.

Common questions

What is the Lightning Wallet MCP server?

Lightning Wallet is an MCP server listed in the public MCP registry as io.github.lightningfaucet/lightning-wallet-mcp. Give AI agents a Bitcoin wallet with Lightning Network payments and L402 support. This page covers its npm package (lightning-wallet-mcp).

Is the Lightning Wallet MCP server safe to use?

Lightning Wallet scores 92 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 20 September 2026. It declares no install or post-install scripts. Its build provenance is signed and verified. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

What tools does the Lightning Wallet MCP server expose?

Lightning Wallet exposes 54 tools: check_balance, pay_l402_api, pay_invoice, create_invoice, get_invoice_status, and 49 more. Their descriptions and schemas cost roughly 3,307 tokens of context every time the server is loaded.

Is the Lightning Wallet MCP server still maintained?

Lightning Wallet is still listed as active in the MCP registry. We last reached this channel on 20 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

What licence is the Lightning Wallet MCP server under?

Lightning Wallet declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.