LND REST API — Query Node Over HTTP Without gRPC
ClawLND exposes a REST API on port 8080 (or 8443 with TLS). Here's how to query it without gRPC or lncli.
Enable and access REST API
# In lnd.conf: [Application Options] rest-listen=127.0.0.1:8080 # For TLS: # restlisten=0.0.0.0:8443 # Get macaroon as hex xxd -p -c 1000 ~/.lnd/data/chain/bitcoin/mainnet/admin.macaroon # Test: get node info curl -s \ --cacert ~/.lnd/tls.cert \ -H 'Grpc-Metadata-macaroon: <HEX_MACAROON>' \ https://127.0.0.1:8443/v1/getinfo | python3 -m json.tool
Common REST endpoints
BASE="https://127.0.0.1:8443"
MAC="Grpc-Metadata-macaroon: <HEX_MACAROON>"
CERT="--cacert ~/.lnd/tls.cert"
# Node info
curl -s $CERT -H "$MAC" $BASE/v1/getinfo
# Wallet balance
curl -s $CERT -H "$MAC" $BASE/v1/balance/blockchain
# Channel balance
curl -s $CERT -H "$MAC" $BASE/v1/balance/channels
# List channels
curl -s $CERT -H "$MAC" $BASE/v1/channels
# List invoices
curl -s $CERT -H "$MAC" $BASE/v1/invoices
# Create invoice
curl -s $CERT -H "$MAC" -X POST \
-d '{"value": 1000, "memo": "test", "expiry": 3600}' \
$BASE/v1/invoicesPython REST client (no grpc needed)
import requests, codecs
MACAROON_PATH = '/root/.lnd/data/chain/bitcoin/mainnet/admin.macaroon'
TLS_CERT_PATH = '/root/.lnd/tls.cert'
BASE_URL = 'https://127.0.0.1:8443'
with open(MACAROON_PATH, 'rb') as f:
macaroon = codecs.encode(f.read(), 'hex').decode()
headers = {'Grpc-Metadata-macaroon': macaroon}
def lnd_get(path):
r = requests.get(
f'{BASE_URL}{path}',
headers=headers,
verify=TLS_CERT_PATH
)
return r.json()
info = lnd_get('/v1/getinfo')
print(f"Node: {info['identity_pubkey'][:20]}")
print(f"Block: {info['block_height']}")
print(f"Channels: {info['num_active_channels']} active")
# Create invoice
resp = requests.post(
f'{BASE_URL}/v1/invoices',
json={'value': 1000, 'memo': 'API test', 'expiry': 3600},
headers=headers,
verify=TLS_CERT_PATH
)
print(f"Invoice: {resp.json().get('payment_request', 'error')[:50]}...")Need API integration help? $9
I build LND REST/gRPC integrations and debug API connectivity issues. USDT TRC-20.