Skip to content
WoompaLoompa edited this page Aug 10, 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.2 released — feature-complete for the v0.1.x 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. v0.1.2 fixes the frontend rendering (tabs/panels/dialogs collapsed because self-closing Quasar tags were mangled by the HTML parser) and adds header nav links between the index, Pay, and Subscriptions pages.

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