
Connects Claude to the Lightning Network for Bitcoin payments. Supports Strike, LND, and multiple NWC wallets. Exposes 23 tools including invoice payments, L402 API access with automatic payment challenges, budget tracking, and on-chain sends. Two standout features: L402 Producer tools let your agent sell services and create payment challenges, and Agent Service Agreement tools enable agent-to-agent commerce on Nostr with service discovery, negotiation, and settlement. Ships in .NET, Python, and Docker. The free tier covers basic wallet operations. Producer and ASA tools require an Agentic Commerce subscription. Useful when you want Claude to autonomously pay for APIs, participate in micropayment commerce, or both buy and sell services.
Part of Lightning Enable — infrastructure for agent commerce over Lightning.
Agents pay your API per request over Lightning — flat subscription from $99/mo, and you keep 100% of every sat.
Or sign up without leaving your agent: call the create_lightning_enable_account tool.
An open-source MCP (Model Context Protocol) server that enables AI agents to make Lightning Network payments and participate in agent-to-agent commerce. Wallet, invoice, L402, budget, and API-discovery tools work out of the box with just a wallet. Producer tools (sell access via L402) and Agent Service Agreement (ASA) tools (agent-to-agent discovery, request, settlement, and attestation over Nostr) unlock with an Agentic Commerce subscription. See the full tool list.
Available in .NET and Python.
Give your AI agent a Lightning wallet and it can:
create_lightning_enable_account pays a ~100-sat activation fee over L402 and returns a merchant API key: the free→paid signup form that is the protocol, unlocking the producer + ASA tools with no browser or checkout page.# .NET
dotnet tool install -g LightningEnable.Mcp
# Python
pip install lightning-enable-mcp
# Python (no install)
uvx lightning-enable-mcp
# Docker
docker pull refinedelement/lightning-enable-mcp:latest
L402 — the whole point of this server — needs a wallet that returns the payment preimage. Set exactly one of these (as an env var, e.g. in the Claude Desktop config below):
STRIKE_API_KEY, from https://dashboard.strike.meNWC_CONNECTION_STRING, from CoinOS / CLINK / Alby HubLND_REST_HOST + LND_MACAROON_HEX⚠️ OpenNode (
OPENNODE_API_KEY) works for invoicing / direct payments only — it never returns a preimage, so it cannot pay L402 challenges. Don't make it your only wallet if you want L402 (the core use case).
If several are set, priority is: LND > NWC > Strike > OpenNode. See Supported Wallets for the full compatibility matrix.
test_l402_paymentAsk your agent:
Run test_l402_payment
This pays a public 1-sat L402 endpoint end to end, proving your wallet is connected, returns a preimage, and can complete a real L402 payment. It's the one-line answer to "is my wallet actually working?" — and it costs about 1 satoshi.
Once the loop works, try the Lightning Enable Store, a live L402-powered web store. Ask Claude:
Buy me a Lightning Enable t-shirt from store.lightningenable.com
(This one needs a funded wallet and a shipping address, which is why test_l402_payment — one sat, no shipping — is the faster first proof.)
Add to your claude_desktop_config.json:
.NET:
{
"mcpServers": {
"lightning-enable": {
"command": "dotnet",
"args": ["tool", "run", "lightning-enable-mcp"],
"env": {
"STRIKE_API_KEY": "your-strike-api-key"
}
}
}
}
Python:
{
"mcpServers": {
"lightning-enable": {
"command": "uvx",
"args": ["lightning-enable-mcp"],
"env": {
"STRIKE_API_KEY": "your-strike-api-key"
}
}
}
}
Config file locations:
%APPDATA%\Claude\claude_desktop_config.json~/Library/Application Support/Claude/claude_desktop_config.json~/.config/claude/claude_desktop_config.json| Wallet | Setup | L402 Support |
|---|---|---|
| Strike | API key | Yes |
| LND | REST + macaroon | Yes (guaranteed) |
| NWC (CoinOS) | Connection string | Yes |
| NWC (CLINK) | Connection string | Yes |
| NWC (Alby Hub) | Connection string | Yes |
| OpenNode | API key | No (no preimage) |
Canonical inventory: 26 tools — 17 free (out of the box, just a wallet) + 9 that require LIGHTNING_ENABLE_API_KEY (an Agentic Commerce subscription; 2 L402 Producer + 7 Agent Service Agreement). This table is the single source of truth every advertised count derives from — it is pinned to the code by the tool-inventory guard tests in both ports (drift fails CI).
ASA availability note. The L402/producer tools,
discover_agent_services,settle_agent_service, andunpublish_agent_capabilitywork against the hosted API today. The agent-to-agent coordination tools —publish_agent_capability,request_agent_service,publish_agent_attestation,get_agent_reputation— use the agent capability backend, which is not yet enabled on the hosted Lightning Enable API (calls there currently return an error) and are in preview. Marketplace listings are published today via the Lightning Enable dashboard / L402 proxy pipeline.
Deprecated aliases (accepted but unadvertised, forward to the new tool, removed in v2.0.0): confirm_payment → verify_confirmation_code; check_wallet_balance, get_all_balances → get_balance.
| Tool | Access | What it does |
|---|---|---|
pay_invoice | Free | Pay a BOLT11 Lightning invoice directly, get the preimage |
pay_l402_challenge | Free | Pay an L402 challenge (invoice + macaroon), get the token |
access_l402_resource | Free | Fetch a URL, auto-paying any L402 challenge |
test_l402_payment | Free | Self-test the wallet against a public 1-sat L402 endpoint |
discover_api | Free | Search the L402 API registry / fetch an API manifest |
create_invoice | Free | Create a BOLT11 invoice to receive payment |
check_invoice_status | Free | Check whether a created invoice was paid |
get_balance | Free | Wallet balance: sats, all currencies (Strike), and wallet info |
exchange_currency | Free | Convert between USD and BTC (Strike) |
send_onchain | Free | Send an on-chain Bitcoin payment (Strike, LND) |
get_btc_price | Free | Current Bitcoin price in USD |
get_payment_history | Free | List payments made this session (in-memory) |
get_receipts | Free | Read the durable, append-only receipt log |
get_budget_status | Free | View budget config and session spend (read-only) |
configure_budget | Free | Tighten runtime spending caps (tighten-only) |
verify_confirmation_code | Free | Verify an out-of-band payment confirmation code (verification only — never pays) |
create_lightning_enable_account | Free | Self-bootstrap signup: pay ~100 sats, get a merchant API key |
create_l402_challenge | Agentic Commerce | L402 Producer: create a challenge to charge for a resource |
verify_l402_payment | Agentic Commerce | L402 Producer: verify an L402 token (macaroon + preimage) |
discover_agent_services | Agentic Commerce | ASA: search for agent capabilities on Nostr |
publish_agent_capability | Agentic Commerce | ASA: publish your agent's services (kind 38400) |
unpublish_agent_capability | Agentic Commerce | ASA: take a listing down — retire the proxy + NIP-09 removal |
request_agent_service | Agentic Commerce | ASA: request a service from another agent (kind 38401) |
settle_agent_service | Agentic Commerce | ASA: pay for an agent service via L402 settlement |
publish_agent_attestation | Agentic Commerce | ASA: leave a review/rating for an agent (kind 38403) |
get_agent_reputation | Agentic Commerce | ASA: check an agent's reputation from attestations |
create_lightning_enable_account is free and self-provisions the API key the 8 gated tools need — an agent with a wallet pays a ~100-sat activation fee and unlocks them on the spot.
lightning-enable-mcp/
├── dotnet/
│ ├── src/LightningEnable.Mcp/ # .NET MCP server
│ ├── tests/LightningEnable.Mcp.Tests/ # .NET tests
│ └── LightningEnable.Mcp.sln # Solution file
├── python/
│ └── lightning-enable-mcp/ # Python MCP server
├── .github/workflows/publish-mcp.yml # CI/CD
├── LICENSE # MIT
└── README.md # This file
These tools enable agent-to-agent commerce on Nostr:
All seven ASA tools require LIGHTNING_ENABLE_API_KEY (an Agentic Commerce subscription); settle_agent_service additionally spends your wallet balance, subject to budget limits. For the authoritative access level of every tool, see the canonical Tools table above — it is the single source of truth pinned to the code by the drift guard.
| Tool | Description |
|---|---|
discover_agent_services | Search for agent capabilities by category, hashtag, or keyword |
publish_agent_capability | Publish your agent's services to the Nostr network (kind 38400) |
unpublish_agent_capability | Take a published listing down: retire the L402 proxy and emit a NIP-09 removal |
request_agent_service | Request a service from another agent (kind 38401) |
settle_agent_service | Pay for an agent service via L402 Lightning settlement |
publish_agent_attestation | Leave a review/rating for an agent after service completion (kind 38403) |
get_agent_reputation | Check an agent's reputation score from on-protocol attestations |
discover_agent_services(category="translation") finds agents offering translationrequest_agent_service(capability_id, budget_sats=100) sends a service requestsettle_agent_service(l402_endpoint) pays via Lightning and receives the resultpublish_agent_attestation(pubkey, agreement_id, rating=5) builds on-protocol reputationFor dynamic pricing, providers use create_l402_challenge to generate invoices at the agreed price. Requesters pay and providers verify with verify_l402_payment.
pip install le-agent-sdknpm install le-agent-sdkdotnet add package LightningEnable.AgentSdkLightning Enable does not hold funds — the connected wallet or payment provider (Strike, OpenNode, LND, or an NWC wallet) does. The MCP server runs locally and talks to the wallet/provider you configure and, for L402 discovery, the L402 API registry. Wallet credentials you supply stay on your machine (or, for the hosted API, are encrypted at rest). See the full Privacy Policy for what data is collected, third parties involved, retention, and contact (privacy@lightningenable.com).
MIT — see LICENSE.
STRIKE_API_KEYsecretStrike API key for Lightning payments (recommended wallet)
NWC_CONNECTION_STRINGsecretNostr Wallet Connect URI (for NWC wallets like CoinOS, CLINK, Alby Hub)
LND_REST_HOSTLND REST API host (e.g., localhost:8080)
LND_MACAROON_HEXsecretLND admin macaroon in hex format
OPENNODE_API_KEYsecretOpenNode API key (direct payments only, no L402 support)
OPENNODE_ENVIRONMENTdefault: productionOpenNode environment: production or dev (testnet)
L402_MAX_SATS_PER_REQUESTdefault: 1000Maximum satoshis allowed per single payment request
L402_MAX_SATS_PER_SESSIONdefault: 10000Maximum total satoshis allowed per session
LIGHTNING_ENABLE_API_KEYsecretLightning Enable API key for agent registration and ASA publishing (Agentic Commerce subscription)
AGENT_RELAY_URLdefault: wss://agents.lightningenable.comNostr relay URL for agent events (default: wss://agents.lightningenable.com)