One sat per call does not build a business, but it makes a scraper unprofitable — and proof-of-work achieves the same without anyone creating an account. What comes out the other end is a signed receipt per call, which is the part that survives being questioned later.
An authentication and metering layer for agent-facing APIs. An agent proves work or pays sats, receives a short-lived JWT, and each subsequent paid call is metered and recorded as an HMAC-signed receipt that can be verified offline.
- liveauth_mcp_start begins a session and returns a proof-of-work challenge, a Lightning invoice, or an L402 bundle hint
- liveauth_mcp_confirm takes a solved challenge, a paid invoice or an L402 macaroon and returns a JWT
- liveauth_mcp_charge meters usage after a call; with toolName it resolves registered per-tool pricing and records a paid revenue event
- liveauth_mcp_refresh exchanges a refresh token for a new JWT with no re-authentication
- liveauth_mcp_status polls session and payment state, including Lightning confirmation and expiry
- liveauth_mcp_lnurl fetches the BOLT11 invoice for a session
- liveauth_mcp_usage reports remaining budget, calls used and rate-limit windows
- Receipts are signed as mcp-call-receipt-v1, so an auditor can check one without calling the service
Npx @liveauth-labs/mcp-server runs with no configuration at all — it falls back to LiveAuth's anonymous demo project and the real proof-of-work flow, so the whole handshake can be exercised without an account. LIVEAUTH_API_KEY, an la_pk_ public key from liveauth.app, selects a specific project's policy, pricing and attribution. LIVEAUTH_API_BASE defaults to https://api.liveauth.app and points at a self-hosted instance; LIVEAUTH_DEMO defaults to false and switches on the older locally simulated Lightning demo.
One command — npx @liveauth-labs/mcp-server
