Lightning Labs Lightning API

The Lightning API from Lightning Labs — 64 operation(s) for lightning.

Operations 71

GET /v1/aliases/list lncli: `listaliases` ListAliases returns the set of all aliases that have ever… #
GET /v1/balance/blockchain lncli: `walletbalance` WalletBalance returns total unspent outputs(confirmed… #
GET /v1/balance/channels lncli: `channelbalance` ChannelBalance returns a report on the total funds… #
GET /v1/channels lncli: `listchannels` ListChannels returns a description of all the open… #
POST /v1/channels OpenChannelSync is a synchronous version of the OpenChannel RPC call. #
DELETE /v1/channels/abandon/{channel_point.funding_txid_str}/{channel_point.output_index} lncli: `abandonchannel` AbandonChannel removes all channel state from the… #
POST /v1/channels/acceptor ChannelAcceptor dispatches a bi-directional streaming RPC in which OpenChannel… #
GET /v1/channels/backup ExportAllChannelBackups returns static channel backups for all existing… #
POST /v1/channels/backup/restore lncli: `restorechanbackup` RestoreChannelBackups accepts a set of singular… #
GET /v1/channels/backup/subscribe SubscribeChannelBackups allows a client to sub-subscribe to the most up to date… #
POST /v1/channels/backup/verify lncli: `verifychanbackup` VerifyChanBackup allows a caller to verify the… #
GET /v1/channels/backup/{chan_point.funding_txid_str}/{chan_point.output_index} lncli: `exportchanbackup` ExportChannelBackup attempts to return an encrypted… #
POST /v1/channels/batch lncli: `batchopenchannel` BatchOpenChannel attempts to open multiple… #
GET /v1/channels/closed lncli: `closedchannels` ClosedChannels returns a description of all the closed… #
GET /v1/channels/pending lncli: `pendingchannels` PendingChannels returns a list of all the channels… #
POST /v1/channels/stream lncli: `openchannel` OpenChannel attempts to open a singly funded channel… #
GET /v1/channels/subscribe SubscribeChannelEvents creates a uni-directional stream from the server to the… #
POST /v1/channels/transaction-stream lncli: `sendpayment` Deprecated, use routerrpc.SendPaymentV2. #
POST /v1/channels/transactions Deprecated, use routerrpc.SendPaymentV2. #
POST /v1/channels/transactions/route Deprecated, use routerrpc.SendToRouteV2. #
DELETE /v1/channels/{channel_point.funding_txid_str}/{channel_point.output_index} lncli: `closechannel` CloseChannel attempts to close an active channel… #
POST /v1/chanpolicy lncli: `updatechanpolicy` UpdateChannelPolicy allows the caller to update the… #
POST /v1/custommessage lncli: `sendcustom` SendCustomMessage sends a custom peer message #
GET /v1/custommessage/subscribe lncli: `subscribecustom` SubscribeCustomMessages subscribes to a stream of… #
POST /v1/debuglevel lncli: `debuglevel` DebugLevel allows a caller to programmatically set the… #
GET /v1/fees lncli: `feereport` FeeReport allows the caller to obtain a report detailing the… #
POST /v1/funding/step FundingStateStep is an advanced funding related call that allows the caller to… #
GET /v1/getdebuginfo lncli: 'getdebuginfo' GetDebugInfo returns debug information concerning the… #
GET /v1/getinfo lncli: `getinfo` GetInfo returns general information concerning the lightning… #
GET /v1/getrecoveryinfo * lncli: `getrecoveryinfo` GetRecoveryInfo returns information concerning the… #
GET /v1/graph lncli: `describegraph` DescribeGraph returns a description of the latest graph… #
GET /v1/graph/edge/{chan_id} lncli: `getchaninfo` GetChanInfo returns the latest authenticated network… #
GET /v1/graph/info lncli: `getnetworkinfo` GetNetworkInfo returns some basic stats about the known… #
GET /v1/graph/node/{pub_key} lncli: `getnodeinfo` GetNodeInfo returns the latest advertised, aggregated, and… #
GET /v1/graph/nodemetrics lncli: `getnodemetrics` GetNodeMetrics returns node metrics calculated from the… #
GET /v1/graph/routes/{pub_key}/{amt} lncli: `queryroutes` QueryRoutes attempts to query the daemon's Channel Router… #
POST /v1/graph/routes/{pub_key}/{amt} lncli: `queryroutes` QueryRoutes attempts to query the daemon's Channel Router… #
GET /v1/graph/subscribe SubscribeChannelGraph launches a streaming RPC that allows the caller to… #
GET /v1/htlc-resolution/{chan_id}/{htlc_index} LookupHtlcResolution retrieves a final htlc resolution from the database. #
GET /v1/invoice/{r_hash_str} lncli: `lookupinvoice` LookupInvoice attempts to look up an invoice according… #
GET /v1/invoices lncli: `listinvoices` ListInvoices returns a list of all the invoices currently… #
DELETE /v1/invoices lncli: `deletecanceledinvoice` DeleteCanceledInvoice removes a canceled invoice… #
POST /v1/invoices lncli: `addinvoice` AddInvoice attempts to add a new invoice to the invoice… #
GET /v1/invoices/subscribe SubscribeInvoices returns a uni-directional stream (server -> client) for… #
POST /v1/macaroon lncli: `bakemacaroon` BakeMacaroon allows the creation of a new macaroon with… #
POST /v1/macaroon/checkpermissions CheckMacaroonPermissions checks whether the provided macaroon contains all the… #
GET /v1/macaroon/ids lncli: `listmacaroonids` ListMacaroonIDs returns all root key IDs that are in… #
GET /v1/macaroon/permissions lncli: `listpermissions` ListPermissions lists all RPC method URIs and their… #
DELETE /v1/macaroon/{root_key_id} lncli: `deletemacaroonid` DeleteMacaroonID deletes the specified macaroon ID… #
POST /v1/middleware RegisterRPCMiddleware adds a new gRPC middleware to the interceptor chain. #
GET /v1/newaddress lncli: `newaddress` NewAddress creates a new address under control of the local… #
POST /v1/onionmessage lncli: `sendonion` SendOnionMessage sends an onion message to a peer #
GET /v1/onionmessage/subscribe lncli: `subscribeonion` SubscribeOnionMessages subscribes to a stream of… #
DELETE /v1/payment lncli: `deletepayments` DeletePayment deletes an outgoing payment from DB. #
GET /v1/payments lncli: `listpayments` ListPayments returns a list of all outgoing payments #
DELETE /v1/payments lncli: `deletepayments --all` DeleteAllPayments deletes all outgoing payments… #
GET /v1/payreq/{pay_req} lncli: `decodepayreq` DecodePayReq takes an encoded payment request string and… #
GET /v1/peers lncli: `listpeers` ListPeers returns a verbose listing of all currently active… #
POST /v1/peers lncli: `connect` ConnectPeer attempts to establish a connection to a remote… #
GET /v1/peers/subscribe SubscribePeerEvents creates a uni-directional stream from the server to the… #
DELETE /v1/peers/{pub_key} lncli: `disconnect` DisconnectPeer attempts to disconnect one peer from another… #
POST /v1/signmessage lncli: `signmessage` SignMessage signs a message with this node's private key. #
POST /v1/stop lncli: `stop` StopDaemon will send a shutdown request to the interrupt handler… #
POST /v1/switch lncli: `fwdinghistory` ForwardingHistory allows the caller to query the… #
GET /v1/transactions lncli: `listchaintxns` GetTransactions returns a list describing all the known… #
POST /v1/transactions lncli: `sendcoins` SendCoins executes a request to send coins to a particular… #
GET /v1/transactions/fee lncli: `estimatefee` EstimateFee asks the chain backend to estimate the fee… #
POST /v1/transactions/many lncli: `sendmany` SendMany handles a request for a transaction that creates… #
GET /v1/transactions/subscribe SubscribeTransactions creates a uni-directional stream from the server to the… #
GET /v1/utxos lncli: `listunspent` Deprecated, use walletrpc.ListUnspent instead #
POST /v1/verifymessage lncli: `verifymessage` VerifyMessage verifies a signature over a message and… #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/lightning-labs-lightning-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

lightning-labs-lightning-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Labs LND Lightning API
  description: REST API for the Lightning Network Daemon (lnd) by Lightning Labs, providing programmatic access to Lightning Network nodes for sending and receiving Bitcoin payments, channel management, wallet operations, and routing.
  version: 1.0.0
tags:


# --- truncated at 32 KB (270 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/lightning-labs/refs/heads/main/openapi/lightning-labs-lightning-api-openapi.yml