BTCNutServer

  • Name: BTCNutServer
  • URL: https://github.com/cashubtc/BTCNutServer
  • Category: Cashu-ecash merchant payments plugin / BTCPay Server extension / merchant wallet-and-settlement control plane
  • Tags: bitcoin-ecosystem
  • Summary: BTCNutServer is a BTCPay Server plugin for merchants that want Cashu without pretending mint trust disappeared. The job is settlement-policy glue: store wallets, mint allowlists, hold-versus-melt behavior, recovery jobs, and admin APIs. Small tool, real workflow.
  • What it does:
    • Adds Cashu ecash acceptance to BTCPay Server invoice flows
    • Supports NUT-18 payment requests with QR checkout and pasted Cashu v4 token input
    • Offers multiple merchant settlement modes, including trusted-mint hold, trust-aware hold-or-melt behavior, and full auto-convert to Lightning
    • Creates a per-store embedded wallet that groups proofs by mint and unit and can export balances as Cashu tokens
    • Exposes a custom Cashu-backed ILightningClient so BTCPay can use a mint as a receive and payout backend for certain Lightning flows
    • Tracks failed swaps or melts and retries recovery automatically, while also exposing management endpoints through a Greenfield-style REST API
  • Key claims:
    • The official README says BTCNutServer is a BTCPay Server plugin that lets merchants accept Bitcoin payments via Cashu ecash tokens
    • The README defines three operating modes — Trusted Mints Only, Hold When Trusted, and Auto Convert — which shows the product is managing merchant trust and settlement policy, not only token receipt
    • The README says each store gets an embedded wallet, with proofs grouped by mint and unit, plus mnemonic generation and background restore support
    • The checkout flow in the README says the invoice page displays a NUT-18 payment request as a cashu://... QR code and also allows serialized-token paste, reinforcing that the plugin is coordinating both interactive and fallback merchant payment paths
    • The README says the plugin registers a custom ILightningClient that creates NUT-04 mint quotes, listens for confirmation over NUT-17 WebSockets, and pays outbound Lightning invoices by melting proofs through NUT-05
    • The README says payment-recovery jobs retry failed transactions automatically every 2 minutes with exponential backoff, which is a strong sign that BTCNutServer is operating a merchant settlement workflow rather than a stateless checkout gimmick
    • The BTCPay plugin-builder page describes the project as enabling Cashu ecash payments in BTCPay Server and explicitly warns that it is still early beta
    • The official Cashu projects page highlights BTCNutServer as a project that enables BTCPay Server to accept Bitcoin payments via Cashu tokens, confirming it is considered a real ecosystem merchant integration rather than a private experiment
  • Whitepaper: No canonical standalone BTCNutServer whitepaper or litepaper surfaced in this pass. The clearest current sources of truth were the official GitHub README, the BTCPay plugin listing, and the official Cashu project directory; see ../whitepapers/btcnutserver-primary-sources-2026-05-02.md.
  • Sources:

Internal linkages

Control surface

  • Authority sits in mint allowlists, store-wallet policy, hold-versus-melt defaults, recovery-job behavior, and how the plugin maps Cashu trust assumptions into BTCPay settlement flows.

  • Read it as trust-policy glue inside a stronger merchant stack, not as a standalone payments rail.

  • Last reviewed: 2026-06-04 UTC