Sub-Wallet as a Service

Give your AI agents programmatic Lightning Network access instantly. Mint sandboxed wallets via API or natively embed our MCP server into Claude and Cursor.

API Quickstart MCP Integration Guide

Why WaaS for AI Agents?

🛡️ Zero Custody Risk

Never expose your master lightning node seed or NWC connection logic to independent scraper bots or trading agents. Isolate risk entirely.

⚡ Instant Provisioning

Create dedicated sub-wallets programmatically in milliseconds via our simple REST API. Perfect for hackathons or dynamic agent networks.

🎯 Custom Lightning Addresses

Secure premium inbound payment channels natively. Each sandboxed wallet can claim its own custom handle (e.g., [email protected]).

Simple, Transparent Pricing

Disposable Agent Sandbox

1,000 sats + budget

One-Time Flat Fee. Perfect for hackathons, automated scraping, and temporary AI agent sandboxes.

  • Time-gated: 7 to 30 day TTL
  • Programmable NWC capacity
  • Custom Lightning Address
  • Zero ongoing routing exposure
Mint Now via API

Production Agent Hub

2,500 sats/mo + 1% in

Hybrid Fee Model. Built for long-lived, continuous-running Nostr bots and production autonomous agents.

  • Unlimited timeframe TTL
  • Long-term channel liquidity reservation
  • 1% Per-transaction capacity fee
  • Full enterprise NWC routing block proxy
Contact Sales

Live API Fee Schedule ● Live from /api/v1/pricing

Real-time L402 invoice settlement rates for automated agent workloads:

Tier / Endpoint Cost Description
API Dossiers Index1 satIndex of recent API dossiers
Quick Research Report10 satsQuick research report
Basic MCP Execution15 satsBasic MCP execution
Deep Research Report50 satsDeep dive research report
Sub-Wallet Provision Base500 satsBase fee to provision sub-wallet
Custom LN Address1,000 satsPremium for custom LN Address
Machine-readable discovery: GET /api/v1/pricing




Seamless Model Context Protocol (MCP) Integration

Give Claude, Cursor, or your autonomous agent framework the ability to provision its own lightning wallets. Using our native MCP tools, your LLM can safely request budgets and send lightning payments without touching your master node.

Read the MCP Guide

Priced for Autonomous Velocity, Not Corporate Overhead

The existing Lightning app market targets human retail users with KYC gates, CAPTCHAs, and high 4% platform fees (like Fountain.fm), or targets enterprise clouds with $21/year minimums (like Alby Cloud) and $50/mo minimums (like Voltage or ZBD).

An AI agent cannot pass a CAPTCHA or type a credit card number.

Our WaaS API bridges the gap. For less than $1 USD (1,000 sats base), any headless script encountering an HTTP 402 API challenge can pay an invoice and dynamically mint a fully-funded NWC integration in 500 milliseconds. We are the only provider focused entirely on frictionless, zero-KYC programmatic orchestration.

Retail / Human Dashboard

Spin up a wallet manually

Log in with your browser extension (NIP-07) or scan a QR code with an Android Nostr signer (Amber, Nsec.app, etc.).

Developer Quickstart

Mint and manage agent wallets programmatically with automatic L402 challenge negotiation.

import httpx

# 1. Request a dynamically minted wallet
payload = {
    "name": "agent-bot-01",
    "budget_sats": 1000,
    "lightning_address": "agent-bot"
}
r = httpx.post("https://waas.ch4t.buzz/api/v1/wallet/create", json=payload)

# 2. Negotiate L402 Challenge on HTTP 402 Payment Required
if r.status_code == 402:
    auth_header = r.headers['WWW-Authenticate']
    macaroon = auth_header.split('macaroon="')[1].split('"')[0]
    invoice = auth_header.split('invoice="')[1].split('"')[0]

    # Pay invoice via your Lightning node/wallet to obtain the 64-hex preimage
    preimage = "<PAID_PAYMENT_PREIMAGE>"

    # 3. Present L402 authorization credential to mint the wallet
    res = httpx.post(
        "https://waas.ch4t.buzz/api/v1/wallet/create",
        headers={"Authorization": f"L402 {macaroon}:{preimage}"},
        json=payload
    )
    print(res.json()) # Returns { "pairing_url": "nostr+walletconnect://...", ... }
# 1. Send initial unauthenticated request to obtain L402 challenge
curl -i -X POST https://waas.ch4t.buzz/api/v1/wallet/create \
  -H "Content-Type: application/json" \
  -d '{"name": "agent-bot-01", "budget_sats": 1000}'

# Response: HTTP/1.1 402 Payment Required
# Header: WWW-Authenticate: L402 macaroon="<MACAROON>", invoice="<BOLT11>"

# 2. Pay the BOLT11 invoice and retrieve the preimage, then mint:
curl -X POST https://waas.ch4t.buzz/api/v1/wallet/create \
  -H "Content-Type: application/json" \
  -H "Authorization: L402 <MACAROON>:<PREIMAGE>" \
  -d '{"name": "agent-bot-01", "budget_sats": 1000}'
async function mintAgentWallet() {
  const payload = { name: "agent-bot-01", budget_sats: 1000 };
  let res = await fetch("https://waas.ch4t.buzz/api/v1/wallet/create", {
    method: "POST",
    headers: { "Content-Type": "application/json" },
    body: JSON.stringify(payload)
  });

  if (res.status === 402) {
    const auth = res.headers.get("WWW-Authenticate") || "";
    const macaroon = auth.match(/macaroon="([^"]+)"/)?.[1];
    const invoice = auth.match(/invoice="([^"]+)"/)?.[1];

    // Settle BOLT11 invoice (e.g. via WebLN / Alby) to get preimage
    const { preimage } = await window.webln.sendPayment(invoice);

    // Settle L402 handshake and obtain NWC pairing string
    res = await fetch("https://waas.ch4t.buzz/api/v1/wallet/create", {
      method: "POST",
      headers: {
        "Content-Type": "application/json",
        "Authorization": `L402 ${macaroon}:${preimage}`
      },
      body: JSON.stringify(payload)
    });
  }
  const data = await res.json();
  console.log("Provisioned NWC URL:", data.pairing_url);
}