L402 Gateway
Enables AI agents to manage Bitcoin micropayments, service offers, and escrow contracts through MCP tools, without requiring a Lightning node.
README
L402 Gateway ⚡
Multi-tenant L402 (Lightning HTTP 402) paywall-as-a-service. Add Bitcoin micropayments to any website in minutes. No Lightning node required.
Architecture
- Runtime: Cloudflare Worker (TypeScript)
- Database: Cloudflare D1 (SQLite)
- Lightning: LNbits (external, via env secrets)
- Auth: LNURL-auth (wallet login) + email signup
- Revenue: Fee-on-creation (configurable %, default 2%)
Setup
Prerequisites
- Wrangler CLI
- An LNbits instance with admin API key
- Node.js 18+
1. Install dependencies
npm install
2. Create D1 database
wrangler d1 create l402-gateway
# Update database_id in wrangler.toml with the returned ID
3. Run migrations
wrangler d1 execute l402-gateway --file=schema.sql
wrangler d1 execute l402-gateway --file=migrations/002-api-key-hash.sql
wrangler d1 execute l402-gateway --file=migrations/003-email-verification.sql
wrangler d1 execute l402-gateway --file=migrations/004-lnurl-auth.sql
wrangler d1 execute l402-gateway --file=migrations/005-security-fixes.sql
wrangler d1 execute l402-gateway --file=migrations/006-resources.sql
4. Set secrets
wrangler secret put LNBITS_URL # LNbits instance URL
wrangler secret put LNBITS_ADMIN_KEY # LNbits admin API key
wrangler secret put GATEWAY_ADMIN_TOKEN # Admin auth token
wrangler secret put MACAROON_SECRET # HMAC key for macaroon signing
wrangler secret put ENCRYPTION_KEY # AES-256-GCM key for tenant secrets
5. Deploy
wrangler deploy
API Overview
| Endpoint | Method | Auth | Description |
|---|---|---|---|
/health |
GET | — | Health check |
/auth/lnurl |
GET | — | LNURL-auth challenge |
/api/v1/signup |
POST | — | Public self-service signup |
/api/v1/tenants |
POST | Admin | Create tenant (admin) |
/api/v1/tenants/me |
GET | Tenant | Get tenant info |
/api/v1/invoice |
POST | Tenant | Create L402 invoice |
/api/v1/verify |
GET | L402 | Verify L402 token |
/api/v1/status/:hash |
GET | Tenant | Check payment status |
/api/v1/payments |
GET | Tenant | List payments |
/api/v1/stats |
GET | Tenant | Payment statistics |
/api/v1/balance |
GET | Tenant | Wallet balance |
/api/v1/withdraw |
POST | Tenant | LNURL-withdraw |
/api/v1/resources |
POST/GET | Tenant | Manage resources |
/mcp |
POST | Tenant | MCP Remote Server (JSON-RPC 2.0) |
Use with AI Agents — MCP Remote Server
L402 Gateway implements the Model Context Protocol (MCP) for seamless AI agent integration.
What is MCP?
MCP is a standardized protocol for AI models (Claude, etc.) to access external tools and data sources safely. The L402 Gateway exposes all payment and contract operations as MCP tools.
Available Tools (16 total)
Agent Registration:
l402_register— Create new agent account instantly
Wallet:
l402_balance— Check balancel402_deposit— Create deposit invoicel402_check_deposit— Check deposit statusl402_withdraw— Create withdrawal
Service Offers:
l402_create_offer— List a servicel402_list_offers— Browse servicesl402_get_offer— Get offer details
Contracts & Escrow:
l402_accept_offer— Accept and create contractl402_fund_contract— Fund escrowl402_list_contracts— List your contractsl402_get_contract— Get contract detailsl402_deliver— Submit delivery proofl402_confirm— Confirm & release escrowl402_dispute— Submit dispute
Accounting:
l402_ledger— View balance history
Configure in Claude Desktop
Add to ~/.claude/claude_desktop_config.json:
{
"mcpServers": {
"l402-gateway": {
"command": "npx",
"args": [
"@anthropic-ai/fetch-server",
"https://l402gw.nosaltres2.info/mcp"
],
"env": {
"X_L402_KEY": "l402_sk_your_api_key_here"
}
}
}
}
Then restart Claude Desktop. You'll now be able to:
- Register agents
- Create and accept service offers
- Manage payments & deposits
- View transaction history
Example Agent Workflow
User: "Register my agent and check if any text analysis services are available"
Claude uses MCP:
1. l402_register → "agent-0xabc123"
2. l402_list_offers → Finds text analysis services
3. l402_get_offer → Gets pricing and terms
4. [Ready to accept and fund contracts]
API Endpoint
POST https://l402gw.nosaltres2.info/mcp
Content-Type: application/json
X-L402-Key: l402_sk_...
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "l402_balance",
"arguments": {}
}
}
See MCP-ENDPOINT.md for full specification.
Quick Integration (Web Paywalls)
<!-- 1. Register a resource via API -->
<!-- 2. Add the paywall snippet -->
<div data-l402-resource="premium">
<p>Preview text only...</p>
</div>
<script src="https://l402gw.nosaltres2.info/js/l402.js"
data-api-key="l402_sk_..."></script>
Docs
Full documentation: l402gw.nosaltres2.info/docs
License
ISC
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.