From 7713ff7c41c2a2f320bcb208912cdbb51660ab53 Mon Sep 17 00:00:00 2001 From: pretyflaco Date: Sat, 18 Jul 2026 16:51:11 +0300 Subject: [PATCH] btcpayserver-plugin: document non-custodial (Spark) accounts MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The Blink BTCPay Server plugin (v1.1.0+) now supports the new non-custodial (Spark) accounts for receiving, using a Blink lightning address instead of an API key. Add a "Non-custodial (Spark) account — receive only" section covering the connection string (type=blink;ln-address=yourname@blink.sv;), the username alias, receive-only limitations, mainnet-only support, the USDB (currency=USD) pass-through, and the polling-based settlement detection. Also note the two account types in the intro. --- docs/examples/btcpayserver-plugin.md | 27 ++++++++++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) diff --git a/docs/examples/btcpayserver-plugin.md b/docs/examples/btcpayserver-plugin.md index 9e64dce..8023f57 100644 --- a/docs/examples/btcpayserver-plugin.md +++ b/docs/examples/btcpayserver-plugin.md @@ -7,7 +7,9 @@ slug: /examples/btcpayserver-plugin Use Blink as a lightning provider in [BTCPay Server](https://btcpayserver.org).
Add the default wallet or select between BTC and Stablesats. -Available in BTCPay Server v1.12.0 and later. +The plugin works with both **custodial** Blink accounts (using an API key) and the new **non-custodial (Spark)** Blink accounts (using your Blink lightning address, for receiving). See [Non-custodial (Spark) account](#non-custodial-spark-account--receive-only) below. + +Available in BTCPay Server v1.12.0 and later. Non-custodial (Spark) support requires the Blink plugin v1.1.0 or later. ## Video Tutorial @@ -82,6 +84,29 @@ If using the USD wallet the requested invoice amount needs to be at least 1 USDc * Click `Save` to save the connection. +## Non-custodial (Spark) account — receive only + +Blink is introducing **non-custodial (Spark)** accounts. These accounts do not expose an API key or a GraphQL wallet id, so the API-key connection described above does not apply to them. Instead, the plugin receives payments through your Blink **lightning address**, and no credentials are required. + +* the connection string for a non-custodial account is: + ``` + type=blink;ln-address=yourname@blink.sv; + ``` +* a bare username is also accepted and defaults to the `blink.sv` domain, e.g. `type=blink;ln-address=yourname;` +* `username=` is accepted as an alias for `ln-address=`, e.g. `type=blink;username=yourname@blink.sv;` +* finalize the connection the same way as above: click `Test connection`, then `Save`. + +:::note +Non-custodial accounts are **receive only**. Creating invoices and receiving payments work; sending, balance and channel operations are not available, because they require the wallet seed, which BTCPay Server never holds. If you need to send from BTCPay Server, use a custodial account (with a `Write`-scoped API key) or another lightning backend. +::: + +* Only **mainnet** (`blink.sv`) is supported for non-custodial accounts. +* **USDB (non-custodial Dollar balance):** you can add `currency=USD` (`type=blink;ln-address=yourname@blink.sv;currency=USD;`). This is passed through so it works automatically once Blink enables non-custodial USD receiving; until then the connection test reports it as not yet available. + +:::note +Because there is no websocket for non-custodial accounts, the plugin detects settlement by polling. A received payment typically appears in BTCPay Server within a few seconds and up to about a minute. +::: + ## Enjoy the Benefits of Using Blink * instant inbound lightning liquidity * no channel management