Lightning Labs website screenshot

Lightning Labs

At Lightning Labs, we develop software that powers the Lightning Network. Our open source, secure, and scalable Lightning systems enable users to send and receive money more efficiently than ever before. We also offer a series of verifiable, non-custodial Lightning-based financial services. We bridge the world of open source software and the next-generation of bitcoin financial software.

1 APIs 0 Features
BitcoinCryptoLightning NetworkPayments

APIs

Lightning Labs LND API

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 m...

Collections

Pricing Plans

Rate Limits

Lightning Labs Rate Limits

5 limits

RATE LIMITS

FinOps

Resources

🔗
LinkedIn
LinkedIn
👥
GitHubOrganization
GitHubOrganization

Sources

Raw ↑
opencollection: 1.0.0
info:
  name: Lightning Labs LND API
  version: 1.0.0
items:
- info:
    name: Lightning
    type: folder
  items:
  - info:
      name: 'lncli: `listaliases`

        ListAliases returns the set of all aliases that have ever existed with

        their confirmed SCID (if it exists) and/or the base SCID (in the case of

        zero conf).'
      type: http
    http:
      method: GET
      url: '{{baseUrl}}/v1/aliases/list'
    docs: 'lncli: `listaliases`

      ListAliases returns the set of all aliases that have ever existed with

      their confirmed SCID (if it exists) and/or the base SCID (in the case of

      zero conf).'
  - info:
      name: 'lncli: `walletbalance`

        WalletBalance returns total unspent outputs(confirmed and unconfirmed), all

        confirmed unspent outputs and all unconfirmed unspent outputs under control

        of the wallet.'
      type: http
    http:
      method: GET
      url: '{{baseUrl}}/v1/balance/blockchain'
      params:
      - name: account
        value: ''
        type: query
        description: 'The wallet account the balance is shown for.

          If this is not specified, the balance of the "default" account is shown.'
      - name: min_confs
        value: ''
        type: query
        description: 'The minimum number of confirmations each one of your outputs used for the

          funding transaction must satisfy. If this is not specified, the default

          value of 1 is used.'
    docs: 'lncli: `walletbalance`

      WalletBalance returns total unspent outputs(confirmed and unconfirmed), all

      confirmed unspent outputs and all unconfirmed unspent outputs under control

      of the wallet.'
  - info:
      name: 'lncli: `channelbalance`

        ChannelBalance returns a report on the total funds across all open channels,

        categorized in local/remote, pending local/remote and unsettled local/remote

        balances.'
      type: http
    http:
      method: GET
      url: '{{baseUrl}}/v1/balance/channels'
    docs: 'lncli: `channelbalance`

      ChannelBalance returns a report on the total funds across all open channels,

      categorized in local/remote, pending local/remote and unsettled local/remote

      balances.'
  - info:
      name: 'lncli: `listchannels`

        ListChannels returns a description of all the open channels that this node

        is a participant in.'
      type: http
    http:
      method: GET
      url: '{{baseUrl}}/v1/channels'
      params:
      - name: active_only
        value: ''
        type: query
      - name: inactive_only
        value: ''
        type: query
      - name: public_only
        value: ''
        type: query
      - name: private_only
        value: ''
        type: query
      - name: peer
        value: ''
        type: query
        description: 'Filters the response for channels with a target peer''s pubkey. If peer is

          empty, all channels will be returned.'
      - name: peer_alias_lookup
        value: ''
        type: query
        description: 'Informs the server if the peer alias lookup per channel should be

          enabled. It is turned off by default in order to avoid degradation of

          performance for existing clients.'
    docs: 'lncli: `listchannels`

      ListChannels returns a description of all the open channels that this node

      is a participant in.'
  - info:
      name: 'OpenChannelSync is a synchronous version of the OpenChannel RPC call. This

        call is meant to be consumed by clients to the REST proxy. As with all

        other sync calls, all byte slices are intended to be populated as hex

        encoded strings.'
      type: http
    http:
      method: POST
      url: '{{baseUrl}}/v1/channels'
    docs: 'OpenChannelSync is a synchronous version of the OpenChannel RPC call. This

      call is meant to be consumed by clients to the REST proxy. As with all

      other sync calls, all byte slices are intended to be populated as hex

      encoded strings.'
  - info:
      name: 'lncli: `abandonchannel`

        AbandonChannel removes all channel state from the database except for a

        close summary. This method can be used to get rid of permanently unusable

        channels due to bugs fixed in newer versions of lnd. This method can also be

        used to remove externally funded channels where the funding transaction was

        never broadcast. Only available for non-externally funded channels in dev

        build.'
      type: http
    http:
      method: DELETE
      url: '{{baseUrl}}/v1/channels/abandon/:channel_point.funding_txid_str/:channel_point.output_index'
      params:
      - name: channel_point.funding_txid_str
        value: ''
        type: path
        description: 'Hex-encoded string representing the byte-reversed hash of the funding

          transaction.'
      - name: channel_point.output_index
        value: ''
        type: path
        description: The index of the output of the funding transaction
      - name: channel_point.funding_txid_bytes
        value: ''
        type: query
        description: 'Txid of the funding transaction. When using REST, this field must be

          encoded as base64.'
      - name: pending_funding_shim_only
        value: ''
        type: query
      - name: i_know_what_i_am_doing
        value: ''
        type: query
        description: 'Override the requirement for being in dev mode by setting this to true and

          confirming the user knows what they are doing and this is a potential foot

          gun to lose funds if used on active channels.'
    docs: 'lncli: `abandonchannel`

      AbandonChannel removes all channel state from the database except for a

      close summary. This method can be used to get rid of permanently unusable

      channels due to bugs fixed in newer versions of lnd. This method can also be

      used to remove externally funded channels where the funding transaction was

      never broadcast. Only available for non-externally funded channels in dev

      build.'
  - info:
      name: 'ChannelAcceptor dispatches a bi-directional streaming RPC in which

        OpenChannel requests are sent to the client and the client responds with

        a boolean that tells LND whether or not to accept the channel. This allows

        node operators to specify their own criteria for accepting inbound channels

        through a single persistent connection.'
      type: http
    http:
      method: POST
      url: '{{baseUrl}}/v1/channels/acceptor'
    docs: 'ChannelAcceptor dispatches a bi-directional streaming RPC in which

      OpenChannel requests are sent to the client and the client responds with

      a boolean that tells LND whether or not to accept the channel. This allows

      node operators to specify their own criteria for accepting inbound channels

      through a single persistent connection.'
  - info:
      name: 'ExportAllChannelBackups returns static channel backups for all existing

        channels known to lnd. A set of regular singular static channel backups for

        each channel are returned. Additionally, a multi-channel backup is returned

        as well, which contains a single encrypted blob containing the backups of

        each channel.'
      type: http
    http:
      method: GET
      url: '{{baseUrl}}/v1/channels/backup'
    docs: 'ExportAllChannelBackups returns static channel backups for all existing

      channels known to lnd. A set of regular singular static channel backups for

      each channel are returned. Additionally, a multi-channel backup is returned

      as well, which contains a single encrypted blob containing the backups of

      each channel.'
  - info:
      name: 'lncli: `restorechanbackup`

        RestoreChannelBackups accepts a set of singular channel backups, or a

        single encrypted multi-chan backup and attempts to recover any funds

        remaining within the channel. If we are able to unpack the backup, then the

        new channel will be shown under listchannels, as well as pending channels.'
      type: http
    http:
      method: POST
      url: '{{baseUrl}}/v1/channels/backup/restore'
    docs: 'lncli: `restorechanbackup`

      RestoreChannelBackups accepts a set of singular channel backups, or a

      single encrypted multi-chan backup and attempts to recover any funds

      remaining within the channel. If we are able to unpack the backup, then the

      new channel will be shown under listchannels, as well as pending channels.'
  - info:
      name: 'SubscribeChannelBackups allows a client to sub-subscribe to the most up to

        date information concerning the state of all channel backups. Each time a

        new channel is added, we return the new set of channels, along with a

        multi-chan backup containing the backup info for all channels. Each time a

        channel is closed, we send a new update, which contains new new chan back

        ups, but the updated set of encrypted multi-chan backups with the closed

        channel(s) removed.'
      type: http
    http:
      method: GET
      url: '{{baseUrl}}/v1/channels/backup/subscribe'
    docs: 'SubscribeChannelBackups allows a client to sub-subscribe to the most up to

      date information concerning the state of all channel backups. Each time a

      new channel is added, we return the new set of channels, along with a

      multi-chan backup containing the backup info for all channels. Each time a

      channel is closed, we send a new update, which contains new new chan back

      ups, but the updated set of encrypted multi-chan backups with the closed

      channel(s) removed.'
  - info:
      name: 'lncli: `verifychanbackup`

        VerifyChanBackup allows a caller to verify the integrity of a channel backup

        snapshot. This method will accept either a packed Single or a packed Multi.

        Specifying both will result in an error.'
      type: http
    http:
      method: POST
      url: '{{baseUrl}}/v1/channels/backup/verify'
    docs: 'lncli: `verifychanbackup`

      VerifyChanBackup allows a caller to verify the integrity of a channel backup

      snapshot. This method will accept either a packed Single or a packed Multi.

      Specifying both will result in an error.'
  - info:
      name: 'lncli: `exportchanbackup`

        ExportChannelBackup attempts to return an encrypted static channel backup

        for the target channel identified by it channel point. The backup is

        encrypted with a key generated from the aezeed seed of the user. The

        returned backup can either be restored using the RestoreChannelBackup

        method once lnd is running, or via the InitWallet and UnlockWallet methods

        from the WalletUnlocker service.'
      type: http
    http:
      method: GET
      url: '{{baseUrl}}/v1/channels/backup/:chan_point.funding_txid_str/:chan_point.output_index'
      params:
      - name: chan_point.funding_txid_str
        value: ''
        type: path
        description: 'Hex-encoded string representing the byte-reversed hash of the funding

          transaction.'
      - name: chan_point.output_index
        value: ''
        type: path
        description: The index of the output of the funding transaction
      - name: chan_point.funding_txid_bytes
        value: ''
        type: query
        description: 'Txid of the funding transaction. When using REST, this field must be

          encoded as base64.'
    docs: 'lncli: `exportchanbackup`

      ExportChannelBackup attempts to return an encrypted static channel backup

      for the target channel identified by it channel point. The backup is

      encrypted with a key generated from the aezeed seed of the user. The

      returned backup can either be restored using the RestoreChannelBackup

      method once lnd is running, or via the InitWallet and UnlockWallet methods

      from the WalletUnlocker service.'
  - info:
      name: 'lncli: `batchopenchannel`

        BatchOpenChannel attempts to open multiple single-funded channels in a

        single transaction in an atomic way. This means either all channel open

        requests succeed at once or all attempts are aborted if any of them fail.

        This is the safer variant of using PSBTs to manually fund a batch of

        channels through the OpenChannel RPC.'
      type: http
    http:
      method: POST
      url: '{{baseUrl}}/v1/channels/batch'
    docs: 'lncli: `batchopenchannel`

      BatchOpenChannel attempts to open multiple single-funded channels in a

      single transaction in an atomic way. This means either all channel open

      requests succeed at once or all attempts are aborted if any of them fail.

      This is the safer variant of using PSBTs to manually fund a batch of

      channels through the OpenChannel RPC.'
  - info:
      name: 'lncli: `closedchannels`

        ClosedChannels returns a description of all the closed channels that

        this node was a participant in.'
      type: http
    http:
      method: GET
      url: '{{baseUrl}}/v1/channels/closed'
      params:
      - name: cooperative
        value: ''
        type: query
      - name: local_force
        value: ''
        type: query
      - name: remote_force
        value: ''
        type: query
      - name: breach
        value: ''
        type: query
      - name: funding_canceled
        value: ''
        type: query
      - name: abandoned
        value: ''
        type: query
    docs: 'lncli: `closedchannels`

      ClosedChannels returns a description of all the closed channels that

      this node was a participant in.'
  - info:
      name: 'lncli: `pendingchannels`

        PendingChannels returns a list of all the channels that are currently

        considered "pending". A channel is pending if it has finished the funding

        workflow and is waiting for confirmations for the funding txn, or is in the

        process of closure, either initiated cooperatively or non-cooperatively.'
      type: http
    http:
      method: GET
      url: '{{baseUrl}}/v1/channels/pending'
      params:
      - name: include_raw_tx
        value: ''
        type: query
        description: 'Indicates whether to include the raw transaction hex for

          waiting_close_channels.'
    docs: 'lncli: `pendingchannels`

      PendingChannels returns a list of all the channels that are currently

      considered "pending". A channel is pending if it has finished the funding

      workflow and is waiting for confirmations for the funding txn, or is in the

      process of closure, either initiated cooperatively or non-cooperatively.'
  - info:
      name: 'lncli: `openchannel`

        OpenChannel attempts to open a singly funded channel specified in the

        request to a remote peer. Users are able to specify a target number of

        blocks that the funding transaction should be confirmed in, or a manual fee

        rate to us for the funding transaction. If neither are specified, then a

        lax block confirmation target is used. Each OpenStatusUpdate will return

        the pending channel ID of the in-progress channel. Depending on the

        arguments specified in the OpenChannelRequest, this pending channel ID can

        then be used to manually progress the channel funding flow.'
      type: http
    http:
      method: POST
      url: '{{baseUrl}}/v1/channels/stream'
    docs: 'lncli: `openchannel`

      OpenChannel attempts to open a singly funded channel specified in the

      request to a remote peer. Users are able to specify a target number of

      blocks that the funding transaction should be confirmed in, or a manual fee

      rate to us for the funding transaction. If neither are specified, then a

      lax block confirmation target is used. Each OpenStatusUpdate will return

      the pending channel ID of the in-progress channel. Depending on the

      arguments specified in the OpenChannelRequest, t'
  - info:
      name: 'SubscribeChannelEvents creates a uni-directional stream from the server to

        the client in which any updates relevant to the state of the channels are

        sent over. Events include new active channels, inactive channels, and closed

        channels.'
      type: http
    http:
      method: GET
      url: '{{baseUrl}}/v1/channels/subscribe'
    docs: 'SubscribeChannelEvents creates a uni-directional stream from the server to

      the client in which any updates relevant to the state of the channels are

      sent over. Events include new active channels, inactive channels, and closed

      channels.'
  - info:
      name: 'lncli: `sendpayment`

        Deprecated, use routerrpc.SendPaymentV2. SendPayment dispatches a

        bi-directional streaming RPC for sending payments through the Lightning

        Network. A single RPC invocation creates a persistent bi-directional

        stream allowing clients to rapidly send payments through the Lightning

        Network with a single persistent connection.'
      type: http
    http:
      method: POST
      url: '{{baseUrl}}/v1/channels/transaction-stream'
    docs: 'lncli: `sendpayment`

      Deprecated, use routerrpc.SendPaymentV2. SendPayment dispatches a

      bi-directional streaming RPC for sending payments through the Lightning

      Network. A single RPC invocation creates a persistent bi-directional

      stream allowing clients to rapidly send payments through the Lightning

      Network with a single persistent connection.'
  - info:
      name: 'Deprecated, use routerrpc.SendPaymentV2. SendPaymentSync is the synchronous

        non-streaming version of SendPayment. This RPC is intended to be consumed by

        clients of the REST proxy. Additionally, this RPC expects the destination''s

        public key and the payment hash (if any) to be encoded as hex strings.'
      type: http
    http:
      method: POST
      url: '{{baseUrl}}/v1/channels/transactions'
    docs: 'Deprecated, use routerrpc.SendPaymentV2. SendPaymentSync is the synchronous

      non-streaming version of SendPayment. This RPC is intended to be consumed by

      clients of the REST proxy. Additionally, this RPC expects the destination''s

      public key and the payment hash (if any) to be encoded as hex strings.'
  - info:
      name: 'Deprecated, use routerrpc.SendToRouteV2. SendToRouteSync is a synchronous

        version of SendToRoute. It Will block until the payment either fails or

        succeeds.'
      type: http
    http:
      method: POST
      url: '{{baseUrl}}/v1/channels/transactions/route'
    docs: 'Deprecated, use routerrpc.SendToRouteV2. SendToRouteSync is a synchronous

      version of SendToRoute. It Will block until the payment either fails or

      succeeds.'
  - info:
      name: 'lncli: `closechannel`

        CloseChannel attempts to close an active channel identified by its channel

        outpoint (ChannelPoint). The actions of this method can additionally be

        augmented to attempt a force close after a timeout period in the case of an

        inactive peer. If a non-force close (cooperative closure) is requested,

        then the user can specify either a target number of blocks until the

        closure transaction is confirmed, or a manual fee rate. If neither are

        specified, then a default lax, block confirmation target is used.'
      type: http
    http:
      method: DELETE
      url: '{{baseUrl}}/v1/channels/:channel_point.funding_txid_str/:channel_point.output_index'
      params:
      - name: channel_point.funding_txid_str
        value: ''
        type: path
        description: 'Hex-encoded string representing the byte-reversed hash of the funding

          transaction.'
      - name: channel_point.output_index
        value: ''
        type: path
        description: The index of the output of the funding transaction
      - name: channel_point.funding_txid_bytes
        value: ''
        type: query
        description: 'Txid of the funding transaction. When using REST, this field must be

          encoded as base64.'
      - name: force
        value: ''
        type: query
        description: 'If true, then the channel will be closed forcibly. This means the

          current commitment transaction will be signed and broadcast.'
      - name: target_conf
        value: ''
        type: query
        description: 'The target number of blocks that the closure transaction should be

          confirmed by.'
      - name: sat_per_byte
        value: ''
        type: query
        description: 'Deprecated, use sat_per_vbyte.

          A manual fee rate set in sat/vbyte that should be used when crafting the

          closure transaction.'
      - name: delivery_address
        value: ''
        type: query
        description: 'An optional address to send funds to in the case of a cooperative close.

          If the channel was opened with an upfront shutdown script and this field

          is set, the request to close will fail because the channel must pay out

          to the upfront shutdown addresss.'
      - name: sat_per_vbyte
        value: ''
        type: query
        description: 'A manual fee rate set in sat/vbyte that should be used when crafting the

          closure transaction.'
      - name: max_fee_per_vbyte
        value: ''
        type: query
        description: 'The maximum fee rate the closer is willing to pay.


          NOTE: This field is only respected if we''re the initiator of the channel.'
      - name: no_wait
        value: ''
        type: query
        description: 'If true, then the rpc call will not block while it awaits a closing txid

          to be broadcasted to the mempool. To obtain the closing tx one has to

          listen to the stream for the particular updates. Moreover if a coop close

          is specified and this flag is set to true the coop closing flow will be

          initiated even if HTLCs are active on the channel. The channel will wait

          until all HTLCs are resolved and then start the coop closing process. The

          channel will be disabled in the meantime and will disallow any new HTLCs.'
    docs: 'lncli: `closechannel`

      CloseChannel attempts to close an active channel identified by its channel

      outpoint (ChannelPoint). The actions of this method can additionally be

      augmented to attempt a force close after a timeout period in the case of an

      inactive peer. If a non-force close (cooperative closure) is requested,

      then the user can specify either a target number of blocks until the

      closure transaction is confirmed, or a manual fee rate. If neither are

      specified, then a default lax, block confir'
  - info:
      name: 'lncli: `updatechanpolicy`

        UpdateChannelPolicy allows the caller to update the fee schedule and

        channel policies for all channels globally, or a particular channel.'
      type: http
    http:
      method: POST
      url: '{{baseUrl}}/v1/chanpolicy'
    docs: 'lncli: `updatechanpolicy`

      UpdateChannelPolicy allows the caller to update the fee schedule and

      channel policies for all channels globally, or a particular channel.'
  - info:
      name: 'lncli: `sendcustom`

        SendCustomMessage sends a custom peer message.'
      type: http
    http:
      method: POST
      url: '{{baseUrl}}/v1/custommessage'
    docs: 'lncli: `sendcustom`

      SendCustomMessage sends a custom peer message.'
  - info:
      name: 'lncli: `subscribecustom`

        SubscribeCustomMessages subscribes to a stream of incoming custom peer

        messages.'
      type: http
    http:
      method: GET
      url: '{{baseUrl}}/v1/custommessage/subscribe'
    docs: 'To include messages with type outside of the custom range (>= 32768) lnd

      needs to be compiled with  the `dev` build tag, and the message type to

      override should be specified in lnd''s experimental protocol configuration.'
  - info:
      name: 'lncli: `debuglevel`

        DebugLevel allows a caller to programmatically set the logging verbosity of

        lnd. The logging can be targeted according to a coarse daemon-wide logging

        level, or in a granular fashion to specify the logging for a target

        sub-system.'
      type: http
    http:
      method: POST
      url: '{{baseUrl}}/v1/debuglevel'
    docs: 'lncli: `debuglevel`

      DebugLevel allows a caller to programmatically set the logging verbosity of

      lnd. The logging can be targeted according to a coarse daemon-wide logging

      level, or in a granular fashion to specify the logging for a target

      sub-system.'
  - info:
      name: 'lncli: `feereport`

        FeeReport allows the caller to obtain a report detailing the current fee

        schedule enforced by the node globally for each channel.'
      type: http
    http:
      method: GET
      url: '{{baseUrl}}/v1/fees'
    docs: 'lncli: `feereport`

      FeeReport allows the caller to obtain a report detailing the current fee

      schedule enforced by the node globally for each channel.'
  - info:
      name: 'FundingStateStep is an advanced funding related call that allows the caller

        to either execute some preparatory steps for a funding workflow, or

        manually progress a funding workflow. The primary way a funding flow is

        identified is via its pending channel ID. As an example, this method can be

        used to specify that we''re expecting a funding flow for a particular

        pending channel ID, for which we need to use specific parameters.

        Alternatively, this can be used to interactively drive PSBT signing for

        funding for partially complete funding transactions.'
      type: http
    http:
      method: POST
      url: '{{baseUrl}}/v1/funding/step'
    docs: 'FundingStateStep is an advanced funding related call that allows the caller

      to either execute some preparatory steps for a funding workflow, or

      manually progress a funding workflow. The primary way a funding flow is

      identified is via its pending channel ID. As an example, this method can be

      used to specify that we''re expecting a funding flow for a particular

      pending channel ID, for which we need to use specific parameters.

      Alternatively, this can be used to interactively drive PSBT signing for

      f'
  - info:
      name: 'lncli: ''getdebuginfo''

        GetDebugInfo returns debug information concerning the state of the daemon

        and its subsystems. This includes the full configuration and the latest log

        entries from the log file.'
      type: http
    http:
      method: GET
      url: '{{baseUrl}}/v1/getdebuginfo'
      params:
      - name: include_log
        value: ''
        type: query
        description: 'If set to true, the log file content will be included in the response.

          By default, only the config information is returned.'
    docs: 'lncli: ''getdebuginfo''

      GetDebugInfo returns debug information concerning the state of the daemon

      and its subsystems. This includes the full configuration and the latest log

      entries from the log file.'
  - info:
      name: 'lncli: `getinfo`

        GetInfo returns general information concerning the lightning node including

        it''s identity pubkey, alias, the chains it is connected to, and information

        concerning the number of open+pending channels.'
      type: http
    http:
      method: GET
      url: '{{baseUrl}}/v1/getinfo'
    docs: 'lncli: `getinfo`

      GetInfo returns general information concerning the lightning node including

      it''s identity pubkey, alias, the chains it is connected to, and information

      concerning the number of open+pending channels.'
  - info:
      name: '* lncli: `getrecoveryinfo`

        GetRecoveryInfo returns information concerning the recovery mode including

        whether it''s in a recovery mode, whether the recovery is finished, and the

        progress made so far.'
      type: http
    http:
      method: GET
      url: '{{baseUrl}}/v1/getrecoveryinfo'
    docs: '* lncli: `getrecoveryinfo`

      GetRecoveryInfo returns information concerning the recovery mode including

      whether it''s in a recovery mode, whether the recovery is finished, and the

      progress made so far.'
  - info:
      name: 'lncli: `describegraph`

        DescribeGraph returns a description of the latest graph state from the

        point of view of the node. The graph information is partitioned into two

        components: all the nodes/vertexes, and all the edges that connect the

        vertexes themselves. As this is a directed graph, the edges also contain

        the node directional specific routing policy which includes: the time lock

        delta, fee information, etc.'
      type: http
    http:
      method: GET
      url: '{{baseUrl}}/v1/graph'
      params:
      - name: include_unannounced
        value: ''
        type: query
        description: 'Whether unannounced channels are included in the response or not. If set,

          unannounced channels are included. Unannounced channels are both private

          channels, and public channels that are not yet announced to the network.'
      - name: include_auth_proof
        value: ''
        type: query
        description: If true, will include announcements' signatures into ChannelEdge.
    docs: 'lncli: `describegraph`

      DescribeGraph returns a description of the latest graph state from the

      point of view of the node. The graph information is partitioned into two

      components: all the nodes/vertexes, and all the edges that connect the

      vertexes themselves. As this is a directed graph, the edges also contain

      the node directional specific routing policy which includes: the time lock

      delta, fee information, etc.'
  - info:
      name: 'lncli: `getchaninfo`

        GetChanInfo returns the latest authenticated network announcement for the

        given channel identified by its channel ID: an 8-byte integer which

        uniquely identifies the location of transaction''s funding output within the

        blockchain.'
      type: http
    http:
      method: GET
      url: '{{baseUrl}}/v1/graph/edge/:chan_id'
      params:
      - name: chan_id
        value: ''
        type: path
        description: 'The unique channel ID for the channel. The first 3 bytes are the block

          height, the next 3 the index within the block, and the last 2 bytes are the

          output index for the channel.'
      - name: chan_point
        value: ''
        type: query
        description: 'The channel point of the channel in format funding_txid:output_index. If

          chan_id is specified, this field is ignored.'
      - name: include_auth_proof
        value: ''
        type: query
        description: If true, will include announcements' signatures into ChannelEdge.
    docs: 'lncli: `getchaninfo`

      GetChanInfo returns the latest authenticated network announcement for the

      given channel identified by its channel ID: an 8-byte integer which

      uniquely identifies the location of transaction''s funding output within the

      blockchain.'
  - info:
      name: 'lncli: `getnetworkinfo`

        GetNetworkInfo returns some basic stats about the known channel graph from

        the point of view of the node.'
      type: http
    http:
      method: GET
      url: '{{baseUrl}}/v1/graph/info'
    docs: 'lncli: `getnetworkinfo`

      GetNetworkInfo returns some basic stats about the known channel graph from

      the point of view of the node.'
  - info:
      name: 'lncli: `getnodeinfo`

        GetNodeInfo returns the latest advertised, aggregated, and authenticated

        channel information for the specified node identified by its public key.'
      type: http
    http:
      method: GET
      url: '{{baseUrl}}/v1/graph/node/:pub_key'
      params:
      - name: pub_key
        value: ''
        type: path
        description: The 33-byte hex-encoded compressed public of the target node
      - name: include_channels
        value: ''
        type: query
        description: If true, will include all known channels associated with the node.
      - name: include_auth_proof
        value: ''
        type: query
        description: 'If true, will include announcements'' signatures into ChannelEdge.

          Depends on include_channels.'
    docs: 'lncli: `getnodeinfo`

      GetNodeInfo returns the lat

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