Funding Sources
Configure which Lightning backend LNbits connects to for real payments. Set LNBITS_BACKEND_WALLET_CLASS in your .env file.
A funding source is the Lightning backend that LNbits connects to for real payments. Set it with:
LNBITS_BACKEND_WALLET_CLASS=<BackendName>Local Lightning nodes
LND (gRPC)
LNBITS_BACKEND_WALLET_CLASS=LndWallet
LND_GRPC_ENDPOINT=127.0.0.1
LND_GRPC_PORT=10009
LND_GRPC_CERT=/path/to/tls.cert
LND_GRPC_MACAROON=hex-or-base64-macaroonLND (REST)
LNBITS_BACKEND_WALLET_CLASS=LndRestWallet
LND_REST_ENDPOINT=https://127.0.0.1:8080
LND_REST_CERT=/path/to/tls.cert
LND_REST_MACAROON=hex-encoded-macaroonCore Lightning (CLNRest)
LNBITS_BACKEND_WALLET_CLASS=CoreLightningRestWallet
CLNREST_URL=https://127.0.0.1:3010
CLNREST_RUNE=your-runeCore Lightning (RPC)
LNBITS_BACKEND_WALLET_CLASS=CoreLightningWallet
CORELIGHTNING_RPC=/path/to/lightning-rpcEclair
LNBITS_BACKEND_WALLET_CLASS=EclairWallet
ECLAIR_URL=http://127.0.0.1:8080
ECLAIR_PASS=your-passwordPhoenix (Phoenixd)
LNBITS_BACKEND_WALLET_CLASS=PhoenixdWallet
PHOENIXD_API_ENDPOINT=http://127.0.0.1:9740
PHOENIXD_API_PASSWORD=your-passwordLightning services
OpenNode
LNBITS_BACKEND_WALLET_CLASS=OpenNodeWallet
OPENNODE_API_ENDPOINT=https://api.opennode.com
OPENNODE_KEY=your-api-keyAlby
LNBITS_BACKEND_WALLET_CLASS=AlbyWallet
ALBY_API_ENDPOINT=https://api.getalby.com
ALBY_ACCESS_TOKEN=your-access-tokenStrike
LNBITS_BACKEND_WALLET_CLASS=StrikeWallet
STRIKE_API_KEY=your-api-keyBlink
LNBITS_BACKEND_WALLET_CLASS=BlinkWallet
BLINK_API_ENDPOINT=https://api.blink.sv/graphql
BLINK_TOKEN=your-api-tokenZBD (Zebedee)
LNBITS_BACKEND_WALLET_CLASS=ZBDWallet
ZBD_API_ENDPOINT=https://api.zebedee.io/v0
ZBD_API_KEY=your-api-keyAdditional Lightning services
LNPay
LNBITS_BACKEND_WALLET_CLASS=LNPayWallet
LNPAY_API_ENDPOINT=https://api.lnpay.co/v1
LNPAY_API_KEY=your-api-key
LNPAY_WALLET_KEY=your-wallet-keyLNTips
LNBITS_BACKEND_WALLET_CLASS=LnTipsWallet
LNTIPS_API_ENDPOINT=https://api.ln.tips
LNTIPS_API_KEY=your-api-keyCliche
LNBITS_BACKEND_WALLET_CLASS=ClicheWallet
CLICHE_ENDPOINT=ws://127.0.0.1:12000LightningTipBot (LNTXBOT)
LNBITS_BACKEND_WALLET_CLASS=LntxbotWallet
LNTXBOT_API_ENDPOINT=https://lntxbot.com
LNTXBOT_KEY=your-api-keySpark (CLN)
LNBITS_BACKEND_WALLET_CLASS=SparkWallet
SPARK_URL=http://127.0.0.1:9737/rpc
SPARK_TOKEN=your-access-keyAdvanced backends
Spark (L2)
Self-custodial, seed-based wallet via an external Node.js sidecar. No Lightning node required - liquidity is managed automatically.
LNBITS_BACKEND_WALLET_CLASS=SparkL2Wallet
SPARK_L2_NETWORK=MAINNET
SPARK_L2_EXTERNAL_ENDPOINT=http://127.0.0.1:8765
SPARK_L2_EXTERNAL_API_KEY=your-api-keyOptional tuning:
# SPARK_L2_PAY_WAIT_MS=4000
# SPARK_L2_PAY_POLL_MS=500
# SPARK_L2_STREAM_KEEPALIVE_MS=15000Nostr Wallet Connect (NWC)
LNBITS_BACKEND_WALLET_CLASS=NWCWallet
NWC_PAIRING_URL=nostr+walletconnect://...Breez SDK
LNBITS_BACKEND_WALLET_CLASS=BreezSdkWallet
BREEZ_API_KEY=your-api-key
BREEZ_GREENLIGHT_SEED=your-seedBoltz (Submarine Swaps)
LNBITS_BACKEND_WALLET_CLASS=BoltzWallet
BOLTZ_API_URL=https://api.boltz.exchange
BOLTZ_REFERRAL_ID=lnbitsTesting backends
VoidWallet
The default backend. Accepts all API calls but doesn't process real Lightning payments. Use for exploring the UI.
LNBITS_BACKEND_WALLET_CLASS=VoidWalletFakeWallet
Simulates a Lightning node - invoices are auto-paid, payments always succeed. Use for development and testing.
LNBITS_BACKEND_WALLET_CLASS=FakeWallet
FAKE_WALLET_SECRET=development-secretTIP
FakeWallet is the best choice for extension development. It responds instantly and never fails, so you can focus on your code.
Backend features
Not all backends support all features:
| Feature | LND | CLN | Eclair | Phoenix | Services |
|---|---|---|---|---|---|
| Create invoice | Yes | Yes | Yes | Yes | Yes |
| Pay invoice | Yes | Yes | Yes | Yes | Yes |
| Hold invoices | Yes | Some | No | No | No |
| Node management | Yes | Yes | No | No | No |
| Channel management | Yes | Yes | No | No | No |
Switching backends
- Stop LNbits
- Update
LNBITS_BACKEND_WALLET_CLASSand related variables in.env - Restart LNbits
WARNING
Wallet balances are tracked internally. Switching backends doesn't affect user balances, but the new backend must have sufficient liquidity to cover all existing wallet balances.