Voltage
Connect a self-hosted ThunderHub to a Voltage Lightning node (mainnet or mutinynet) for full Taproot Assets support.
Voltage hosts Lightning nodes for you. Voltage nodes run litd, which means ThunderHub can connect with the litd account type and get full Taproot Assets + Magma trading support.
Works on Mainnet and Mutinynet (Voltage's signet-based testnet).
Voltage ships a built-in ThunderHub for each node, but it currently runs
v0.13.22 — pre-Taproot Assets and pre-litd connection type. This guide
is for running your own ThunderHub (v0.15.5+, latest recommended) against
the Voltage node to get the current feature set.
Prerequisites
- A Voltage account.
- A Voltage Lightning node (Standard tier or above).
- ThunderHub v0.15.5+ (the
latestDocker tag works). See Docker or From source. - Docker installed locally if you go the Docker route.
1. Create a node on Voltage

-
Sign into app.voltage.cloud and click New Node → Standard / Professional Node.
-
Pick Mainnet or Mutinynet.
-
Set a node name and unlock password.
-
Wait ~2 minutes for the node to deploy.
-
Enable Taproot Assets in the node settings.

-
Configure a price oracle so the node can trade assets. In Node Settings, set the price oracle URL:
- Mainnet:
rfqrpc://price-oracle.amboss.tech:443 - Mutinynet:
rfqrpc://price-oracle-dev.amboss.tech:443

Full details and alternatives: Price Oracle.
- Mainnet:
Mutinynet is a signet test environment — channels open in ~30 seconds and Voltage gives you free test coins. Great for trying Taproot Assets without spending real sats.
2. Get the connection details
You need two things from the Voltage dashboard.
Server URL

The API endpoint is on the node detail page. Format:
| Network | URL pattern |
|---|---|
| Mainnet | <node-name>.m.voltageapp.io:443 |
| Mutinynet | <node-name>.u.voltageapp.io:443 |
The port is 443 (HTTPS), not 10009 or 8443. Voltage terminates TLS with a
CA-signed cert — no custom certificatePath is needed.
Superadmin macaroon

- On the node page, go to Manage Access → Macaroon Bakery.
- Bake and download a superadmin macaroon.
- Save it somewhere ThunderHub can read (e.g.
./voltage/superadmin.macaroon).
A superadmin macaroon is required — an admin or read-only macaroon won't expose every litd capability.
3. Configure ThunderHub
You have two ways to hand the credentials to ThunderHub.
Option A — YAML accounts
Create a thubConfig.yaml:
masterPassword: 'your-secure-password'
accounts:
- name: 'Voltage Mainnet'
type: litd
serverUrl: '<node-name>.m.voltageapp.io:443'
macaroonPath: '/data/voltage/superadmin.macaroon'masterPassword: 'your-secure-password'
accounts:
- name: 'Voltage Mutinynet'
type: litd
serverUrl: '<node-name>.u.voltageapp.io:443'
macaroonPath: '/data/voltage/superadmin.macaroon'masterPassword: 'your-secure-password'
accounts:
- name: 'Voltage Mainnet'
type: litd
serverUrl: '<mainnet-node-name>.m.voltageapp.io:443'
macaroonPath: '/data/voltage/mainnet-superadmin.macaroon'
- name: 'Voltage Mutinynet'
type: litd
serverUrl: '<mutinynet-node-name>.u.voltageapp.io:443'
macaroonPath: '/data/voltage/mutinynet-superadmin.macaroon'Key bits versus a stock LND config:
type: litd— switches ThunderHub into the litd connection mode and exposes Taproot Assets.- No
certificatePath— Voltage's cert is CA-signed. - Port 443 — Voltage proxies the gRPC over standard HTTPS.
Option B — Database users (UI-driven)
If you've enabled the database (see Docker or Database users), skip the YAML — log into ThunderHub, click Add Node, pick litd, paste the Voltage URL and superadmin macaroon. ThunderHub encrypts both in the DB.
4. Run ThunderHub
docker run -d \
--name thunderhub \
-p 3000:3000 \
-e ACCOUNT_CONFIG_PATH=/data/thubConfig.yaml \
-v $(pwd)/thubConfig.yaml:/data/thubConfig.yaml:ro \
-v $(pwd)/voltage:/data/voltage:ro \
apotdevin/thunderhub:latestDocker Compose
services:
thunderhub:
image: apotdevin/thunderhub:latest
restart: unless-stopped
ports:
- '3000:3000'
environment:
- ACCOUNT_CONFIG_PATH=/data/thubConfig.yaml
volumes:
- ./thubConfig.yaml:/data/thubConfig.yaml:ro
- ./voltage:/data/voltage:rodocker compose up -dOpen http://localhost:3000 and log in with the masterPassword from your YAML (or the DB user email + password).

Troubleshooting
- Connection refused — the node may be stopped on the Voltage dashboard.
- Invalid macaroon — make sure you baked a superadmin macaroon. Re-bake if unsure.
- Wrong server URL — port must be
443; suffix is.m.for mainnet,.u.for mutinynet. - Taproot Assets not showing —
type: litdmust be set in the YAML (orlitdselected in the Add Node UI). Without it, ThunderHub treats the connection as plain LND. - Volume mount errors —
macaroonPathin the YAML must match the in-container path, not the host path.