Skip to content
WoompaLoompa edited this page Aug 9, 2026 · 9 revisions

lnbits-clink

A CLINK extension for LNbits — Nostr-native Lightning.

CLINK turns Lightning wallets into first-class Nostr citizens. With this extension your LNbits wallet speaks the CLINK protocol natively: it can publish offers and receive payments over Nostr, issue debit pointers for apps to charge it, pay offers (outgoing), and run recurring subscriptions against a payer's ndebit1... pointer — all over ordinary Nostr relays with NIP-44 encryption.

Status: v0.1.0 released — feature-complete for the v0.1.0 scope. The full loop (offer request → encrypted invoice → paid invoice) is verified end-to-end against a live relay, and the extension is running on a live Fly.io LNbits instance.

Features

Area What it does
Offers Create noffer1... pointers, share a public checkout page, create BOLT11 invoices on demand (fixed / variable / spontaneous prices).
Debits Mint ndebit1... pointers, enforce rules (allowed_pubkeys, min/max amounts), per-period budgets, and single-use session k1 — auto-settle direct payments and acknowledge budget requests.
Pay Offers Paste a noffer1..., parse it, and pay the resulting invoice with any LNbits wallet.
Subscriptions Define recurring plans and attach them to a payer's ndebit1... pointer. A poller bills each period via kind 21002 direct-payment requests, with retries and automatic cancellation.
Relays Manage the Nostr relays the node listens on; the listener reconnects with backoff.

Pages

  • /clink — extension index: offers, debits, relays.
  • /clink/pay — pay an offer from a noffer1... string.
  • /clink/subscriptions — plans and subscriptions.
  • /clink/checkout/{offer_id} — public checkout page for a fixed offer.

Quick links

  • Installation — getting the extension into LNbits
  • Usage — offers, debits, pay, subscriptions walkthrough
  • Protocol — the CLINK protocol layer (NIP-44, noffer/ndebit, event kinds, GFY)
  • API — REST API reference
  • Architecture — how the extension is put together
  • Development — tests, linting, and the release pipeline

Repositories

Clone this wiki locally