swagger: '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 consumes: - application/json produces: - application/json tags: - name: Lightning paths: /v1/aliases/list: get: summary: '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).' operationId: Lightning_ListAliases responses: '200': description: A successful response. schema: $ref: '#/definitions/lnrpcListAliasesResponse' default: description: An unexpected error response. schema: $ref: '#/definitions/rpcStatus' tags: - Lightning /v1/balance/blockchain: get: summary: 'lncli: `walletbalance` WalletBalance returns total unspent outputs(confirmed and unconfirmed), all confirmed unspent outputs and all unconfirmed unspent outputs under control of the wallet.' operationId: Lightning_WalletBalance responses: '200': description: A successful response. schema: $ref: '#/definitions/lnrpcWalletBalanceResponse' default: description: An unexpected error response. schema: $ref: '#/definitions/rpcStatus' parameters: - name: account description: 'The wallet account the balance is shown for. If this is not specified, the balance of the "default" account is shown.' in: query required: false type: string - name: min_confs 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.' in: query required: false type: integer format: int32 tags: - Lightning /v1/balance/channels: get: summary: '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.' operationId: Lightning_ChannelBalance responses: '200': description: A successful response. schema: $ref: '#/definitions/lnrpcChannelBalanceResponse' default: description: An unexpected error response. schema: $ref: '#/definitions/rpcStatus' tags: - Lightning /v1/channels: get: summary: 'lncli: `listchannels` ListChannels returns a description of all the open channels that this node is a participant in.' operationId: Lightning_ListChannels responses: '200': description: A successful response. schema: $ref: '#/definitions/lnrpcListChannelsResponse' default: description: An unexpected error response. schema: $ref: '#/definitions/rpcStatus' parameters: - name: active_only in: query required: false type: boolean - name: inactive_only in: query required: false type: boolean - name: public_only in: query required: false type: boolean - name: private_only in: query required: false type: boolean - name: peer description: 'Filters the response for channels with a target peer''s pubkey. If peer is empty, all channels will be returned.' in: query required: false type: string format: byte - name: peer_alias_lookup 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.' in: query required: false type: boolean tags: - Lightning post: summary: '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.' operationId: Lightning_OpenChannelSync responses: '200': description: A successful response. schema: $ref: '#/definitions/lnrpcChannelPoint' default: description: An unexpected error response. schema: $ref: '#/definitions/rpcStatus' parameters: - name: body in: body required: true schema: $ref: '#/definitions/lnrpcOpenChannelRequest' tags: - Lightning /v1/channels/abandon/{channel_point.funding_txid_str}/{channel_point.output_index}: delete: summary: '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.' operationId: Lightning_AbandonChannel responses: '200': description: A successful response. schema: $ref: '#/definitions/lnrpcAbandonChannelResponse' default: description: An unexpected error response. schema: $ref: '#/definitions/rpcStatus' parameters: - name: channel_point.funding_txid_str description: 'Hex-encoded string representing the byte-reversed hash of the funding transaction.' in: path required: true type: string - name: channel_point.output_index description: The index of the output of the funding transaction in: path required: true type: integer format: int64 - name: channel_point.funding_txid_bytes description: 'Txid of the funding transaction. When using REST, this field must be encoded as base64.' in: query required: false type: string format: byte - name: pending_funding_shim_only in: query required: false type: boolean - name: i_know_what_i_am_doing 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.' in: query required: false type: boolean tags: - Lightning /v1/channels/acceptor: post: summary: '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.' operationId: Lightning_ChannelAcceptor responses: '200': description: A successful response.(streaming responses) schema: type: object properties: result: $ref: '#/definitions/lnrpcChannelAcceptRequest' error: $ref: '#/definitions/rpcStatus' title: Stream result of lnrpcChannelAcceptRequest default: description: An unexpected error response. schema: $ref: '#/definitions/rpcStatus' parameters: - name: body description: ' (streaming inputs)' in: body required: true schema: $ref: '#/definitions/lnrpcChannelAcceptResponse' tags: - Lightning /v1/channels/backup: get: summary: '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.' operationId: Lightning_ExportAllChannelBackups responses: '200': description: A successful response. schema: $ref: '#/definitions/lnrpcChanBackupSnapshot' default: description: An unexpected error response. schema: $ref: '#/definitions/rpcStatus' tags: - Lightning /v1/channels/backup/restore: post: summary: '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.' operationId: Lightning_RestoreChannelBackups responses: '200': description: A successful response. schema: $ref: '#/definitions/lnrpcRestoreBackupResponse' default: description: An unexpected error response. schema: $ref: '#/definitions/rpcStatus' parameters: - name: body in: body required: true schema: $ref: '#/definitions/lnrpcRestoreChanBackupRequest' tags: - Lightning /v1/channels/backup/subscribe: get: summary: '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.' operationId: Lightning_SubscribeChannelBackups responses: '200': description: A successful response.(streaming responses) schema: type: object properties: result: $ref: '#/definitions/lnrpcChanBackupSnapshot' error: $ref: '#/definitions/rpcStatus' title: Stream result of lnrpcChanBackupSnapshot default: description: An unexpected error response. schema: $ref: '#/definitions/rpcStatus' tags: - Lightning /v1/channels/backup/verify: post: summary: '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.' operationId: Lightning_VerifyChanBackup responses: '200': description: A successful response. schema: $ref: '#/definitions/lnrpcVerifyChanBackupResponse' default: description: An unexpected error response. schema: $ref: '#/definitions/rpcStatus' parameters: - name: body in: body required: true schema: $ref: '#/definitions/lnrpcChanBackupSnapshot' tags: - Lightning /v1/channels/backup/{chan_point.funding_txid_str}/{chan_point.output_index}: get: summary: '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.' operationId: Lightning_ExportChannelBackup responses: '200': description: A successful response. schema: $ref: '#/definitions/lnrpcChannelBackup' default: description: An unexpected error response. schema: $ref: '#/definitions/rpcStatus' parameters: - name: chan_point.funding_txid_str description: 'Hex-encoded string representing the byte-reversed hash of the funding transaction.' in: path required: true type: string - name: chan_point.output_index description: The index of the output of the funding transaction in: path required: true type: integer format: int64 - name: chan_point.funding_txid_bytes description: 'Txid of the funding transaction. When using REST, this field must be encoded as base64.' in: query required: false type: string format: byte tags: - Lightning /v1/channels/batch: post: summary: '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.' operationId: Lightning_BatchOpenChannel responses: '200': description: A successful response. schema: $ref: '#/definitions/lnrpcBatchOpenChannelResponse' default: description: An unexpected error response. schema: $ref: '#/definitions/rpcStatus' parameters: - name: body in: body required: true schema: $ref: '#/definitions/lnrpcBatchOpenChannelRequest' tags: - Lightning /v1/channels/closed: get: summary: 'lncli: `closedchannels` ClosedChannels returns a description of all the closed channels that this node was a participant in.' operationId: Lightning_ClosedChannels responses: '200': description: A successful response. schema: $ref: '#/definitions/lnrpcClosedChannelsResponse' default: description: An unexpected error response. schema: $ref: '#/definitions/rpcStatus' parameters: - name: cooperative in: query required: false type: boolean - name: local_force in: query required: false type: boolean - name: remote_force in: query required: false type: boolean - name: breach in: query required: false type: boolean - name: funding_canceled in: query required: false type: boolean - name: abandoned in: query required: false type: boolean tags: - Lightning /v1/channels/pending: get: summary: '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.' operationId: Lightning_PendingChannels responses: '200': description: A successful response. schema: $ref: '#/definitions/lnrpcPendingChannelsResponse' default: description: An unexpected error response. schema: $ref: '#/definitions/rpcStatus' parameters: - name: include_raw_tx description: 'Indicates whether to include the raw transaction hex for waiting_close_channels.' in: query required: false type: boolean tags: - Lightning /v1/channels/stream: post: summary: '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.' operationId: Lightning_OpenChannel responses: '200': description: A successful response.(streaming responses) schema: type: object properties: result: $ref: '#/definitions/lnrpcOpenStatusUpdate' error: $ref: '#/definitions/rpcStatus' title: Stream result of lnrpcOpenStatusUpdate default: description: An unexpected error response. schema: $ref: '#/definitions/rpcStatus' parameters: - name: body in: body required: true schema: $ref: '#/definitions/lnrpcOpenChannelRequest' tags: - Lightning /v1/channels/subscribe: get: summary: '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.' operationId: Lightning_SubscribeChannelEvents responses: '200': description: A successful response.(streaming responses) schema: type: object properties: result: $ref: '#/definitions/lnrpcChannelEventUpdate' error: $ref: '#/definitions/rpcStatus' title: Stream result of lnrpcChannelEventUpdate default: description: An unexpected error response. schema: $ref: '#/definitions/rpcStatus' tags: - Lightning /v1/channels/transaction-stream: post: summary: '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.' operationId: Lightning_SendPayment responses: '200': description: A successful response.(streaming responses) schema: type: object properties: result: $ref: '#/definitions/lnrpcSendResponse' error: $ref: '#/definitions/rpcStatus' title: Stream result of lnrpcSendResponse default: description: An unexpected error response. schema: $ref: '#/definitions/rpcStatus' parameters: - name: body description: ' (streaming inputs)' in: body required: true schema: $ref: '#/definitions/lnrpcSendRequest' tags: - Lightning /v1/channels/transactions: post: summary: '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.' operationId: Lightning_SendPaymentSync responses: '200': description: A successful response. schema: $ref: '#/definitions/lnrpcSendResponse' default: description: An unexpected error response. schema: $ref: '#/definitions/rpcStatus' parameters: - name: body in: body required: true schema: $ref: '#/definitions/lnrpcSendRequest' tags: - Lightning /v1/channels/transactions/route: post: summary: 'Deprecated, use routerrpc.SendToRouteV2. SendToRouteSync is a synchronous version of SendToRoute. It Will block until the payment either fails or succeeds.' operationId: Lightning_SendToRouteSync responses: '200': description: A successful response. schema: $ref: '#/definitions/lnrpcSendResponse' default: description: An unexpected error response. schema: $ref: '#/definitions/rpcStatus' parameters: - name: body in: body required: true schema: $ref: '#/definitions/lnrpcSendToRouteRequest' tags: - Lightning /v1/channels/{channel_point.funding_txid_str}/{channel_point.output_index}: delete: summary: '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.' operationId: Lightning_CloseChannel responses: '200': description: A successful response.(streaming responses) schema: type: object properties: result: $ref: '#/definitions/lnrpcCloseStatusUpdate' error: $ref: '#/definitions/rpcStatus' title: Stream result of lnrpcCloseStatusUpdate default: description: An unexpected error response. schema: $ref: '#/definitions/rpcStatus' parameters: - name: channel_point.funding_txid_str description: 'Hex-encoded string representing the byte-reversed hash of the funding transaction.' in: path required: true type: string - name: channel_point.output_index description: The index of the output of the funding transaction in: path required: true type: integer format: int64 - name: channel_point.funding_txid_bytes description: 'Txid of the funding transaction. When using REST, this field must be encoded as base64.' in: query required: false type: string format: byte - name: force description: 'If true, then the channel will be closed forcibly. This means the current commitment transaction will be signed and broadcast.' in: query required: false type: boolean - name: target_conf description: 'The target number of blocks that the closure transaction should be confirmed by.' in: query required: false type: integer format: int32 - name: sat_per_byte description: 'Deprecated, use sat_per_vbyte. A manual fee rate set in sat/vbyte that should be used when crafting the closure transaction.' in: query required: false type: string format: int64 - name: delivery_address 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.' in: query required: false type: string - name: sat_per_vbyte description: 'A manual fee rate set in sat/vbyte that should be used when crafting the closure transaction.' in: query required: false type: string format: uint64 - name: max_fee_per_vbyte 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.' in: query required: false type: string format: uint64 - name: no_wait 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.' in: query required: false type: boolean tags: - Lightning /v1/chanpolicy: post: summary: 'lncli: `updatechanpolicy` UpdateChannelPolicy allows the caller to update the fee schedule and channel policies for all channels globally, or a particular channel.' operationId: Lightning_UpdateChannelPolicy responses: '200': description: A successful response. schema: $ref: '#/definitions/lnrpcPolicyUpdateResponse' default: description: An unexpected error response. schema: $ref: '#/definitions/rpcStatus' parameters: - name: body in: body required: true schema: $ref: '#/definitions/lnrpcPolicyUpdateRequest' tags: - Lightning /v1/custommessage: post: summary: 'lncli: `sendcustom` SendCustomMessage sends a custom peer message.' operationId: Lightning_SendCustomMessage responses: '200': description: A successful response. schema: $ref: '#/definitions/lnrpcSendCustomMessageResponse' default: description: An unexpected error response. schema: $ref: '#/definitions/rpcStatus' parameters: - name: body in: body required: true schema: $ref: '#/definitions/lnrpcSendCustomMessageRequest' tags: - Lightning /v1/custommessage/subscribe: get: summary: 'lncli: `subscribecustom` SubscribeCustomMessages subscribes to a stream of incoming custom peer messages.' description: '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.' operationId: Lightning_SubscribeCustomMessages responses: '200': description: A successful response.(streaming responses) schema: type: object properties: result: $ref: '#/definitions/lnrpcCustomMessage' error: $ref: '#/definitions/rpcStatus' title: Stream result of lnrpcCustomMessage default: description: An unexpected error response. schema: $ref: '#/definitions/rpcStatus' tags: - Lightning /v1/debuglevel: post: summary: '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.' operationId: Lightning_DebugLevel responses: '200': description: A successful response. schema: $ref: '#/definitions/lnrpcDebugLevelResponse' default: description: An unexpected error response. schema: $ref: '#/definitions/rpcStatus' parameters: - name: body in: body required: true schema: $ref: '#/definitions/lnrpcDebugLevelRequest' tags: - Lightning /v1/fees: get: summary: 'lncli: `feereport` FeeReport allows the caller to obtain a report detailing the current fee schedule enforced by the node globally for each channel.' operationId: Lightning_FeeReport responses: '200': description: A successful response. schema: $ref: '#/definitions/lnrpcFeeReportResponse' default: description: An unexpected error response. schema: $ref: '#/definitions/rpcStatus' tags: - Lightning /v1/funding/step: post: summary: '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.' operationId: Lightning_FundingStateStep responses: '200': description: A successful response. schema: $ref: '#/definitions/lnrpcFundingStateStepResp' default: description: An unexpected error response. schema: $ref: '#/definitions/rpcStatus' parameters: - name: body in: body required: true schema: $ref: '#/definitions/lnrpcFundingTransitionMsg' tags: - Lightning /v1/getdebuginfo: get: summary: '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.' operationId: Lightning_GetDebugInfo responses: '200': description: A successful response. schema: $ref: '#/definitions/lnrpcGetDebugInfoResponse' default: description: An unexpected error response. schema: $ref: '#/definitions/rpcStatus' parameters: - name: include_log description: 'If set to true, the log file content will be included in the response. By default, only the config information is returned.' in: query required: false type: boolean tags: - Lightning /v1/getinfo: get: summary: '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.' operationId: Lightning_GetInfo responses: '200': description: A successful response. schema: $ref: '#/definitions/lnrpcGetInfoResponse' default: description: An unexpected error response. schema: $ref: '#/definitions/rpcStatus' tags: - Lightning /v1/getrecoveryinfo: get: summary: '* 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.' operationId: Lightning_GetRecoveryInfo responses: '200': description: A successful response. schema: $ref: '#/definitions/lnrpcGetRecoveryInfoResponse' default: description: An unexpected error response. schema: $ref: '#/definitions/rpcStatus' tags: - Lightning /v1/graph: get: summary: '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.' operationId: Lightning_DescribeGraph responses: '200': description: A successful response. schema: $ref: '#/definitions/lnrpcChannelGraph' default: description: An unexpected error response. schema: $ref: '#/definitions/rpcStatus' parameters: - name: include_unannounced 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.' in: query required: false type: boolean - name: include_auth_proof description: If true, will include announcements' signatures into ChannelEdge. in: query required: false type: boolean tags: - Lightning /v1/graph/edge/{chan_id}: get: summary: '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.' operationId: Lightning_GetChanInfo responses: '200': description: A successful response. schema: $ref: '#/definitions/lnrpcChannelEdge' default: description: An unexpected error response. schema: $ref: '#/definitions/rpcStatus' parameters: - name: chan_id 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.' in: path required: true type: string format: uint64 - name: chan_point description: 'The channel point of the channel in format funding_txid:output_index. If chan_id is specified, this field is ignored.' in: query required: false type: string - name: include_auth_proof description: If true, will include announcements' signatures into ChannelEdge. in: query required: false type: boolean tags: - Lightning /v1/graph/info: get: summary: 'lncli: `getnetworkinfo` GetNetworkInfo returns some basic stats about the known channel graph from the point of view of the node.' operationId: Lightning_GetNetworkInfo responses: '200': description: A successful response. schema: $ref: '#/definitions/lnrpcNetworkInfo' default: description: An unexpected error response. schema: $ref: '#/definitions/rpcStatus' tags: - Lightning /v1/graph/node/{pub_key}: get: summary: 'lncli: `getnodeinfo` GetNodeInfo returns the latest advertised, aggregated, and authenticated channel information for the specified node identified by its public key.' operationId: Lightning_GetNodeInfo responses: '200': description: A successful response. schema: $ref: '#/definitions/lnrpcNodeInfo' default: description: An unexpected error response. schema: $ref: '#/definitions/rpcStatus' parameters: - name: pub_key description: The 33-byte hex-encoded compressed public of the target node in: path required: true type: string - name: include_channels description: If true, will include all known channels associated with the node. in: query required: false type: boolean - name: include_auth_proof description: 'If true, will include announcements'' signatures into ChannelEdge. Depends on include_channels.' in: query required: false type: boolean tags: - Lightning /v1/graph/nodemetrics: get: summary: 'lncli: `getnodemetrics` GetNodeMetrics returns node metrics calculated from the graph. Currently the only supported metric is betweenness centrality of individual nodes.' operationId: Lightning_GetNodeMetrics responses: '200': description: A successful response. schema: $ref: '#/definitions/lnrpcNodeMetricsResponse' default: description: An unexpected error response. schema: $ref: '#/definitions/rpcStatus' parameters: - name: types description: The requested node metrics. in: query required: false type: array items: type: string enum: - UNKNOWN - BETWEENNESS_CENTRALITY collectionFormat: multi tags: - Lightning /v1/graph/routes/{pub_key}/{amt}: get: summary: 'lncli: `queryroutes` QueryRoutes attempts to query the daemon''s Channel Router for a possible route to a target destination capable of carrying a specific amount of satoshis. The returned route contains the full details required to craft and send an HTLC, also including the necessary information that should be present within the Sphinx packet encapsulated within the HTLC.' description: 'When using REST, the `dest_custom_records` map type can be set by appending `&dest_custom_records[]=` to the URL. Unfortunately this map type doesn''t appear in the REST API documentation because of a bug in the grpc-gateway library.' operationId: Lightning_QueryRoutes responses: '200': description: A successful response. schema: $ref: '#/definitions/lnrpcQueryRoutesResponse' default: description: An unexpected error response. schema: $ref: '#/definitions/rpcStatus' parameters: - name: pub_key description: The 33-byte hex-encoded public key for the payment destination in: path required: true type: string - name: amt description: 'The amount to send expressed in satoshis. The fields amt and amt_msat are mutually exclusive.' in: path required: true type: string format: int64 - name: amt_msat description: 'The amount to send expressed in millisatoshis. The fields amt and amt_msat are mutually exclusive.' in: query required: false type: string format: int64 - name: final_cltv_delta description: 'An optional CLTV delta from the current height that should be used for the timelock of the final hop. Note that unlike SendPayment, QueryRoutes does not add any additional block padding on top of final_ctlv_delta. This padding of a few blocks needs to be added manually or otherwise failures may happen when a block comes in while the payment is in flight. Note: must not be set if making a payment to a blinded path (delta is set by the aggregate parameters provided by blinded_payment_paths)' in: query required: false type: integer format: int32 - name: fee_limit.fixed description: 'The fee limit expressed as a fixed amount of satoshis. The fields fixed and fixed_msat are mutually exclusive.' in: query required: false type: string format: int64 - name: fee_limit.fixed_msat description: 'The fee limit expressed as a fixed amount of millisatoshis. The fields fixed and fixed_msat are mutually exclusive.' in: query required: false type: string format: int64 - name: fee_limit.percent description: The fee limit expressed as a percentage of the payment amount. in: query required: false type: string format: int64 - name: ignored_nodes description: 'A list of nodes to ignore during path finding. When using REST, these fields must be encoded as base64.' in: query required: false type: array items: type: string format: byte collectionFormat: multi - name: source_pub_key description: 'The source node where the request route should originated from. If empty, self is assumed.' in: query required: false type: string - name: use_mission_control description: 'If set to true, edge probabilities from mission control will be used to get the optimal route.' in: query required: false type: boolean - name: cltv_limit description: 'An optional maximum total time lock for the route. If the source is empty or ourselves, this should not exceed lnd''s `--max-cltv-expiry` setting. If zero, then the value of `--max-cltv-expiry` is used as the limit.' in: query required: false type: integer format: int64 - name: dest_custom_records[string] description: This is a request variable of the map type. The query format is "map_name[key]=value", e.g. If the map name is Age, the key type is string, and the value type is integer, the query parameter is expressed as Age["bob"]=18 in: query required: false type: string - name: outgoing_chan_id description: 'Deprecated, use outgoing_chan_ids. The channel id of the channel that must be taken to the first hop. If zero, any channel may be used.' in: query required: false type: string format: uint64 - name: last_hop_pubkey description: The pubkey of the last hop of the route. If empty, any hop may be used. in: query required: false type: string format: byte - name: dest_features description: 'Features assumed to be supported by the final node. All transitive feature dependencies must also be set properly. For a given feature bit pair, either optional or remote may be set, but not both. If this field is nil or empty, the router will try to load destination features from the graph as a fallback. Note: must not be set if making a payment to a blinded route (features are provided in blinded_payment_paths).' in: query required: false type: array items: type: string enum: - DATALOSS_PROTECT_REQ - DATALOSS_PROTECT_OPT - INITIAL_ROUING_SYNC - UPFRONT_SHUTDOWN_SCRIPT_REQ - UPFRONT_SHUTDOWN_SCRIPT_OPT - GOSSIP_QUERIES_REQ - GOSSIP_QUERIES_OPT - TLV_ONION_REQ - TLV_ONION_OPT - EXT_GOSSIP_QUERIES_REQ - EXT_GOSSIP_QUERIES_OPT - STATIC_REMOTE_KEY_REQ - STATIC_REMOTE_KEY_OPT - PAYMENT_ADDR_REQ - PAYMENT_ADDR_OPT - MPP_REQ - MPP_OPT - WUMBO_CHANNELS_REQ - WUMBO_CHANNELS_OPT - ANCHORS_REQ - ANCHORS_OPT - ANCHORS_ZERO_FEE_HTLC_REQ - ANCHORS_ZERO_FEE_HTLC_OPT - ROUTE_BLINDING_REQUIRED - ROUTE_BLINDING_OPTIONAL - AMP_REQ - AMP_OPT collectionFormat: multi - name: time_pref description: 'The time preference for this payment. Set to -1 to optimize for fees only, to 1 to optimize for reliability only or a value inbetween for a mix.' in: query required: false type: number format: double - name: outgoing_chan_ids description: 'The channel ids of the channels allowed for the first hop. If empty, any channel may be used.' in: query required: false type: array items: type: string format: uint64 collectionFormat: multi tags: - Lightning post: summary: 'lncli: `queryroutes` QueryRoutes attempts to query the daemon''s Channel Router for a possible route to a target destination capable of carrying a specific amount of satoshis. The returned route contains the full details required to craft and send an HTLC, also including the necessary information that should be present within the Sphinx packet encapsulated within the HTLC.' description: 'When using REST, the `dest_custom_records` map type can be set by appending `&dest_custom_records[]=` to the URL. Unfortunately this map type doesn''t appear in the REST API documentation because of a bug in the grpc-gateway library.' operationId: Lightning_QueryRoutes2 responses: '200': description: A successful response. schema: $ref: '#/definitions/lnrpcQueryRoutesResponse' default: description: An unexpected error response. schema: $ref: '#/definitions/rpcStatus' parameters: - name: pub_key description: The 33-byte hex-encoded public key for the payment destination in: path required: true type: string - name: amt description: 'The amount to send expressed in satoshis. The fields amt and amt_msat are mutually exclusive.' in: path required: true type: string format: int64 - name: body in: body required: true schema: type: object properties: amt_msat: type: string format: int64 description: 'The amount to send expressed in millisatoshis. The fields amt and amt_msat are mutually exclusive.' final_cltv_delta: type: integer format: int32 description: 'An optional CLTV delta from the current height that should be used for the timelock of the final hop. Note that unlike SendPayment, QueryRoutes does not add any additional block padding on top of final_ctlv_delta. This padding of a few blocks needs to be added manually or otherwise failures may happen when a block comes in while the payment is in flight. Note: must not be set if making a payment to a blinded path (delta is set by the aggregate parameters provided by blinded_payment_paths)' fee_limit: $ref: '#/definitions/lnrpcFeeLimit' description: 'The maximum number of satoshis that will be paid as a fee of the payment. This value can be represented either as a percentage of the amount being sent, or as a fixed amount of the maximum fee the user is willing the pay to send the payment. If not specified, lnd will use a default value of 100% fees for small amounts (<=1k sat) or 5% fees for larger amounts.' ignored_nodes: type: array items: type: string format: byte description: 'A list of nodes to ignore during path finding. When using REST, these fields must be encoded as base64.' ignored_edges: type: array items: type: object $ref: '#/definitions/lnrpcEdgeLocator' description: Deprecated. A list of edges to ignore during path finding. source_pub_key: type: string description: 'The source node where the request route should originated from. If empty, self is assumed.' use_mission_control: type: boolean description: 'If set to true, edge probabilities from mission control will be used to get the optimal route.' ignored_pairs: type: array items: type: object $ref: '#/definitions/lnrpcNodePair' description: A list of directed node pairs that will be ignored during path finding. cltv_limit: type: integer format: int64 description: 'An optional maximum total time lock for the route. If the source is empty or ourselves, this should not exceed lnd''s `--max-cltv-expiry` setting. If zero, then the value of `--max-cltv-expiry` is used as the limit.' dest_custom_records[string]: type: object additionalProperties: type: string format: byte description: 'An optional field that can be used to pass an arbitrary set of TLV records to a peer which understands the new records. This can be used to pass application specific data during the payment attempt. If the destination does not support the specified records, an error will be returned. Record types are required to be in the custom range >= 65536. When using REST, the values must be encoded as base64.' outgoing_chan_id: type: string format: uint64 description: 'Deprecated, use outgoing_chan_ids. The channel id of the channel that must be taken to the first hop. If zero, any channel may be used.' last_hop_pubkey: type: string format: byte description: The pubkey of the last hop of the route. If empty, any hop may be used. route_hints: type: array items: type: object $ref: '#/definitions/lnrpcRouteHint' description: Optional route hints to reach the destination through private channels. blinded_payment_paths: type: array items: type: object $ref: '#/definitions/lnrpcBlindedPaymentPath' description: 'An optional blinded path(s) to reach the destination. Note that the introduction node must be provided as the first hop in the route.' dest_features: type: array items: $ref: '#/definitions/lnrpcFeatureBit' description: 'Features assumed to be supported by the final node. All transitive feature dependencies must also be set properly. For a given feature bit pair, either optional or remote may be set, but not both. If this field is nil or empty, the router will try to load destination features from the graph as a fallback. Note: must not be set if making a payment to a blinded route (features are provided in blinded_payment_paths).' time_pref: type: number format: double description: 'The time preference for this payment. Set to -1 to optimize for fees only, to 1 to optimize for reliability only or a value inbetween for a mix.' outgoing_chan_ids: type: array items: type: string format: uint64 description: 'The channel ids of the channels allowed for the first hop. If empty, any channel may be used.' tags: - Lightning /v1/graph/subscribe: get: summary: 'SubscribeChannelGraph launches a streaming RPC that allows the caller to receive notifications upon any changes to the channel graph topology from the point of view of the responding node. Events notified include: new nodes coming online, nodes updating their authenticated attributes, new channels being advertised, updates in the routing policy for a directional channel edge, and when channels are closed on-chain.' operationId: Lightning_SubscribeChannelGraph responses: '200': description: A successful response.(streaming responses) schema: type: object properties: result: $ref: '#/definitions/lnrpcGraphTopologyUpdate' error: $ref: '#/definitions/rpcStatus' title: Stream result of lnrpcGraphTopologyUpdate default: description: An unexpected error response. schema: $ref: '#/definitions/rpcStatus' tags: - Lightning /v1/htlc-resolution/{chan_id}/{htlc_index}: get: summary: 'LookupHtlcResolution retrieves a final htlc resolution from the database. If the htlc has no final resolution yet, a NotFound grpc status code is returned.' operationId: Lightning_LookupHtlcResolution responses: '200': description: A successful response. schema: $ref: '#/definitions/lnrpcLookupHtlcResolutionResponse' default: description: An unexpected error response. schema: $ref: '#/definitions/rpcStatus' parameters: - name: chan_id in: path required: true type: string format: uint64 - name: htlc_index in: path required: true type: string format: uint64 tags: - Lightning /v1/invoice/{r_hash_str}: get: summary: 'lncli: `lookupinvoice` LookupInvoice attempts to look up an invoice according to its payment hash. The passed payment hash *must* be exactly 32 bytes, if not, an error is returned.' operationId: Lightning_LookupInvoice responses: '200': description: A successful response. schema: $ref: '#/definitions/lnrpcInvoice' default: description: An unexpected error response. schema: $ref: '#/definitions/rpcStatus' parameters: - name: r_hash_str description: 'The hex-encoded payment hash of the invoice to be looked up. The passed payment hash must be exactly 32 bytes, otherwise an error is returned. Deprecated now that the REST gateway supports base64 encoding of bytes fields.' in: path required: true type: string - name: r_hash description: 'The payment hash of the invoice to be looked up. When using REST, this field must be encoded as base64.' in: query required: false type: string format: byte tags: - Lightning /v1/invoices: get: summary: 'lncli: `listinvoices` ListInvoices returns a list of all the invoices currently stored within the database. Any active debug invoices are ignored. It has full support for paginated responses, allowing users to query for specific invoices through their add_index. This can be done by using either the first_index_offset or last_index_offset fields included in the response as the index_offset of the next request. By default, the first 100 invoices created will be returned. Backwards pagination is also supported through the Reversed flag.' operationId: Lightning_ListInvoices responses: '200': description: A successful response. schema: $ref: '#/definitions/lnrpcListInvoiceResponse' default: description: An unexpected error response. schema: $ref: '#/definitions/rpcStatus' parameters: - name: pending_only description: 'If set, only invoices that are not settled and not canceled will be returned in the response.' in: query required: false type: boolean - name: index_offset description: 'The index of an invoice that will be used as either the start or end of a query to determine which invoices should be returned in the response.' in: query required: false type: string format: uint64 - name: num_max_invoices description: The max number of invoices to return in the response to this query. in: query required: false type: string format: uint64 - name: reversed description: 'If set, the invoices returned will result from seeking backwards from the specified index offset. This can be used to paginate backwards.' in: query required: false type: boolean - name: creation_date_start description: 'If set, returns all invoices with a creation date greater than or equal to it. Measured in seconds since the unix epoch.' in: query required: false type: string format: uint64 - name: creation_date_end description: 'If set, returns all invoices with a creation date less than or equal to it. Measured in seconds since the unix epoch.' in: query required: false type: string format: uint64 tags: - Lightning delete: summary: 'lncli: `deletecanceledinvoice` DeleteCanceledInvoice removes a canceled invoice from the database. If the invoice is not in the canceled state, an error will be returned.' operationId: Lightning_DeleteCanceledInvoice responses: '200': description: A successful response. schema: $ref: '#/definitions/lnrpcDelCanceledInvoiceResp' default: description: An unexpected error response. schema: $ref: '#/definitions/rpcStatus' parameters: - name: invoice_hash description: Invoice payment hash to delete. in: query required: false type: string tags: - Lightning post: summary: 'lncli: `addinvoice` AddInvoice attempts to add a new invoice to the invoice database. Any duplicated invoices are rejected, therefore all invoices *must* have a unique payment preimage.' operationId: Lightning_AddInvoice responses: '200': description: A successful response. schema: $ref: '#/definitions/lnrpcAddInvoiceResponse' default: description: An unexpected error response. schema: $ref: '#/definitions/rpcStatus' parameters: - name: body in: body required: true schema: $ref: '#/definitions/lnrpcInvoice' tags: - Lightning /v1/invoices/subscribe: get: summary: 'SubscribeInvoices returns a uni-directional stream (server -> client) for notifying the client of newly added/settled invoices. The caller can optionally specify the add_index and/or the settle_index. If the add_index is specified, then we''ll first start by sending add invoice events for all invoices with an add_index greater than the specified value. If the settle_index is specified, then next, we''ll send out all settle events for invoices with a settle_index greater than the specified value. One or both of these fields can be set. If no fields are set, then we''ll only send out the latest add/settle events.' operationId: Lightning_SubscribeInvoices responses: '200': description: A successful response.(streaming responses) schema: type: object properties: result: $ref: '#/definitions/lnrpcInvoice' error: $ref: '#/definitions/rpcStatus' title: Stream result of lnrpcInvoice default: description: An unexpected error response. schema: $ref: '#/definitions/rpcStatus' parameters: - name: add_index description: 'If specified (non-zero), then we''ll first start by sending out notifications for all added indexes with an add_index greater than this value. This allows callers to catch up on any events they missed while they weren''t connected to the streaming RPC.' in: query required: false type: string format: uint64 - name: settle_index description: 'If specified (non-zero), then we''ll first start by sending out notifications for all settled indexes with an settle_index greater than this value. This allows callers to catch up on any events they missed while they weren''t connected to the streaming RPC.' in: query required: false type: string format: uint64 tags: - Lightning /v1/macaroon: post: summary: 'lncli: `bakemacaroon` BakeMacaroon allows the creation of a new macaroon with custom read and write permissions. No first-party caveats are added since this can be done offline.' operationId: Lightning_BakeMacaroon responses: '200': description: A successful response. schema: $ref: '#/definitions/lnrpcBakeMacaroonResponse' default: description: An unexpected error response. schema: $ref: '#/definitions/rpcStatus' parameters: - name: body in: body required: true schema: $ref: '#/definitions/lnrpcBakeMacaroonRequest' tags: - Lightning /v1/macaroon/checkpermissions: post: summary: 'CheckMacaroonPermissions checks whether the provided macaroon contains all the provided permissions. If the macaroon is valid (e.g. all caveats are satisfied), and all permissions provided in the request are met, then this RPC returns true.' operationId: Lightning_CheckMacaroonPermissions responses: '200': description: A successful response. schema: $ref: '#/definitions/lnrpcCheckMacPermResponse' default: description: An unexpected error response. schema: $ref: '#/definitions/rpcStatus' parameters: - name: body in: body required: true schema: $ref: '#/definitions/lnrpcCheckMacPermRequest' tags: - Lightning /v1/macaroon/ids: get: summary: 'lncli: `listmacaroonids` ListMacaroonIDs returns all root key IDs that are in use.' operationId: Lightning_ListMacaroonIDs responses: '200': description: A successful response. schema: $ref: '#/definitions/lnrpcListMacaroonIDsResponse' default: description: An unexpected error response. schema: $ref: '#/definitions/rpcStatus' tags: - Lightning /v1/macaroon/permissions: get: summary: 'lncli: `listpermissions` ListPermissions lists all RPC method URIs and their required macaroon permissions to access them.' operationId: Lightning_ListPermissions responses: '200': description: A successful response. schema: $ref: '#/definitions/lnrpcListPermissionsResponse' default: description: An unexpected error response. schema: $ref: '#/definitions/rpcStatus' tags: - Lightning /v1/macaroon/{root_key_id}: delete: summary: 'lncli: `deletemacaroonid` DeleteMacaroonID deletes the specified macaroon ID and invalidates all macaroons derived from that ID.' operationId: Lightning_DeleteMacaroonID responses: '200': description: A successful response. schema: $ref: '#/definitions/lnrpcDeleteMacaroonIDResponse' default: description: An unexpected error response. schema: $ref: '#/definitions/rpcStatus' parameters: - name: root_key_id description: The root key ID to be removed. in: path required: true type: string format: uint64 tags: - Lightning /v1/middleware: post: summary: 'RegisterRPCMiddleware adds a new gRPC middleware to the interceptor chain. A gRPC middleware is software component external to lnd that aims to add additional business logic to lnd by observing/intercepting/validating incoming gRPC client requests and (if needed) replacing/overwriting outgoing messages before they''re sent to the client. When registering the middleware must identify itself and indicate what custom macaroon caveats it wants to be responsible for. Only requests that contain a macaroon with that specific custom caveat are then sent to the middleware for inspection. The other option is to register for the read-only mode in which all requests/responses are forwarded for interception to the middleware but the middleware is not allowed to modify any responses. As a security measure, _no_ middleware can modify responses for requests made with _unencumbered_ macaroons!' operationId: Lightning_RegisterRPCMiddleware responses: '200': description: A successful response.(streaming responses) schema: type: object properties: result: $ref: '#/definitions/lnrpcRPCMiddlewareRequest' error: $ref: '#/definitions/rpcStatus' title: Stream result of lnrpcRPCMiddlewareRequest default: description: An unexpected error response. schema: $ref: '#/definitions/rpcStatus' parameters: - name: ref_msg_id description: 'The request message ID this response refers to. Must always be set when giving feedback to an intercept but is ignored for the initial registration message.' in: query required: false type: string format: uint64 - name: register.middleware_name description: 'The name of the middleware to register. The name should be as informative as possible and is logged on registration.' in: query required: false type: string - name: register.custom_macaroon_caveat_name description: 'The name of the custom macaroon caveat that this middleware is responsible for. Only requests/responses that contain a macaroon with the registered custom caveat are forwarded for interception to the middleware. The exception being the read-only mode: All requests/responses are forwarded to a middleware that requests read-only access but such a middleware won''t be allowed to _alter_ responses. As a security measure, _no_ middleware can change responses to requests made with _unencumbered_ macaroons! NOTE: Cannot be used at the same time as read_only_mode.' in: query required: false type: string - name: register.read_only_mode description: 'Instead of defining a custom macaroon caveat name a middleware can register itself for read-only access only. In that mode all requests/responses are forwarded to the middleware but the middleware isn''t allowed to alter any of the responses. NOTE: Cannot be used at the same time as custom_macaroon_caveat_name.' in: query required: false type: boolean - name: feedback.error description: 'The error to return to the user. If this is non-empty, the incoming gRPC stream/request is aborted and the error is returned to the gRPC client. If this value is empty, it means the middleware accepts the stream/request/ response and the processing of it can continue.' in: query required: false type: string - name: feedback.replace_response description: 'A boolean indicating that the gRPC message should be replaced/overwritten. This boolean is needed because in protobuf an empty message is serialized as a 0-length or nil byte slice and we wouldn''t be able to distinguish between an empty replacement message and the "don''t replace anything" case.' in: query required: false type: boolean - name: feedback.replacement_serialized description: 'If the replace_response field is set to true, this field must contain the binary serialized gRPC message in the protobuf format.' in: query required: false type: string format: byte tags: - Lightning /v1/newaddress: get: summary: 'lncli: `newaddress` NewAddress creates a new address under control of the local wallet.' operationId: Lightning_NewAddress responses: '200': description: A successful response. schema: $ref: '#/definitions/lnrpcNewAddressResponse' default: description: An unexpected error response. schema: $ref: '#/definitions/rpcStatus' parameters: - name: type description: The type of address to generate. in: query required: false type: string enum: - WITNESS_PUBKEY_HASH - NESTED_PUBKEY_HASH - UNUSED_WITNESS_PUBKEY_HASH - UNUSED_NESTED_PUBKEY_HASH - TAPROOT_PUBKEY - UNUSED_TAPROOT_PUBKEY default: WITNESS_PUBKEY_HASH - name: account description: 'The name of the account to generate a new address for. If empty, the default wallet account is used.' in: query required: false type: string tags: - Lightning /v1/onionmessage: post: summary: 'lncli: `sendonion` SendOnionMessage sends an onion message to a peer.' operationId: Lightning_SendOnionMessage responses: '200': description: A successful response. schema: $ref: '#/definitions/lnrpcSendOnionMessageResponse' default: description: An unexpected error response. schema: $ref: '#/definitions/rpcStatus' parameters: - name: body in: body required: true schema: $ref: '#/definitions/lnrpcSendOnionMessageRequest' tags: - Lightning /v1/onionmessage/subscribe: get: summary: 'lncli: `subscribeonion` SubscribeOnionMessages subscribes to a stream of incoming onion messages.' operationId: Lightning_SubscribeOnionMessages responses: '200': description: A successful response.(streaming responses) schema: type: object properties: result: $ref: '#/definitions/lnrpcOnionMessageUpdate' error: $ref: '#/definitions/rpcStatus' title: Stream result of lnrpcOnionMessageUpdate default: description: An unexpected error response. schema: $ref: '#/definitions/rpcStatus' tags: - Lightning /v1/payment: delete: summary: 'lncli: `deletepayments` DeletePayment deletes an outgoing payment from DB. Note that it will not attempt to delete an In-Flight payment, since that would be unsafe.' operationId: Lightning_DeletePayment responses: '200': description: A successful response. schema: $ref: '#/definitions/lnrpcDeletePaymentResponse' default: description: An unexpected error response. schema: $ref: '#/definitions/rpcStatus' parameters: - name: payment_hash description: Payment hash to delete. in: query required: false type: string format: byte - name: failed_htlcs_only description: Only delete failed HTLCs from the payment, not the payment itself. in: query required: false type: boolean tags: - Lightning /v1/payments: get: summary: 'lncli: `listpayments` ListPayments returns a list of all outgoing payments.' operationId: Lightning_ListPayments responses: '200': description: A successful response. schema: $ref: '#/definitions/lnrpcListPaymentsResponse' default: description: An unexpected error response. schema: $ref: '#/definitions/rpcStatus' parameters: - name: include_incomplete description: 'If true, then return payments that have not yet fully completed. This means that pending payments, as well as failed payments will show up if this field is set to true. This flag doesn''t change the meaning of the indices, which are tied to individual payments.' in: query required: false type: boolean - name: index_offset description: 'The index of a payment that will be used as either the start or end of a query to determine which payments should be returned in the response. The index_offset is exclusive. In the case of a zero index_offset, the query will start with the oldest payment when paginating forwards, or will end with the most recent payment when paginating backwards.' in: query required: false type: string format: uint64 - name: max_payments description: The maximal number of payments returned in the response to this query. in: query required: false type: string format: uint64 - name: reversed description: 'If set, the payments returned will result from seeking backwards from the specified index offset. This can be used to paginate backwards. The order of the returned payments is always oldest first (ascending index order).' in: query required: false type: boolean - name: count_total_payments description: 'If set, all payments (complete and incomplete, independent of the max_payments parameter) will be counted. Note that setting this to true will increase the run time of the call significantly on systems that have a lot of payments, as all of them have to be iterated through to be counted.' in: query required: false type: boolean - name: creation_date_start description: 'If set, returns all payments with a creation date greater than or equal to it. Measured in seconds since the unix epoch.' in: query required: false type: string format: uint64 - name: creation_date_end description: 'If set, returns all payments with a creation date less than or equal to it. Measured in seconds since the unix epoch.' in: query required: false type: string format: uint64 - name: omit_hops description: 'If set, omit hop-level route data for HTLC attempts to reduce query cost and response size.' in: query required: false type: boolean tags: - Lightning delete: summary: 'lncli: `deletepayments --all` DeleteAllPayments deletes all outgoing payments from DB. Note that it will not attempt to delete In-Flight payments, since that would be unsafe.' operationId: Lightning_DeleteAllPayments responses: '200': description: A successful response. schema: $ref: '#/definitions/lnrpcDeleteAllPaymentsResponse' default: description: An unexpected error response. schema: $ref: '#/definitions/rpcStatus' parameters: - name: failed_payments_only description: Only delete failed payments. in: query required: false type: boolean - name: failed_htlcs_only description: Only delete failed HTLCs from payments, not the payment itself. in: query required: false type: boolean - name: all_payments description: 'Delete all payments. NOTE: Using this option requires careful consideration as it is a destructive operation.' in: query required: false type: boolean tags: - Lightning /v1/payreq/{pay_req}: get: summary: 'lncli: `decodepayreq` DecodePayReq takes an encoded payment request string and attempts to decode it, returning a full description of the conditions encoded within the payment request.' operationId: Lightning_DecodePayReq responses: '200': description: A successful response. schema: $ref: '#/definitions/lnrpcPayReq' default: description: An unexpected error response. schema: $ref: '#/definitions/rpcStatus' parameters: - name: pay_req description: The payment request string to be decoded in: path required: true type: string tags: - Lightning /v1/peers: get: summary: 'lncli: `listpeers` ListPeers returns a verbose listing of all currently active peers.' operationId: Lightning_ListPeers responses: '200': description: A successful response. schema: $ref: '#/definitions/lnrpcListPeersResponse' default: description: An unexpected error response. schema: $ref: '#/definitions/rpcStatus' parameters: - name: latest_error description: 'If true, only the last error that our peer sent us will be returned with the peer''s information, rather than the full set of historic errors we have stored.' in: query required: false type: boolean tags: - Lightning post: summary: 'lncli: `connect` ConnectPeer attempts to establish a connection to a remote peer. This is at the networking level, and is used for communication between nodes. This is distinct from establishing a channel with a peer.' operationId: Lightning_ConnectPeer responses: '200': description: A successful response. schema: $ref: '#/definitions/lnrpcConnectPeerResponse' default: description: An unexpected error response. schema: $ref: '#/definitions/rpcStatus' parameters: - name: body in: body required: true schema: $ref: '#/definitions/lnrpcConnectPeerRequest' tags: - Lightning /v1/peers/subscribe: get: summary: 'SubscribePeerEvents creates a uni-directional stream from the server to the client in which any events relevant to the state of peers are sent over. Events include peers going online and offline.' operationId: Lightning_SubscribePeerEvents responses: '200': description: A successful response.(streaming responses) schema: type: object properties: result: $ref: '#/definitions/lnrpcPeerEvent' error: $ref: '#/definitions/rpcStatus' title: Stream result of lnrpcPeerEvent default: description: An unexpected error response. schema: $ref: '#/definitions/rpcStatus' tags: - Lightning /v1/peers/{pub_key}: delete: summary: 'lncli: `disconnect` DisconnectPeer attempts to disconnect one peer from another identified by a given pubKey. In the case that we currently have a pending or active channel with the target peer, then this action will be not be allowed.' operationId: Lightning_DisconnectPeer responses: '200': description: A successful response. schema: $ref: '#/definitions/lnrpcDisconnectPeerResponse' default: description: An unexpected error response. schema: $ref: '#/definitions/rpcStatus' parameters: - name: pub_key description: The pubkey of the node to disconnect from in: path required: true type: string tags: - Lightning /v1/signmessage: post: summary: 'lncli: `signmessage` SignMessage signs a message with this node''s private key. The returned signature string is `zbase32` encoded and pubkey recoverable, meaning that only the message digest and signature are needed for verification.' operationId: Lightning_SignMessage responses: '200': description: A successful response. schema: $ref: '#/definitions/lnrpcSignMessageResponse' default: description: An unexpected error response. schema: $ref: '#/definitions/rpcStatus' parameters: - name: body in: body required: true schema: $ref: '#/definitions/lnrpcSignMessageRequest' tags: - Lightning /v1/stop: post: summary: 'lncli: `stop` StopDaemon will send a shutdown request to the interrupt handler, triggering a graceful shutdown of the daemon.' operationId: Lightning_StopDaemon responses: '200': description: A successful response. schema: $ref: '#/definitions/lnrpcStopResponse' default: description: An unexpected error response. schema: $ref: '#/definitions/rpcStatus' parameters: - name: body in: body required: true schema: $ref: '#/definitions/lnrpcStopRequest' tags: - Lightning /v1/switch: post: summary: 'lncli: `fwdinghistory` ForwardingHistory allows the caller to query the htlcswitch for a record of all HTLCs forwarded within the target time range, and integer offset within that time range, for a maximum number of events. If no maximum number of events is specified, up to 100 events will be returned. If no time-range is specified, then events will be returned in the order that they occured.' description: 'A list of forwarding events are returned. The size of each forwarding event is 40 bytes, and the max message size able to be returned in gRPC is 4 MiB. As a result each message can only contain 50k entries. Each response has the index offset of the last entry. The index offset can be provided to the request to allow the caller to skip a series of records.' operationId: Lightning_ForwardingHistory responses: '200': description: A successful response. schema: $ref: '#/definitions/lnrpcForwardingHistoryResponse' default: description: An unexpected error response. schema: $ref: '#/definitions/rpcStatus' parameters: - name: body in: body required: true schema: $ref: '#/definitions/lnrpcForwardingHistoryRequest' tags: - Lightning /v1/transactions: get: summary: 'lncli: `listchaintxns` GetTransactions returns a list describing all the known transactions relevant to the wallet.' operationId: Lightning_GetTransactions responses: '200': description: A successful response. schema: $ref: '#/definitions/lnrpcTransactionDetails' default: description: An unexpected error response. schema: $ref: '#/definitions/rpcStatus' parameters: - name: start_height description: 'The height from which to list transactions, inclusive. If this value is greater than end_height, transactions will be read in reverse.' in: query required: false type: integer format: int32 - name: end_height description: 'The height until which to list transactions, inclusive. To include unconfirmed transactions, this value should be set to -1, which will return transactions from start_height until the current chain tip and unconfirmed transactions. If no end_height is provided, the call will default to this option.' in: query required: false type: integer format: int32 - name: account description: An optional filter to only include transactions relevant to an account. in: query required: false type: string - name: index_offset description: 'The index of a transaction that will be used in a query to determine which transaction should be returned in the response.' in: query required: false type: integer format: int64 - name: max_transactions description: 'The maximal number of transactions returned in the response to this query. This value should be set to 0 to return all transactions.' in: query required: false type: integer format: int64 tags: - Lightning post: summary: 'lncli: `sendcoins` SendCoins executes a request to send coins to a particular address. Unlike SendMany, this RPC call only allows creating a single output at a time. If neither target_conf, or sat_per_vbyte are set, then the internal wallet will consult its fee model to determine a fee for the default confirmation target.' operationId: Lightning_SendCoins responses: '200': description: A successful response. schema: $ref: '#/definitions/lnrpcSendCoinsResponse' default: description: An unexpected error response. schema: $ref: '#/definitions/rpcStatus' parameters: - name: body in: body required: true schema: $ref: '#/definitions/lnrpcSendCoinsRequest' tags: - Lightning /v1/transactions/fee: get: summary: 'lncli: `estimatefee` EstimateFee asks the chain backend to estimate the fee rate and total fees for a transaction that pays to multiple specified outputs.' description: 'When using REST, the `AddrToAmount` map type can be set by appending `&AddrToAmount[
]=` to the URL. Unfortunately this map type doesn''t appear in the REST API documentation because of a bug in the grpc-gateway library.' operationId: Lightning_EstimateFee responses: '200': description: A successful response. schema: $ref: '#/definitions/lnrpcEstimateFeeResponse' default: description: An unexpected error response. schema: $ref: '#/definitions/rpcStatus' parameters: - name: AddrToAmount[string] description: This is a request variable of the map type. The query format is "map_name[key]=value", e.g. If the map name is Age, the key type is string, and the value type is integer, the query parameter is expressed as Age["bob"]=18 in: query required: false type: string - name: target_conf description: 'The target number of blocks that this transaction should be confirmed by.' in: query required: false type: integer format: int32 - name: min_confs description: 'The minimum number of confirmations each one of your outputs used for the transaction must satisfy.' in: query required: false type: integer format: int32 - name: spend_unconfirmed description: Whether unconfirmed outputs should be used as inputs for the transaction. in: query required: false type: boolean - name: coin_selection_strategy description: "The strategy to use for selecting coins during fees estimation.\n\n - STRATEGY_USE_GLOBAL_CONFIG: Use the coin selection strategy defined in the global configuration\n(lnd.conf).\n - STRATEGY_LARGEST: Select the largest available coins first during coin selection.\n - STRATEGY_RANDOM: Randomly select the available coins during coin selection." in: query required: false type: string enum: - STRATEGY_USE_GLOBAL_CONFIG - STRATEGY_LARGEST - STRATEGY_RANDOM default: STRATEGY_USE_GLOBAL_CONFIG tags: - Lightning /v1/transactions/many: post: summary: 'lncli: `sendmany` SendMany handles a request for a transaction that creates multiple specified outputs in parallel. If neither target_conf, or sat_per_vbyte are set, then the internal wallet will consult its fee model to determine a fee for the default confirmation target.' operationId: Lightning_SendMany responses: '200': description: A successful response. schema: $ref: '#/definitions/lnrpcSendManyResponse' default: description: An unexpected error response. schema: $ref: '#/definitions/rpcStatus' parameters: - name: body in: body required: true schema: $ref: '#/definitions/lnrpcSendManyRequest' tags: - Lightning /v1/transactions/subscribe: get: summary: 'SubscribeTransactions creates a uni-directional stream from the server to the client in which any newly discovered transactions relevant to the wallet are sent over.' operationId: Lightning_SubscribeTransactions responses: '200': description: A successful response.(streaming responses) schema: type: object properties: result: $ref: '#/definitions/lnrpcTransaction' error: $ref: '#/definitions/rpcStatus' title: Stream result of lnrpcTransaction default: description: An unexpected error response. schema: $ref: '#/definitions/rpcStatus' parameters: - name: start_height description: 'The height from which to list transactions, inclusive. If this value is greater than end_height, transactions will be read in reverse.' in: query required: false type: integer format: int32 - name: end_height description: 'The height until which to list transactions, inclusive. To include unconfirmed transactions, this value should be set to -1, which will return transactions from start_height until the current chain tip and unconfirmed transactions. If no end_height is provided, the call will default to this option.' in: query required: false type: integer format: int32 - name: account description: An optional filter to only include transactions relevant to an account. in: query required: false type: string - name: index_offset description: 'The index of a transaction that will be used in a query to determine which transaction should be returned in the response.' in: query required: false type: integer format: int64 - name: max_transactions description: 'The maximal number of transactions returned in the response to this query. This value should be set to 0 to return all transactions.' in: query required: false type: integer format: int64 tags: - Lightning /v1/utxos: get: summary: 'lncli: `listunspent` Deprecated, use walletrpc.ListUnspent instead.' description: 'ListUnspent returns a list of all utxos spendable by the wallet with a number of confirmations between the specified minimum and maximum.' operationId: Lightning_ListUnspent responses: '200': description: A successful response. schema: $ref: '#/definitions/lnrpcListUnspentResponse' default: description: An unexpected error response. schema: $ref: '#/definitions/rpcStatus' parameters: - name: min_confs description: The minimum number of confirmations to be included. in: query required: false type: integer format: int32 - name: max_confs description: The maximum number of confirmations to be included. in: query required: false type: integer format: int32 - name: account description: An optional filter to only include outputs belonging to an account. in: query required: false type: string tags: - Lightning /v1/verifymessage: post: summary: 'lncli: `verifymessage` VerifyMessage verifies a signature over a message and recovers the signer''s public key. The signature is only deemed valid if the recovered public key corresponds to a node key in the public Lightning network. The signature must be zbase32 encoded and signed by an active node in the resident node''s channel database. In addition to returning the validity of the signature, VerifyMessage also returns the recovered pubkey from the signature.' operationId: Lightning_VerifyMessage responses: '200': description: A successful response. schema: $ref: '#/definitions/lnrpcVerifyMessageResponse' default: description: An unexpected error response. schema: $ref: '#/definitions/rpcStatus' parameters: - name: body in: body required: true schema: $ref: '#/definitions/lnrpcVerifyMessageRequest' tags: - Lightning definitions: lnrpcClosedChannelUpdate: type: object properties: chan_id: type: string format: uint64 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.' capacity: type: string format: int64 closed_height: type: integer format: int64 chan_point: $ref: '#/definitions/lnrpcChannelPoint' lnrpcChannelGraph: type: object properties: nodes: type: array items: type: object $ref: '#/definitions/lnrpcLightningNode' title: The list of `LightningNode`s in this channel graph edges: type: array items: type: object $ref: '#/definitions/lnrpcChannelEdge' title: The list of `ChannelEdge`s in this channel graph description: Returns a new instance of the directed channel graph. lnrpcVerifyMessageRequest: type: object properties: msg: type: string format: byte description: 'The message over which the signature is to be verified. When using REST, this field must be encoded as base64.' signature: type: string title: The signature to be verified over the given message lnrpcPreviousOutPoint: type: object properties: outpoint: type: string description: The outpoint in format txid:n. is_our_output: type: boolean description: 'Denotes if the outpoint is controlled by the internal wallet. The flag will only detect p2wkh, np2wkh and p2tr inputs as its own.' lnrpcFundingTransitionMsg: type: object properties: shim_register: $ref: '#/definitions/lnrpcFundingShim' description: 'The funding shim to register. This should be used before any channel funding has began by the remote party, as it is intended as a preparatory step for the full channel funding.' shim_cancel: $ref: '#/definitions/lnrpcFundingShimCancel' description: Used to cancel an existing registered funding shim. psbt_verify: $ref: '#/definitions/lnrpcFundingPsbtVerify' description: 'Used to continue a funding flow that was initiated to be executed through a PSBT. This step verifies that the PSBT contains the correct outputs to fund the channel.' psbt_finalize: $ref: '#/definitions/lnrpcFundingPsbtFinalize' description: 'Used to continue a funding flow that was initiated to be executed through a PSBT. This step finalizes the funded and signed PSBT, finishes negotiation with the peer and finally publishes the resulting funding transaction.' lnrpcBakeMacaroonRequest: type: object properties: permissions: type: array items: type: object $ref: '#/definitions/lnrpcMacaroonPermission' description: The list of permissions the new macaroon should grant. root_key_id: type: string format: uint64 description: The root key ID used to create the macaroon, must be a positive integer. allow_external_permissions: type: boolean description: 'Informs the RPC on whether to allow external permissions that LND is not aware of.' lnrpcOutPoint: type: object properties: txid_bytes: type: string format: byte description: Raw bytes representing the transaction id. txid_str: type: string description: Reversed, hex-encoded string representing the transaction id. output_index: type: integer format: int64 description: The index of the output on the transaction. lnrpcRPCMiddlewareRequest: type: object properties: request_id: type: string format: uint64 description: 'The unique ID of the intercepted original gRPC request. Useful for mapping request to response when implementing full duplex message interception. For streaming requests, this will be the same ID for all incoming and outgoing middleware intercept messages of the _same_ stream.' raw_macaroon: type: string format: byte description: 'The raw bytes of the complete macaroon as sent by the gRPC client in the original request. This might be empty for a request that doesn''t require macaroons such as the wallet unlocker RPCs.' custom_caveat_condition: type: string title: 'The parsed condition of the macaroon''s custom caveat for convenient access. This field only contains the value of the custom caveat that the handling middleware has registered itself for. The condition _must_ be validated for messages of intercept_type stream_auth and request!' stream_auth: $ref: '#/definitions/lnrpcStreamAuth' description: 'Intercept stream authentication: each new streaming RPC call that is initiated against lnd and contains the middleware''s custom macaroon caveat can be approved or denied based upon the macaroon in the stream header. This message will only be sent for streaming RPCs, unary RPCs must handle the macaroon authentication in the request interception to avoid an additional message round trip between lnd and the middleware.' request: $ref: '#/definitions/lnrpcRPCMessage' description: 'Intercept incoming gRPC client request message: all incoming messages, both on streaming and unary RPCs, are forwarded to the middleware for inspection. For unary RPC messages the middleware is also expected to validate the custom macaroon caveat of the request.' response: $ref: '#/definitions/lnrpcRPCMessage' description: 'Intercept outgoing gRPC response message: all outgoing messages, both on streaming and unary RPCs, are forwarded to the middleware for inspection and amendment. The response in this message is the original response as it was generated by the main RPC server. It can either be accepted (=forwarded to the client), replaced/overwritten with a new message of the same type, or replaced by an error message.' reg_complete: type: boolean description: 'This is used to indicate to the client that the server has successfully registered the interceptor. This is only used in the very first message that the server sends to the client after the client sends the server the middleware registration message.' msg_id: type: string format: uint64 description: 'The unique message ID of this middleware intercept message. There can be multiple middleware intercept messages per single gRPC request (one for the incoming request and one for the outgoing response) or gRPC stream (one for each incoming message and one for each outgoing response). This message ID must be referenced when responding (accepting/rejecting/modifying) to an intercept message.' metadata_pairs: type: object additionalProperties: $ref: '#/definitions/lnrpcMetadataValues' description: 'The metadata pairs that were sent along with the original gRPC request via the golang context.Context using explicit [gRPC metadata](https://grpc.io/docs/guides/metadata/). Context values are not propagated via gRPC and so we send any pairs along explicitly here so that the interceptor can access them.' lnrpcPsbtShim: type: object properties: pending_chan_id: type: string format: byte description: 'A unique identifier of 32 random bytes that will be used as the pending channel ID to identify the PSBT state machine when interacting with it and on the wire protocol to initiate the funding request.' base_psbt: type: string format: byte description: 'An optional base PSBT the new channel output will be added to. If this is non-empty, it must be a binary serialized PSBT.' no_publish: type: boolean description: 'If a channel should be part of a batch (multiple channel openings in one transaction), it can be dangerous if the whole batch transaction is published too early before all channel opening negotiations are completed. This flag prevents this particular channel from broadcasting the transaction after the negotiation with the remote peer. In a batch of channel openings this flag should be set to true for every channel but the very last.' lnrpcPaymentFailureReason: type: string enum: - FAILURE_REASON_NONE - FAILURE_REASON_TIMEOUT - FAILURE_REASON_NO_ROUTE - FAILURE_REASON_ERROR - FAILURE_REASON_INCORRECT_PAYMENT_DETAILS - FAILURE_REASON_INSUFFICIENT_BALANCE - FAILURE_REASON_CANCELED default: FAILURE_REASON_NONE description: " - FAILURE_REASON_NONE: Payment isn't failed (yet).\n - FAILURE_REASON_TIMEOUT: There are more routes to try, but the payment timeout was exceeded.\n - FAILURE_REASON_NO_ROUTE: All possible routes were tried and failed permanently. Or were no\nroutes to the destination at all.\n - FAILURE_REASON_ERROR: A non-recoverable error has occured.\n - FAILURE_REASON_INCORRECT_PAYMENT_DETAILS: Payment details incorrect (unknown hash, invalid amt or\ninvalid final cltv delta)\n - FAILURE_REASON_INSUFFICIENT_BALANCE: Insufficient local balance.\n - FAILURE_REASON_CANCELED: The payment was canceled." lnrpcChannelBackups: type: object properties: chan_backups: type: array items: type: object $ref: '#/definitions/lnrpcChannelBackup' description: A set of single-chan static channel backups. lnrpcCloseOutput: type: object properties: amount_sat: type: string format: int64 description: 'The amount in satoshi of this close output. This amount is the final commitment balance of the channel and the actual amount paid out on chain might be smaller due to subtracted fees.' pk_script: type: string format: byte description: The pkScript of the close output. is_local: type: boolean description: Whether this output is for the local or remote node. custom_channel_data: type: string format: byte description: 'The TLV encoded custom channel data records for this output, which might be set for custom channels.' lnrpcNewAddressResponse: type: object properties: address: type: string title: The newly generated wallet address lnrpcBlindedHop: type: object properties: blinded_node: type: string format: byte description: The blinded public key of the node. encrypted_data: type: string format: byte description: An encrypted blob of data provided to the blinded node. lnrpcFeatureBit: type: string enum: - DATALOSS_PROTECT_REQ - DATALOSS_PROTECT_OPT - INITIAL_ROUING_SYNC - UPFRONT_SHUTDOWN_SCRIPT_REQ - UPFRONT_SHUTDOWN_SCRIPT_OPT - GOSSIP_QUERIES_REQ - GOSSIP_QUERIES_OPT - TLV_ONION_REQ - TLV_ONION_OPT - EXT_GOSSIP_QUERIES_REQ - EXT_GOSSIP_QUERIES_OPT - STATIC_REMOTE_KEY_REQ - STATIC_REMOTE_KEY_OPT - PAYMENT_ADDR_REQ - PAYMENT_ADDR_OPT - MPP_REQ - MPP_OPT - WUMBO_CHANNELS_REQ - WUMBO_CHANNELS_OPT - ANCHORS_REQ - ANCHORS_OPT - ANCHORS_ZERO_FEE_HTLC_REQ - ANCHORS_ZERO_FEE_HTLC_OPT - ROUTE_BLINDING_REQUIRED - ROUTE_BLINDING_OPTIONAL - AMP_REQ - AMP_OPT default: DATALOSS_PROTECT_REQ lnrpcOutputDetail: type: object properties: output_type: $ref: '#/definitions/lnrpcOutputScriptType' title: The type of the output address: type: string title: The address pk_script: type: string title: The pkscript in hex output_index: type: string format: int64 title: The output index used in the raw transaction amount: type: string format: int64 title: The value of the output coin in satoshis is_our_address: type: boolean title: Denotes if the output is controlled by the internal wallet lnrpcHTLC: type: object properties: incoming: type: boolean amount: type: string format: int64 hash_lock: type: string format: byte expiration_height: type: integer format: int64 htlc_index: type: string format: uint64 description: Index identifying the htlc on the channel. forwarding_channel: type: string format: uint64 description: 'If this HTLC is involved in a forwarding operation, this field indicates the forwarding channel. For an outgoing htlc, it is the incoming channel. For an incoming htlc, it is the outgoing channel. When the htlc originates from this node or this node is the final destination, forwarding_channel will be zero. The forwarding channel will also be zero for htlcs that need to be forwarded but don''t have a forwarding decision persisted yet.' forwarding_htlc_index: type: string format: uint64 description: Index identifying the htlc on the forwarding channel. locked_in: type: boolean description: 'Whether the HTLC is locked in. An HTLC is considered locked in when the remote party has sent us the `revoke_and_ack` to irrevocably commit this HTLC.' lnrpcKeyLocator: type: object properties: key_family: type: integer format: int32 description: The family of key being identified. key_index: type: integer format: int32 description: The precise index of the key being identified. lnrpcEstimateFeeResponse: type: object properties: fee_sat: type: string format: int64 description: The total fee in satoshis. feerate_sat_per_byte: type: string format: int64 description: 'Deprecated, use sat_per_vbyte. The fee rate in satoshi/vbyte.' sat_per_vbyte: type: string format: uint64 description: The fee rate in satoshi/vbyte. inputs: type: array items: type: object $ref: '#/definitions/lnrpcOutPoint' description: A list of selected inputs for the transaction the estimate is for. lnrpcCheckMacPermResponse: type: object properties: valid: type: boolean lnrpcCustomMessage: type: object properties: peer: type: string format: byte title: Peer from which the message originates type: type: integer format: int64 description: Message type. This value will be in the custom range (>= 32768). data: type: string format: byte title: Raw message data lnrpcUtxo: type: object properties: address_type: $ref: '#/definitions/lnrpcAddressType' title: The type of address address: type: string title: The address amount_sat: type: string format: int64 title: The value of the unspent coin in satoshis pk_script: type: string title: The pkscript in hex outpoint: $ref: '#/definitions/lnrpcOutPoint' title: The outpoint in format txid:n confirmations: type: string format: int64 title: The number of confirmations for the Utxo lnrpcTransactionDetails: type: object properties: transactions: type: array items: type: object $ref: '#/definitions/lnrpcTransaction' description: The list of transactions relevant to the wallet. last_index: type: string format: uint64 description: 'The index of the last item in the set of returned transactions. This can be used to seek further, pagination style.' first_index: type: string format: uint64 description: 'The index of the last item in the set of returned transactions. This can be used to seek backwards, pagination style.' lnrpcRPCMessage: type: object properties: method_full_uri: type: string description: 'The full URI (in the format /./MethodName, for example /lnrpc.Lightning/GetInfo) of the RPC method the message was sent to/from.' stream_rpc: type: boolean description: Indicates whether the message was sent over a streaming RPC method or not. type_name: type: string description: 'The full canonical gRPC name of the message type (in the format .TypeName, for example lnrpc.GetInfoRequest). In case of an error being returned from lnd, this simply contains the string "error".' serialized: type: string format: byte description: 'The full content of the gRPC message, serialized in the binary protobuf format.' is_error: type: boolean description: 'Indicates that the response from lnd was an error, not a gRPC response. If this is set to true then the type_name contains the string "error" and serialized contains the error string.' lnrpcChannelCloseSummary: type: object properties: channel_point: type: string description: The outpoint (txid:index) of the funding transaction. chan_id: type: string format: uint64 description: The unique channel ID for the channel. chain_hash: type: string description: The hash of the genesis block that this channel resides within. closing_tx_hash: type: string description: The txid of the transaction which ultimately closed this channel. remote_pubkey: type: string description: Public key of the remote peer that we formerly had a channel with. capacity: type: string format: int64 description: Total capacity of the channel. close_height: type: integer format: int64 description: Height at which the funding transaction was spent. settled_balance: type: string format: int64 title: Settled balance at the time of channel closure time_locked_balance: type: string format: int64 title: The sum of all the time-locked outputs at the time of channel closure close_type: $ref: '#/definitions/ChannelCloseSummaryClosureType' description: Details on how the channel was closed. open_initiator: $ref: '#/definitions/lnrpcInitiator' description: 'Open initiator is the party that initiated opening the channel. Note that this value may be unknown if the channel was closed before we migrated to store open channel information after close.' close_initiator: $ref: '#/definitions/lnrpcInitiator' description: 'Close initiator indicates which party initiated the close. This value will be unknown for channels that were cooperatively closed before we started tracking cooperative close initiators. Note that this indicates which party initiated a close, and it is possible for both to initiate cooperative or force closes, although only one party''s close will be confirmed on chain.' resolutions: type: array items: type: object $ref: '#/definitions/lnrpcResolution' alias_scids: type: array items: type: string format: uint64 description: 'This lists out the set of alias short channel ids that existed for the closed channel. This may be empty.' zero_conf_confirmed_scid: type: string format: uint64 description: The confirmed SCID for a zero-conf channel. custom_channel_data: type: string format: byte description: 'The TLV encoded custom channel data records for this output, which might be set for custom channels.' lnrpcOutputScriptType: type: string enum: - SCRIPT_TYPE_PUBKEY_HASH - SCRIPT_TYPE_SCRIPT_HASH - SCRIPT_TYPE_WITNESS_V0_PUBKEY_HASH - SCRIPT_TYPE_WITNESS_V0_SCRIPT_HASH - SCRIPT_TYPE_PUBKEY - SCRIPT_TYPE_MULTISIG - SCRIPT_TYPE_NULLDATA - SCRIPT_TYPE_NON_STANDARD - SCRIPT_TYPE_WITNESS_UNKNOWN - SCRIPT_TYPE_WITNESS_V1_TAPROOT default: SCRIPT_TYPE_PUBKEY_HASH lnrpcUpdateFailure: type: string enum: - UPDATE_FAILURE_UNKNOWN - UPDATE_FAILURE_PENDING - UPDATE_FAILURE_NOT_FOUND - UPDATE_FAILURE_INTERNAL_ERR - UPDATE_FAILURE_INVALID_PARAMETER default: UPDATE_FAILURE_UNKNOWN lnrpcChannel: type: object properties: active: type: boolean title: Whether this channel is active or not remote_pubkey: type: string title: The identity pubkey of the remote node channel_point: type: string description: 'The outpoint (txid:index) of the funding transaction. With this value, Bob will be able to generate a signature for Alice''s version of the commitment transaction.' chan_id: type: string format: uint64 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.' capacity: type: string format: int64 title: The total amount of funds held in this channel local_balance: type: string format: int64 title: This node's current balance in this channel remote_balance: type: string format: int64 title: The counterparty's current balance in this channel commit_fee: type: string format: int64 description: 'The amount calculated to be paid in fees for the current set of commitment transactions. The fee amount is persisted with the channel in order to allow the fee amount to be removed and recalculated with each channel state update, including updates that happen after a system restart.' commit_weight: type: string format: int64 title: The weight of the commitment transaction fee_per_kw: type: string format: int64 description: 'The required number of satoshis per kilo-weight that the requester will pay at all times, for both the funding transaction and commitment transaction. This value can later be updated once the channel is open.' unsettled_balance: type: string format: int64 title: The unsettled balance in this channel total_satoshis_sent: type: string format: int64 description: The total number of satoshis we've sent within this channel. total_satoshis_received: type: string format: int64 description: The total number of satoshis we've received within this channel. num_updates: type: string format: uint64 description: The total number of updates conducted within this channel. pending_htlcs: type: array items: type: object $ref: '#/definitions/lnrpcHTLC' description: The list of active, uncleared HTLCs currently pending within the channel. csv_delay: type: integer format: int64 description: 'Deprecated. The CSV delay expressed in relative blocks. If the channel is force closed, we will need to wait for this many blocks before we can regain our funds.' private: type: boolean description: Whether this channel is advertised to the network or not. initiator: type: boolean description: True if we were the ones that created the channel. chan_status_flags: type: string description: A set of flags showing the current state of the channel. local_chan_reserve_sat: type: string format: int64 description: 'Deprecated. The minimum satoshis this node is required to reserve in its balance.' remote_chan_reserve_sat: type: string format: int64 description: 'Deprecated. The minimum satoshis the other node is required to reserve in its balance.' static_remote_key: type: boolean description: Deprecated. Use commitment_type. commitment_type: $ref: '#/definitions/lnrpcCommitmentType' description: The commitment type used by this channel. lifetime: type: string format: int64 description: 'The number of seconds that the channel has been monitored by the channel scoring system. Scores are currently not persisted, so this value may be less than the lifetime of the channel [EXPERIMENTAL].' uptime: type: string format: int64 description: 'The number of seconds that the remote peer has been observed as being online by the channel scoring system over the lifetime of the channel [EXPERIMENTAL].' close_address: type: string description: 'Close address is the address that we will enforce payout to on cooperative close if the channel was opened utilizing option upfront shutdown. This value can be set on channel open by setting close_address in an open channel request. If this value is not set, you can still choose a payout address by cooperatively closing with the delivery_address field set.' push_amount_sat: type: string format: uint64 description: 'The amount that the initiator of the channel optionally pushed to the remote party on channel open. This amount will be zero if the channel initiator did not push any funds to the remote peer. If the initiator field is true, we pushed this amount to our peer, if it is false, the remote peer pushed this amount to us.' thaw_height: type: integer format: int64 description: 'This uint32 indicates if this channel is to be considered ''frozen''. A frozen channel doest not allow a cooperative channel close by the initiator. The thaw_height is the height that this restriction stops applying to the channel. This field is optional, not setting it or using a value of zero will mean the channel has no additional restrictions. The height can be interpreted in two ways: as a relative height if the value is less than 500,000, or as an absolute height otherwise.' local_constraints: $ref: '#/definitions/lnrpcChannelConstraints' description: List constraints for the local node. remote_constraints: $ref: '#/definitions/lnrpcChannelConstraints' description: List constraints for the remote node. alias_scids: type: array items: type: string format: uint64 description: 'This lists out the set of alias short channel ids that exist for a channel. This may be empty.' zero_conf: type: boolean description: Whether or not this is a zero-conf channel. zero_conf_confirmed_scid: type: string format: uint64 description: This is the confirmed / on-chain zero-conf SCID. peer_alias: type: string description: The configured alias name of our peer. peer_scid_alias: type: string format: uint64 description: This is the peer SCID alias. memo: type: string description: 'An optional note-to-self to go along with the channel containing some useful information. This is only ever stored locally and in no way impacts the channel''s operation.' custom_channel_data: type: string format: byte description: Custom channel data that might be populated in custom channels. lnrpcOpenStatusUpdate: type: object properties: chan_pending: $ref: '#/definitions/lnrpcPendingUpdate' description: 'Signals that the channel is now fully negotiated and the funding transaction published.' chan_open: $ref: '#/definitions/lnrpcChannelOpenUpdate' description: 'Signals that the channel''s funding transaction has now reached the required number of confirmations on chain and can be used.' psbt_fund: $ref: '#/definitions/lnrpcReadyForPsbtFunding' description: 'Signals that the funding process has been suspended and the construction of a PSBT that funds the channel PK script is now required.' pending_chan_id: type: string format: byte description: 'The pending channel ID of the created channel. This value may be used to further the funding flow manually via the FundingStateStep method.' lnrpcInitiator: type: string enum: - INITIATOR_UNKNOWN - INITIATOR_LOCAL - INITIATOR_REMOTE - INITIATOR_BOTH default: INITIATOR_UNKNOWN PendingChannelsResponseForceClosedChannel: type: object properties: channel: $ref: '#/definitions/PendingChannelsResponsePendingChannel' title: The pending channel to be force closed closing_txid: type: string title: The transaction id of the closing transaction limbo_balance: type: string format: int64 title: The balance in satoshis encumbered in this pending channel maturity_height: type: integer format: int64 title: The height at which funds can be swept into the wallet blocks_til_maturity: type: integer format: int32 description: 'Remaining # of blocks until the commitment output can be swept. Negative values indicate how many blocks have passed since becoming mature.' recovered_balance: type: string format: int64 title: The total value of funds successfully recovered from this channel pending_htlcs: type: array items: type: object $ref: '#/definitions/lnrpcPendingHTLC' anchor: $ref: '#/definitions/ForceClosedChannelAnchorState' lnrpcSendResponse: type: object properties: payment_error: type: string payment_preimage: type: string format: byte payment_route: $ref: '#/definitions/lnrpcRoute' payment_hash: type: string format: byte lnrpcFundingShimCancel: type: object properties: pending_chan_id: type: string format: byte description: The pending channel ID of the channel to cancel the funding shim for. lnrpcListUnspentResponse: type: object properties: utxos: type: array items: type: object $ref: '#/definitions/lnrpcUtxo' title: A list of utxos lnrpcVerifyChanBackupResponse: type: object properties: chan_points: type: array items: type: string lnrpcVerifyMessageResponse: type: object properties: valid: type: boolean title: Whether the signature was valid over the given message pubkey: type: string title: The pubkey recovered from the signature lnrpcChannelCommitUpdate: type: object properties: channel: $ref: '#/definitions/lnrpcChannel' PendingChannelsResponsePendingOpenChannel: type: object properties: channel: $ref: '#/definitions/PendingChannelsResponsePendingChannel' title: The pending channel commit_fee: type: string format: int64 description: 'The amount calculated to be paid in fees for the current set of commitment transactions. The fee amount is persisted with the channel in order to allow the fee amount to be removed and recalculated with each channel state update, including updates that happen after a system restart.' commit_weight: type: string format: int64 title: The weight of the commitment transaction fee_per_kw: type: string format: int64 description: 'The required number of satoshis per kilo-weight that the requester will pay at all times, for both the funding transaction and commitment transaction. This value can later be updated once the channel is open.' funding_expiry_blocks: type: integer format: int32 description: 'The number of blocks until the funding transaction is considered expired. If this value gets close to zero, there is a risk that the channel funding will be canceled by the channel responder. The channel should be fee bumped using CPFP (see walletrpc.BumpFee) to ensure that the channel confirms in time. Otherwise a force-close will be necessary if the channel confirms after the funding transaction expires. A negative value means the channel responder has very likely canceled the funding and the channel will never become fully operational.' confirmations_until_active: type: integer format: int64 description: 'The number of blocks remaining until the channel status changes from pending to active. A value of 0 indicates that the channel is now active. "Active" here means both channel peers have the channel marked OPEN and can immediately start using it. For public channels, this does not imply a channel_announcement has been gossiped. It only becomes public on the network after 6 on‐chain confirmations. See BOLT07 "Routing Gossip": https://github.com/lightning/bolts/blob/master/07-routing-gossip.md ZeroConf channels bypass the pending state entirely: they are marked active immediately upon creation, so they never show up as "pending".' confirmation_height: type: integer format: int64 description: 'The confirmation height records the block height at which the funding transaction was first confirmed.' lnrpcSendRequest: type: object properties: dest: type: string format: byte description: 'The identity pubkey of the payment recipient. When using REST, this field must be encoded as base64.' dest_string: type: string description: 'The hex-encoded identity pubkey of the payment recipient. Deprecated now that the REST gateway supports base64 encoding of bytes fields.' amt: type: string format: int64 description: 'The amount to send expressed in satoshis. The fields amt and amt_msat are mutually exclusive.' amt_msat: type: string format: int64 description: 'The amount to send expressed in millisatoshis. The fields amt and amt_msat are mutually exclusive.' payment_hash: type: string format: byte description: 'The hash to use within the payment''s HTLC. When using REST, this field must be encoded as base64.' payment_hash_string: type: string description: 'The hex-encoded hash to use within the payment''s HTLC. Deprecated now that the REST gateway supports base64 encoding of bytes fields.' payment_request: type: string description: 'A bare-bones invoice for a payment within the Lightning Network. With the details of the invoice, the sender has all the data necessary to send a payment to the recipient.' final_cltv_delta: type: integer format: int32 description: 'The CLTV delta from the current height that should be used to set the timelock for the final hop.' fee_limit: $ref: '#/definitions/lnrpcFeeLimit' description: 'The maximum number of satoshis that will be paid as a fee of the payment. This value can be represented either as a percentage of the amount being sent, or as a fixed amount of the maximum fee the user is willing the pay to send the payment. If not specified, lnd will use a default value of 100% fees for small amounts (<=1k sat) or 5% fees for larger amounts.' outgoing_chan_id: type: string format: uint64 description: 'The channel id of the channel that must be taken to the first hop. If zero, any channel may be used.' last_hop_pubkey: type: string format: byte description: The pubkey of the last hop of the route. If empty, any hop may be used. cltv_limit: type: integer format: int64 description: 'An optional maximum total time lock for the route. This should not exceed lnd''s `--max-cltv-expiry` setting. If zero, then the value of `--max-cltv-expiry` is enforced.' dest_custom_records: type: object additionalProperties: type: string format: byte description: 'An optional field that can be used to pass an arbitrary set of TLV records to a peer which understands the new records. This can be used to pass application specific data during the payment attempt. Record types are required to be in the custom range >= 65536. When using REST, the values must be encoded as base64.' allow_self_payment: type: boolean description: If set, circular payments to self are permitted. dest_features: type: array items: $ref: '#/definitions/lnrpcFeatureBit' description: 'Features assumed to be supported by the final node. All transitive feature dependencies must also be set properly. For a given feature bit pair, either optional or remote may be set, but not both. If this field is nil or empty, the router will try to load destination features from the graph as a fallback.' payment_addr: type: string format: byte description: 'The payment address of the generated invoice. This is also called payment secret in specifications (e.g. BOLT 11).' lnrpcMacaroonPermission: type: object properties: entity: type: string description: The entity a permission grants access to. action: type: string description: The action that is granted. lnrpcForwardingHistoryRequest: type: object properties: start_time: type: string format: uint64 description: 'Start time is the starting point of the forwarding history request. All records beyond this point will be included, respecting the end time, and the index offset.' end_time: type: string format: uint64 description: 'End time is the end point of the forwarding history request. The response will carry at most 50k records between the start time and the end time. The index offset can be used to implement pagination.' index_offset: type: integer format: int64 description: 'Index offset is the offset in the time series to start at. As each response can only contain 50k records, callers can use this to skip around within a packed time series.' num_max_events: type: integer format: int64 description: The max number of events to return in the response to this query. peer_alias_lookup: type: boolean description: 'Informs the server if the peer alias should be looked up for each forwarding event.' incoming_chan_ids: type: array items: type: string format: uint64 title: 'List of incoming channel ids to filter htlcs received from a particular channel' outgoing_chan_ids: type: array items: type: string format: uint64 title: 'List of outgoing channel ids to filter htlcs being forwarded to a particular channel' lnrpcNodeMetricsResponse: type: object properties: betweenness_centrality: type: object additionalProperties: $ref: '#/definitions/lnrpcFloatMetric' description: 'Betweenness centrality is the sum of the ratio of shortest paths that pass through the node for each pair of nodes in the graph (not counting paths starting or ending at this node). Map of node pubkey to betweenness centrality of the node. Normalized values are in the [0,1] closed interval.' lnrpcBatchOpenChannel: type: object properties: node_pubkey: type: string format: byte description: 'The pubkey of the node to open a channel with. When using REST, this field must be encoded as base64.' local_funding_amount: type: string format: int64 description: The number of satoshis the wallet should commit to the channel. push_sat: type: string format: int64 description: 'The number of satoshis to push to the remote side as part of the initial commitment state.' private: type: boolean description: 'Whether this channel should be private, not announced to the greater network.' min_htlc_msat: type: string format: int64 description: 'The minimum value in millisatoshi we will require for incoming HTLCs on the channel.' remote_csv_delay: type: integer format: int64 description: 'The delay we require on the remote''s commitment transaction. If this is not set, it will be scaled automatically with the channel size.' close_address: type: string description: 'Close address is an optional address which specifies the address to which funds should be paid out to upon cooperative close. This field may only be set if the peer supports the option upfront feature bit (call listpeers to check). The remote peer will only accept cooperative closes to this address if it is set. Note: If this value is set on channel creation, you will *not* be able to cooperatively close out to a different address.' pending_chan_id: type: string format: byte description: 'An optional, unique identifier of 32 random bytes that will be used as the pending channel ID to identify the channel while it is in the pre-pending state.' commitment_type: $ref: '#/definitions/lnrpcCommitmentType' description: 'The explicit commitment type to use. Note this field will only be used if the remote peer supports explicit channel negotiation.' remote_max_value_in_flight_msat: type: string format: uint64 description: 'The maximum amount of coins in millisatoshi that can be pending within the channel. It only applies to the remote party.' remote_max_htlcs: type: integer format: int64 description: 'The maximum number of concurrent HTLCs we will allow the remote party to add to the commitment transaction.' max_local_csv: type: integer format: int64 description: 'Max local csv is the maximum csv delay we will allow for our own commitment transaction.' zero_conf: type: boolean description: If this is true, then a zero-conf channel open will be attempted. scid_alias: type: boolean description: 'If this is true, then an option-scid-alias channel-type open will be attempted.' base_fee: type: string format: uint64 description: The base fee charged regardless of the number of milli-satoshis sent. fee_rate: type: string format: uint64 description: 'The fee rate in ppm (parts per million) that will be charged in proportion of the value of each forwarded HTLC.' use_base_fee: type: boolean description: 'If use_base_fee is true the open channel announcement will update the channel base fee with the value specified in base_fee. In the case of a base_fee of 0 use_base_fee is needed downstream to distinguish whether to use the default base fee value specified in the config or 0.' use_fee_rate: type: boolean description: 'If use_fee_rate is true the open channel announcement will update the channel fee rate with the value specified in fee_rate. In the case of a fee_rate of 0 use_fee_rate is needed downstream to distinguish whether to use the default fee rate value specified in the config or 0.' remote_chan_reserve_sat: type: string format: uint64 description: 'The number of satoshis we require the remote peer to reserve. This value, if specified, must be above the dust limit and below 20% of the channel capacity.' memo: type: string description: 'An optional note-to-self to go along with the channel containing some useful information. This is only ever stored locally and in no way impacts the channel''s operation.' lnrpcMetadataValues: type: object properties: values: type: array items: type: string description: The set of metadata values that correspond to the metadata key. lnrpcClosedChannelsResponse: type: object properties: channels: type: array items: type: object $ref: '#/definitions/lnrpcChannelCloseSummary' lnrpcAddressType: type: string enum: - WITNESS_PUBKEY_HASH - NESTED_PUBKEY_HASH - UNUSED_WITNESS_PUBKEY_HASH - UNUSED_NESTED_PUBKEY_HASH - TAPROOT_PUBKEY - UNUSED_TAPROOT_PUBKEY default: WITNESS_PUBKEY_HASH description: '- `p2wkh`: Pay to witness key hash (`WITNESS_PUBKEY_HASH` = 0) - `np2wkh`: Pay to nested witness key hash (`NESTED_PUBKEY_HASH` = 1) - `p2tr`: Pay to taproot pubkey (`TAPROOT_PUBKEY` = 4)' title: '`AddressType` has to be one of:' lnrpcListPeersResponse: type: object properties: peers: type: array items: type: object $ref: '#/definitions/lnrpcPeer' title: The list of currently connected peers lnrpcMPPRecord: type: object properties: payment_addr: type: string format: byte description: 'A unique, random identifier used to authenticate the sender as the intended payer of a multi-path payment. The payment_addr must be the same for all subpayments, and match the payment_addr provided in the receiver''s invoice. The same payment_addr must be used on all subpayments. This is also called payment secret in specifications (e.g. BOLT 11).' total_amt_msat: type: string format: int64 description: 'The total amount in milli-satoshis being sent as part of a larger multi-path payment. The caller is responsible for ensuring subpayments to the same node and payment_hash sum exactly to total_amt_msat. The same total_amt_msat must be used on all subpayments.' lnrpcBlindedPath: type: object properties: introduction_node: type: string format: byte description: The unblinded pubkey of the introduction node for the route. blinding_point: type: string format: byte description: The ephemeral pubkey used by nodes in the blinded route. blinded_hops: type: array items: type: object $ref: '#/definitions/lnrpcBlindedHop' description: 'A set of blinded node keys and data blobs for the blinded portion of the route. Note that the first hop is expected to be the introduction node, so the route is always expected to have at least one hop.' lnrpcRestoreChanBackupRequest: type: object properties: chan_backups: $ref: '#/definitions/lnrpcChannelBackups' description: The channels to restore as a list of channel/backup pairs. multi_chan_backup: type: string format: byte description: 'The channels to restore in the packed multi backup format. When using REST, this field must be encoded as base64.' lnrpcSendOnionMessageResponse: type: object properties: status: type: string description: The status of the onion message send operation. lnrpcConnectPeerResponse: type: object properties: status: type: string description: The status of the connect operation. lnrpcPendingHTLC: type: object properties: incoming: type: boolean title: The direction within the channel that the htlc was sent amount: type: string format: int64 title: The total value of the htlc outpoint: type: string title: The final output to be swept back to the user's wallet maturity_height: type: integer format: int64 title: The next block height at which we can spend the current stage blocks_til_maturity: type: integer format: int32 description: 'The number of blocks remaining until the current stage can be swept. Negative values indicate how many blocks have passed since becoming mature.' stage: type: integer format: int64 title: Indicates whether the htlc is in its first or second stage of recovery lnrpcFundingStateStepResp: type: object lnrpcBatchOpenChannelRequest: type: object properties: channels: type: array items: type: object $ref: '#/definitions/lnrpcBatchOpenChannel' description: The list of channels to open. target_conf: type: integer format: int32 description: 'The target number of blocks that the funding transaction should be confirmed by.' sat_per_vbyte: type: string format: int64 description: 'A manual fee rate set in sat/vByte that should be used when crafting the funding transaction.' min_confs: type: integer format: int32 description: 'The minimum number of confirmations each one of your outputs used for the funding transaction must satisfy.' spend_unconfirmed: type: boolean description: 'Whether unconfirmed outputs should be used as inputs for the funding transaction.' label: type: string description: An optional label for the batch transaction, limited to 500 characters. coin_selection_strategy: $ref: '#/definitions/lnrpcCoinSelectionStrategy' description: The strategy to use for selecting coins during batch opening channels. lnrpcChannelAcceptRequest: type: object properties: node_pubkey: type: string format: byte description: The pubkey of the node that wishes to open an inbound channel. chain_hash: type: string format: byte description: The hash of the genesis block that the proposed channel resides in. pending_chan_id: type: string format: byte description: The pending channel id. funding_amt: type: string format: uint64 description: 'The funding amount in satoshis that initiator wishes to use in the channel.' push_amt: type: string format: uint64 description: The push amount of the proposed channel in millisatoshis. dust_limit: type: string format: uint64 description: The dust limit of the initiator's commitment tx. max_value_in_flight: type: string format: uint64 description: 'The maximum amount of coins in millisatoshis that can be pending in this channel.' channel_reserve: type: string format: uint64 description: 'The minimum amount of satoshis the initiator requires us to have at all times.' min_htlc: type: string format: uint64 description: The smallest HTLC in millisatoshis that the initiator will accept. fee_per_kw: type: string format: uint64 description: 'The initial fee rate that the initiator suggests for both commitment transactions.' csv_delay: type: integer format: int64 description: 'The number of blocks to use for the relative time lock in the pay-to-self output of both commitment transactions.' max_accepted_htlcs: type: integer format: int64 description: The total number of incoming HTLC's that the initiator will accept. channel_flags: type: integer format: int64 description: 'A bit-field which the initiator uses to specify proposed channel behavior.' commitment_type: $ref: '#/definitions/lnrpcCommitmentType' description: The commitment type the initiator wishes to use for the proposed channel. wants_zero_conf: type: boolean description: 'Whether the initiator wants to open a zero-conf channel via the channel type.' wants_scid_alias: type: boolean description: 'Whether the initiator wants to use the scid-alias channel type. This is separate from the feature bit.' lnrpcAddInvoiceResponse: type: object properties: r_hash: type: string format: byte payment_request: type: string description: 'A bare-bones invoice for a payment within the Lightning Network. With the details of the invoice, the sender has all the data necessary to send a payment to the recipient.' add_index: type: string format: uint64 description: 'The "add" index of this invoice. Each newly created invoice will increment this index making it monotonically increasing. Callers to the SubscribeInvoices call can use this to instantly get notified of all added invoices with an add_index greater than this one.' payment_addr: type: string format: byte description: 'The payment address of the generated invoice. This is also called payment secret in specifications (e.g. BOLT 11). This value should be used in all payments for this invoice as we require it for end to end security.' lnrpcSendCoinsResponse: type: object properties: txid: type: string title: The transaction ID of the transaction lnrpcSendToRouteRequest: type: object properties: payment_hash: type: string format: byte description: 'The payment hash to use for the HTLC. When using REST, this field must be encoded as base64.' payment_hash_string: type: string description: 'An optional hex-encoded payment hash to be used for the HTLC. Deprecated now that the REST gateway supports base64 encoding of bytes fields.' route: $ref: '#/definitions/lnrpcRoute' description: Route that should be used to attempt to complete the payment. lnrpcGetDebugInfoResponse: type: object properties: config: type: object additionalProperties: type: string log: type: array items: type: string lnrpcSendCoinsRequest: type: object properties: addr: type: string title: The address to send coins to amount: type: string format: int64 title: The amount in satoshis to send target_conf: type: integer format: int32 description: 'The target number of blocks that this transaction should be confirmed by.' sat_per_vbyte: type: string format: uint64 description: 'A manual fee rate set in sat/vbyte that should be used when crafting the transaction.' sat_per_byte: type: string format: int64 description: 'Deprecated, use sat_per_vbyte. A manual fee rate set in sat/vbyte that should be used when crafting the transaction.' send_all: type: boolean description: 'If set, the amount field should be unset. It indicates lnd will send all wallet coins or all selected coins to the specified address.' label: type: string description: An optional label for the transaction, limited to 500 characters. min_confs: type: integer format: int32 description: 'The minimum number of confirmations each one of your outputs used for the transaction must satisfy.' spend_unconfirmed: type: boolean description: Whether unconfirmed outputs should be used as inputs for the transaction. coin_selection_strategy: $ref: '#/definitions/lnrpcCoinSelectionStrategy' description: The strategy to use for selecting coins. outpoints: type: array items: type: object $ref: '#/definitions/lnrpcOutPoint' description: A list of selected outpoints as inputs for the transaction. lnrpcMultiChanBackup: type: object properties: chan_points: type: array items: type: object $ref: '#/definitions/lnrpcChannelPoint' description: Is the set of all channels that are included in this multi-channel backup. multi_chan_backup: type: string format: byte description: 'A single encrypted blob containing all the static channel backups of the channel listed above. This can be stored as a single file or blob, and safely be replaced with any prior/future versions. When using REST, this field must be encoded as base64.' lnrpcSendOnionMessageRequest: type: object properties: peer: type: string format: byte title: Peer to send the message to path_key: type: string format: byte description: 'PathKey is used to derive the blinded node id by tweaking the hop''s static public key. The hop uses the corresponding blinded private key together with the sender''s ephemeral key to perform ECDH and obtain the shared secret for decrypting the onion payload. Separately, for decrypting `encrypted_recipient_data`, the recipient performs ECDH between its static node private key and the path_key to derive the decryption key.' onion: type: string format: byte description: 'Serialized Sphinx onion packet (BOLT 4) containing the layered, per-hop encrypted payloads and routing instructions used to forward this message along its designated path.' lnrpcNodeAddress: type: object properties: network: type: string addr: type: string lnrpcListChannelsResponse: type: object properties: channels: type: array items: type: object $ref: '#/definitions/lnrpcChannel' title: The list of active channels lnrpcOpenChannelRequest: type: object properties: sat_per_vbyte: type: string format: uint64 description: 'A manual fee rate set in sat/vbyte that should be used when crafting the funding transaction.' node_pubkey: type: string format: byte description: 'The pubkey of the node to open a channel with. When using REST, this field must be encoded as base64.' node_pubkey_string: type: string description: 'The hex encoded pubkey of the node to open a channel with. Deprecated now that the REST gateway supports base64 encoding of bytes fields.' local_funding_amount: type: string format: int64 title: The number of satoshis the wallet should commit to the channel push_sat: type: string format: int64 title: 'The number of satoshis to push to the remote side as part of the initial commitment state' target_conf: type: integer format: int32 description: 'The target number of blocks that the funding transaction should be confirmed by.' sat_per_byte: type: string format: int64 description: 'Deprecated, use sat_per_vbyte. A manual fee rate set in sat/vbyte that should be used when crafting the funding transaction.' private: type: boolean description: 'Whether this channel should be private, not announced to the greater network.' min_htlc_msat: type: string format: int64 description: 'The minimum value in millisatoshi we will require for incoming HTLCs on the channel.' remote_csv_delay: type: integer format: int64 description: 'The delay we require on the remote''s commitment transaction. If this is not set, it will be scaled automatically with the channel size.' min_confs: type: integer format: int32 description: 'The minimum number of confirmations each one of your outputs used for the funding transaction must satisfy.' spend_unconfirmed: type: boolean description: 'Whether unconfirmed outputs should be used as inputs for the funding transaction.' close_address: type: string description: 'Close address is an optional address which specifies the address to which funds should be paid out to upon cooperative close. This field may only be set if the peer supports the option upfront feature bit (call listpeers to check). The remote peer will only accept cooperative closes to this address if it is set. Note: If this value is set on channel creation, you will *not* be able to cooperatively close out to a different address.' funding_shim: $ref: '#/definitions/lnrpcFundingShim' description: 'Funding shims are an optional argument that allow the caller to intercept certain funding functionality. For example, a shim can be provided to use a particular key for the commitment key (ideally cold) rather than use one that is generated by the wallet as normal, or signal that signing will be carried out in an interactive manner (PSBT based).' remote_max_value_in_flight_msat: type: string format: uint64 description: 'The maximum amount of coins in millisatoshi that can be pending within the channel. It only applies to the remote party.' remote_max_htlcs: type: integer format: int64 description: 'The maximum number of concurrent HTLCs we will allow the remote party to add to the commitment transaction.' max_local_csv: type: integer format: int64 description: 'Max local csv is the maximum csv delay we will allow for our own commitment transaction.' commitment_type: $ref: '#/definitions/lnrpcCommitmentType' description: 'The explicit commitment type to use. Note this field will only be used if the remote peer supports explicit channel negotiation.' zero_conf: type: boolean description: If this is true, then a zero-conf channel open will be attempted. scid_alias: type: boolean description: 'If this is true, then an option-scid-alias channel-type open will be attempted.' base_fee: type: string format: uint64 description: The base fee charged regardless of the number of milli-satoshis sent. fee_rate: type: string format: uint64 description: 'The fee rate in ppm (parts per million) that will be charged in proportion of the value of each forwarded HTLC.' use_base_fee: type: boolean description: 'If use_base_fee is true the open channel announcement will update the channel base fee with the value specified in base_fee. In the case of a base_fee of 0 use_base_fee is needed downstream to distinguish whether to use the default base fee value specified in the config or 0.' use_fee_rate: type: boolean description: 'If use_fee_rate is true the open channel announcement will update the channel fee rate with the value specified in fee_rate. In the case of a fee_rate of 0 use_fee_rate is needed downstream to distinguish whether to use the default fee rate value specified in the config or 0.' remote_chan_reserve_sat: type: string format: uint64 description: 'The number of satoshis we require the remote peer to reserve. This value, if specified, must be above the dust limit and below 20% of the channel capacity.' fund_max: type: boolean description: 'If set, then lnd will attempt to commit all the coins under control of the internal wallet to open the channel, and the LocalFundingAmount field must be zero and is ignored.' memo: type: string description: 'An optional note-to-self to go along with the channel containing some useful information. This is only ever stored locally and in no way impacts the channel''s operation.' outpoints: type: array items: type: object $ref: '#/definitions/lnrpcOutPoint' description: A list of selected outpoints that are allocated for channel funding. lnrpcStreamAuth: type: object properties: method_full_uri: type: string description: 'The full URI (in the format /./MethodName, for example /lnrpc.Lightning/GetInfo) of the streaming RPC method that was just established.' lnrpcRouteHint: type: object properties: hop_hints: type: array items: type: object $ref: '#/definitions/lnrpcHopHint' description: 'A list of hop hints that when chained together can assist in reaching a specific destination.' lnrpcCloseStatusUpdate: type: object properties: close_pending: $ref: '#/definitions/lnrpcPendingUpdate' chan_close: $ref: '#/definitions/lnrpcChannelCloseUpdate' close_instant: $ref: '#/definitions/lnrpcInstantUpdate' lnrpcListAliasesResponse: type: object properties: alias_maps: type: array items: type: object $ref: '#/definitions/lnrpcAliasMap' HTLCAttemptHTLCStatus: type: string enum: - IN_FLIGHT - SUCCEEDED - FAILED default: IN_FLIGHT lnrpcDebugLevelResponse: type: object properties: sub_systems: type: string lnrpcConnectPeerRequest: type: object properties: addr: $ref: '#/definitions/lnrpcLightningAddress' description: Lightning address of the peer to connect to. perm: type: boolean description: 'If set, the daemon will attempt to persistently connect to the target peer. Otherwise, the call will be synchronous.' timeout: type: string format: uint64 description: 'The connection timeout value (in seconds) for this request. It won''t affect other requests.' PeerEventEventType: type: string enum: - PEER_ONLINE - PEER_OFFLINE default: PEER_ONLINE lnrpcFailure: type: object properties: code: $ref: '#/definitions/FailureFailureCode' title: Failure code as defined in the Lightning spec channel_update: $ref: '#/definitions/lnrpcChannelUpdate' description: An optional channel update message. htlc_msat: type: string format: uint64 description: A failure type-dependent htlc value. onion_sha_256: type: string format: byte description: The sha256 sum of the onion payload. cltv_expiry: type: integer format: int64 description: A failure type-dependent cltv expiry value. flags: type: integer format: int64 description: A failure type-dependent flags value. failure_source_index: type: integer format: int64 description: 'The position in the path of the intermediate or final node that generated the failure message. Position zero is the sender node.' height: type: integer format: int64 description: A failure type-dependent block height. lnrpcListPermissionsResponse: type: object properties: method_permissions: type: object additionalProperties: $ref: '#/definitions/lnrpcMacaroonPermissionList' description: 'A map between all RPC method URIs and their required macaroon permissions to access them.' lnrpcDelCanceledInvoiceResp: type: object properties: status: type: string description: The status of the delete operation. lnrpcPeer: type: object properties: pub_key: type: string title: The identity pubkey of the peer address: type: string title: Network address of the peer; eg `127.0.0.1:10011` bytes_sent: type: string format: uint64 title: Bytes of data transmitted to this peer bytes_recv: type: string format: uint64 title: Bytes of data transmitted from this peer sat_sent: type: string format: int64 title: Satoshis sent to this peer sat_recv: type: string format: int64 title: Satoshis received from this peer inbound: type: boolean title: A channel is inbound if the counterparty initiated the channel ping_time: type: string format: int64 title: Ping time to this peer sync_type: $ref: '#/definitions/PeerSyncType' description: The type of sync we are currently performing with this peer. features: type: object additionalProperties: $ref: '#/definitions/lnrpcFeature' description: Features advertised by the remote peer in their init message. errors: type: array items: type: object $ref: '#/definitions/lnrpcTimestampedError' description: 'The latest errors received from our peer with timestamps, limited to the 10 most recent errors. These errors are tracked across peer connections, but are not persisted across lnd restarts. Note that these errors are only stored for peers that we have channels open with, to prevent peers from spamming us with errors at no cost.' flap_count: type: integer format: int32 description: 'This field is populated when the peer has at least one channel with us. The number of times we have recorded this peer going offline or coming online, recorded across restarts. Note that this value is decreased over time if the peer has not recently flapped, so that we can forgive peers with historically high flap counts.' last_flap_ns: type: string format: int64 description: 'This field is populated when the peer has at least one channel with us. The timestamp of the last flap we observed for this peer. If this value is zero, we have not observed any flaps for this peer.' last_ping_payload: type: string format: byte description: The last ping payload the peer has sent to us. lnrpcAmount: type: object properties: sat: type: string format: uint64 description: Value denominated in satoshis. msat: type: string format: uint64 description: Value denominated in milli-satoshis. lnrpcListPaymentsResponse: type: object properties: payments: type: array items: type: object $ref: '#/definitions/lnrpcPayment' title: The list of payments first_index_offset: type: string format: uint64 description: 'The index of the first item in the set of returned payments. This can be used as the index_offset to continue seeking backwards in the next request.' last_index_offset: type: string format: uint64 description: 'The index of the last item in the set of returned payments. This can be used as the index_offset to continue seeking forwards in the next request.' total_num_payments: type: string format: uint64 description: 'Will only be set if count_total_payments in the request was set. Represents the total number of payments (complete and incomplete, independent of the number of payments requested in the query) currently present in the payments database.' lnrpcPolicyUpdateRequest: type: object properties: global: type: boolean description: If set, then this update applies to all currently active channels. chan_point: $ref: '#/definitions/lnrpcChannelPoint' description: If set, this update will target a specific channel. base_fee_msat: type: string format: int64 description: The base fee charged regardless of the number of milli-satoshis sent. fee_rate: type: number format: double description: 'The effective fee rate in milli-satoshis. The precision of this value goes up to 6 decimal places, so 1e-6.' fee_rate_ppm: type: integer format: int64 description: The effective fee rate in micro-satoshis (parts per million). time_lock_delta: type: integer format: int64 description: The required timelock delta for HTLCs forwarded over the channel. max_htlc_msat: type: string format: uint64 description: 'If set, the maximum HTLC size in milli-satoshis. If unset, the maximum HTLC will be unchanged.' min_htlc_msat: type: string format: uint64 description: 'The minimum HTLC size in milli-satoshis. Only applied if min_htlc_msat_specified is true.' min_htlc_msat_specified: type: boolean description: If true, min_htlc_msat is applied. inbound_fee: $ref: '#/definitions/lnrpcInboundFee' description: 'Optional inbound fee. If unset, the previously set value will be retained [EXPERIMENTAL].' create_missing_edge: type: boolean description: 'Under unknown circumstances a channel can exist with a missing edge in the graph database. This can cause an ''edge not found'' error when calling `getchaninfo` and/or cause the default channel policy to be used during forwards. Setting this flag will recreate the edge if not found, allowing updating this channel policy and fixing the missing edge problem for this channel permanently. For fields not set in this command, the default policy will be created.' lnrpcSendCustomMessageRequest: type: object properties: peer: type: string format: byte title: 'Peer to which the message will be sent. Represented as a byte-encoded public key' type: type: integer format: int64 description: 'Message type. This value needs to be in the custom range (>= 32768). To send a type < custom range, 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.' data: type: string format: byte description: Raw message data. PendingChannelsResponseCommitments: type: object properties: local_txid: type: string description: Hash of the local version of the commitment tx. remote_txid: type: string description: Hash of the remote version of the commitment tx. remote_pending_txid: type: string description: Hash of the remote pending version of the commitment tx. local_commit_fee_sat: type: string format: uint64 description: 'The amount in satoshis calculated to be paid in fees for the local commitment.' remote_commit_fee_sat: type: string format: uint64 description: 'The amount in satoshis calculated to be paid in fees for the remote commitment.' remote_pending_commit_fee_sat: type: string format: uint64 description: 'The amount in satoshis calculated to be paid in fees for the remote pending commitment.' ChannelEventUpdateUpdateType: type: string enum: - OPEN_CHANNEL - CLOSED_CHANNEL - ACTIVE_CHANNEL - INACTIVE_CHANNEL - PENDING_OPEN_CHANNEL - FULLY_RESOLVED_CHANNEL - CHANNEL_FUNDING_TIMEOUT - CHANNEL_UPDATE default: OPEN_CHANNEL lnrpcBatchOpenChannelResponse: type: object properties: pending_channels: type: array items: type: object $ref: '#/definitions/lnrpcPendingUpdate' PendingChannelsResponseClosedChannel: type: object properties: channel: $ref: '#/definitions/PendingChannelsResponsePendingChannel' title: The pending channel to be closed closing_txid: type: string title: The transaction id of the closing transaction lnrpcChannelAcceptResponse: type: object properties: accept: type: boolean description: Whether or not the client accepts the channel. pending_chan_id: type: string format: byte description: The pending channel id to which this response applies. error: type: string description: 'An optional error to send the initiating party to indicate why the channel was rejected. This field *should not* contain sensitive information, it will be sent to the initiating party. This field should only be set if accept is false, the channel will be rejected if an error is set with accept=true because the meaning of this response is ambiguous. Limited to 500 characters.' upfront_shutdown: type: string description: 'The upfront shutdown address to use if the initiating peer supports option upfront shutdown script (see ListPeers for the features supported). Note that the channel open will fail if this value is set for a peer that does not support this feature bit.' csv_delay: type: integer format: int64 description: The csv delay (in blocks) that we require for the remote party. reserve_sat: type: string format: uint64 description: 'The reserve amount in satoshis that we require the remote peer to adhere to. We require that the remote peer always have some reserve amount allocated to them so that there is always a disincentive to broadcast old state (if they hold 0 sats on their side of the channel, there is nothing to lose).' in_flight_max_msat: type: string format: uint64 description: 'The maximum amount of funds in millisatoshis that we allow the remote peer to have in outstanding htlcs.' max_htlc_count: type: integer format: int64 description: The maximum number of htlcs that the remote peer can offer us. min_htlc_in: type: string format: uint64 description: The minimum value in millisatoshis for incoming htlcs on the channel. min_accept_depth: type: integer format: int64 description: The number of confirmations we require before we consider the channel open. zero_conf: type: boolean description: 'Whether the responder wants this to be a zero-conf channel. This will fail if either side does not have the scid-alias feature bit set. The minimum depth field must be zero if this is true.' lnrpcStopRequest: type: object lnrpcChannelEdgeUpdate: type: object properties: chan_id: type: string format: uint64 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.' chan_point: $ref: '#/definitions/lnrpcChannelPoint' capacity: type: string format: int64 routing_policy: $ref: '#/definitions/lnrpcRoutingPolicy' advertising_node: type: string connecting_node: type: string lnrpcBlindedPathConfig: type: object properties: min_num_real_hops: type: integer format: int64 description: 'The minimum number of real hops to include in a blinded path. This doesn''t include our node, so if the minimum is 1, then the path will contain at minimum our node along with an introduction node hop. If it is zero then the shortest path will use our node as an introduction node.' num_hops: type: integer format: int64 description: 'The number of hops to include in a blinded path. This doesn''t include our node, so if it is 1, then the path will contain our node along with an introduction node or dummy node hop. If paths shorter than NumHops is found, then they will be padded using dummy hops.' max_num_paths: type: integer format: int64 description: The maximum number of blinded paths to select and add to an invoice. node_omission_list: type: array items: type: string format: byte description: 'A list of node IDs of nodes that should not be used in any of our generated blinded paths.' incoming_channel_list: type: array items: type: string format: uint64 description: 'The chained channels list specified via channel id (separated by commas), starting from a channel owned by the receiver node.' lnrpcAMPRecord: type: object properties: root_share: type: string format: byte set_id: type: string format: byte child_index: type: integer format: int64 lnrpcSignMessageRequest: type: object properties: msg: type: string format: byte description: 'The message to be signed. When using REST, this field must be encoded as base64.' single_hash: type: boolean description: 'Instead of the default double-SHA256 hashing of the message before signing, only use one round of hashing instead.' lnrpcChain: type: object properties: chain: type: string title: 'Deprecated. The chain is now always assumed to be bitcoin. The blockchain the node is on (must be bitcoin)' network: type: string title: The network the node is on (eg regtest, testnet, mainnet) lnrpcPayment: type: object properties: payment_hash: type: string title: The payment hash value: type: string format: int64 description: Deprecated, use value_sat or value_msat. creation_date: type: string format: int64 title: Deprecated, use creation_time_ns fee: type: string format: int64 description: Deprecated, use fee_sat or fee_msat. payment_preimage: type: string title: The payment preimage value_sat: type: string format: int64 title: The value of the payment in satoshis value_msat: type: string format: int64 title: The value of the payment in milli-satoshis payment_request: type: string description: The optional payment request being fulfilled. status: $ref: '#/definitions/PaymentPaymentStatus' description: The status of the payment. fee_sat: type: string format: int64 title: The fee paid for this payment in satoshis fee_msat: type: string format: int64 title: The fee paid for this payment in milli-satoshis creation_time_ns: type: string format: int64 description: The time in UNIX nanoseconds at which the payment was created. htlcs: type: array items: type: object $ref: '#/definitions/lnrpcHTLCAttempt' description: The HTLCs made in attempt to settle the payment. payment_index: type: string format: uint64 description: 'The creation index of this payment. Each payment can be uniquely identified by this index, which may not strictly increment by 1 for payments made in older versions of lnd.' failure_reason: $ref: '#/definitions/lnrpcPaymentFailureReason' first_hop_custom_records: type: object additionalProperties: type: string format: byte description: 'The custom TLV records that were sent to the first hop as part of the HTLC wire message for this payment.' lnrpcEdgeLocator: type: object properties: channel_id: type: string format: uint64 description: The short channel id of this edge. direction_reverse: type: boolean description: 'The direction of this edge. If direction_reverse is false, the direction of this edge is from the channel endpoint with the lexicographically smaller pub key to the endpoint with the larger pub key. If direction_reverse is is true, the edge goes the other way.' lnrpcListMacaroonIDsResponse: type: object properties: root_key_ids: type: array items: type: string format: uint64 description: The list of root key IDs that are in use. lnrpcRestoreBackupResponse: type: object properties: num_restored: type: integer format: int64 description: The number of channels successfully restored. lnrpcFeeReportResponse: type: object properties: channel_fees: type: array items: type: object $ref: '#/definitions/lnrpcChannelFeeReport' description: 'An array of channel fee reports which describes the current fee schedule for each channel.' day_fee_sum: type: string format: uint64 description: 'The total amount of fee revenue (in satoshis) the switch has collected over the past 24 hrs.' week_fee_sum: type: string format: uint64 description: 'The total amount of fee revenue (in satoshis) the switch has collected over the past 1 week.' month_fee_sum: type: string format: uint64 description: 'The total amount of fee revenue (in satoshis) the switch has collected over the past 1 month.' lnrpcChannelUpdate: type: object properties: signature: type: string format: byte description: 'The signature that validates the announced data and proves the ownership of node id.' chain_hash: type: string format: byte description: 'The target chain that this channel was opened within. This value should be the genesis hash of the target chain. Along with the short channel ID, this uniquely identifies the channel globally in a blockchain.' chan_id: type: string format: uint64 description: The unique description of the funding transaction. timestamp: type: integer format: int64 description: 'A timestamp that allows ordering in the case of multiple announcements. We should ignore the message if timestamp is not greater than the last-received.' message_flags: type: integer format: int64 description: 'The bitfield that describes whether optional fields are present in this update. Currently, the least-significant bit must be set to 1 if the optional field MaxHtlc is present.' channel_flags: type: integer format: int64 description: 'The bitfield that describes additional meta-data concerning how the update is to be interpreted. Currently, the least-significant bit must be set to 0 if the creating node corresponds to the first node in the previously sent channel announcement and 1 otherwise. If the second bit is set, then the channel is set to be disabled.' time_lock_delta: type: integer format: int64 description: 'The minimum number of blocks this node requires to be added to the expiry of HTLCs. This is a security parameter determined by the node operator. This value represents the required gap between the time locks of the incoming and outgoing HTLC''s set to this node.' htlc_minimum_msat: type: string format: uint64 description: The minimum HTLC value which will be accepted. base_fee: type: integer format: int64 description: 'The base fee that must be used for incoming HTLC''s to this particular channel. This value will be tacked onto the required for a payment independent of the size of the payment.' fee_rate: type: integer format: int64 description: The fee rate that will be charged per millionth of a satoshi. htlc_maximum_msat: type: string format: uint64 description: The maximum HTLC value which will be accepted. extra_opaque_data: type: string format: byte description: 'The set of data that was appended to this message, some of which we may not actually know how to iterate or parse. By holding onto this data, we ensure that we''re able to properly validate the set of signatures that cover these new fields, and ensure we''re able to make upgrades to the network in a forwards compatible manner.' lnrpcGetInfoResponse: type: object properties: version: type: string description: The version of the LND software that the node is running. commit_hash: type: string description: The SHA1 commit hash that the daemon is compiled with. identity_pubkey: type: string description: The identity pubkey of the current node. alias: type: string title: If applicable, the alias of the current node, e.g. "bob" color: type: string title: The color of the current node in hex code format num_pending_channels: type: integer format: int64 title: Number of pending channels num_active_channels: type: integer format: int64 title: Number of active channels num_inactive_channels: type: integer format: int64 title: Number of inactive channels num_peers: type: integer format: int64 title: Number of peers block_height: type: integer format: int64 title: The node's current view of the height of the best block block_hash: type: string title: The node's current view of the hash of the best block best_header_timestamp: type: string format: int64 title: Timestamp of the block best known to the wallet synced_to_chain: type: boolean title: Whether the wallet's view is synced to the main chain synced_to_graph: type: boolean description: Whether we consider ourselves synced with the public channel graph. testnet: type: boolean description: 'Whether the current node is connected to testnet or testnet4. This field is deprecated and the network field should be used instead.' chains: type: array items: type: object $ref: '#/definitions/lnrpcChain' description: 'A list of active chains the node is connected to. This will only ever contain a single entry since LND will only ever have a single chain backend during its lifetime.' uris: type: array items: type: string description: The URIs of the current node. features: type: object additionalProperties: $ref: '#/definitions/lnrpcFeature' description: 'Features that our node has advertised in our init message, node announcements and invoices.' require_htlc_interceptor: type: boolean description: Indicates whether the HTLC interceptor API is in always-on mode. store_final_htlc_resolutions: type: boolean description: Indicates whether final htlc resolutions are stored on disk. wallet_synced: type: boolean description: 'Whether the wallet is fully synced to the best chain. This indicates the wallet''s internal sync state with the backing chain source.' graph_cache_status: $ref: '#/definitions/lnrpcGraphCacheStatus' description: The current status of the in-memory graph cache. lnrpcAbandonChannelResponse: type: object properties: status: type: string description: The status of the abandon operation. lnrpcDebugLevelRequest: type: object properties: show: type: boolean level_spec: type: string lnrpcSendManyResponse: type: object properties: txid: type: string title: The id of the transaction lnrpcFeature: type: object properties: name: type: string is_required: type: boolean is_known: type: boolean lnrpcFundingShim: type: object properties: chan_point_shim: $ref: '#/definitions/lnrpcChanPointShim' description: 'A channel shim where the channel point was fully constructed outside of lnd''s wallet and the transaction might already be published.' psbt_shim: $ref: '#/definitions/lnrpcPsbtShim' description: 'A channel shim that uses a PSBT to fund and sign the channel funding transaction.' lnrpcQueryRoutesResponse: type: object properties: routes: type: array items: type: object $ref: '#/definitions/lnrpcRoute' description: 'The route that results from the path finding operation. This is still a repeated field to retain backwards compatibility.' success_prob: type: number format: double title: 'The success probability of the returned route based on the current mission control state. [EXPERIMENTAL]' lnrpcOnionMessageUpdate: type: object properties: peer: type: string format: byte description: 'Peer from which this message originates. Represented as a byte-encoded public key.' path_key: type: string format: byte description: 'PathKey is used to derive the blinded node id by tweaking the hop''s static public key. The hop uses the corresponding blinded private key together with the sender''s ephemeral key to perform ECDH and obtain the shared secret for decrypting the onion payload. Separately, for decrypting `encrypted_recipient_data`, the recipient performs ECDH between its static node private key and the path_key to derive the decryption key.' onion: type: string format: byte description: 'Serialized Sphinx onion packet (BOLT 4) containing the layered, per-hop encrypted payloads and routing instructions used to forward this message along its designated path.' reply_path: $ref: '#/definitions/lnrpcBlindedPath' description: 'reply_path is the blinded path that should be used when replying to a received message.' encrypted_recipient_data: type: string format: byte description: 'encrypted_recipient_data is the encrypted data that contains the forwarding information for an onion message. It contains either next_node_id or short_channel_id for each non-final node. It MAY contain the path_id for the final node.' custom_records: type: object additionalProperties: type: string format: byte description: 'Custom onion message tlv records. These are customized fields that are not defined by LND and cannot be extracted.' lnrpcSignMessageResponse: type: object properties: signature: type: string title: The signature for the given message lnrpcHopHint: type: object properties: node_id: type: string description: The public key of the node at the start of the channel. chan_id: type: string format: uint64 description: The unique identifier of the channel. fee_base_msat: type: integer format: int64 description: The base fee of the channel denominated in millisatoshis. fee_proportional_millionths: type: integer format: int64 description: 'The fee rate of the channel for sending one satoshi across it denominated in millionths of a satoshi.' cltv_expiry_delta: type: integer format: int64 description: The time-lock delta of the channel. lnrpcChannelCloseUpdate: type: object properties: closing_txid: type: string format: byte success: type: boolean local_close_output: $ref: '#/definitions/lnrpcCloseOutput' description: 'The local channel close output. If the local channel balance was dust to begin with, this output will not be set.' remote_close_output: $ref: '#/definitions/lnrpcCloseOutput' description: 'The remote channel close output. If the remote channel balance was dust to begin with, this output will not be set.' additional_outputs: type: array items: type: object $ref: '#/definitions/lnrpcCloseOutput' description: Any additional outputs that might be added for custom channel types. protobufAny: type: object properties: '@type': type: string additionalProperties: {} lnrpcFeeLimit: type: object properties: fixed: type: string format: int64 description: 'The fee limit expressed as a fixed amount of satoshis. The fields fixed and fixed_msat are mutually exclusive.' fixed_msat: type: string format: int64 description: 'The fee limit expressed as a fixed amount of millisatoshis. The fields fixed and fixed_msat are mutually exclusive.' percent: type: string format: int64 description: The fee limit expressed as a percentage of the payment amount. lnrpcLightningAddress: type: object properties: pubkey: type: string description: The identity pubkey of the Lightning node. host: type: string description: 'The network location of the lightning node, e.g. `69.69.69.69:1337` or `localhost:10011`.' lnrpcInvoiceHTLC: type: object properties: chan_id: type: string format: uint64 description: Short channel id over which the htlc was received. htlc_index: type: string format: uint64 description: Index identifying the htlc on the channel. amt_msat: type: string format: uint64 description: The amount of the htlc in msat. accept_height: type: integer format: int32 description: Block height at which this htlc was accepted. accept_time: type: string format: int64 description: Time at which this htlc was accepted. resolve_time: type: string format: int64 description: Time at which this htlc was settled or canceled. expiry_height: type: integer format: int32 description: Block height at which this htlc expires. state: $ref: '#/definitions/lnrpcInvoiceHTLCState' description: Current state the htlc is in. custom_records: type: object additionalProperties: type: string format: byte description: Custom tlv records. mpp_total_amt_msat: type: string format: uint64 description: The total amount of the mpp payment in msat. amp: $ref: '#/definitions/lnrpcAMP' description: Details relevant to AMP HTLCs, only populated if this is an AMP HTLC. custom_channel_data: type: string format: byte description: Custom channel data that might be populated in custom channels. title: Details of an HTLC that paid to an invoice lnrpcReadyForPsbtFunding: type: object properties: funding_address: type: string description: 'The P2WSH address of the channel funding multisig address that the below specified amount in satoshis needs to be sent to.' funding_amount: type: string format: int64 description: 'The exact amount in satoshis that needs to be sent to the above address to fund the pending channel.' psbt: type: string format: byte description: 'A raw PSBT that contains the pending channel output. If a base PSBT was provided in the PsbtShim, this is the base PSBT with one additional output. If no base PSBT was specified, this is an otherwise empty PSBT with exactly one output.' lnrpcChannelEventUpdate: type: object properties: open_channel: $ref: '#/definitions/lnrpcChannel' closed_channel: $ref: '#/definitions/lnrpcChannelCloseSummary' active_channel: $ref: '#/definitions/lnrpcChannelPoint' inactive_channel: $ref: '#/definitions/lnrpcChannelPoint' pending_open_channel: $ref: '#/definitions/lnrpcPendingUpdate' fully_resolved_channel: $ref: '#/definitions/lnrpcChannelPoint' channel_funding_timeout: $ref: '#/definitions/lnrpcChannelPoint' updated_channel: $ref: '#/definitions/lnrpcChannelCommitUpdate' type: $ref: '#/definitions/ChannelEventUpdateUpdateType' lnrpcChannelBalanceResponse: type: object properties: balance: type: string format: int64 title: Deprecated. Sum of channels balances denominated in satoshis pending_open_balance: type: string format: int64 title: Deprecated. Sum of channels pending balances denominated in satoshis local_balance: $ref: '#/definitions/lnrpcAmount' description: Sum of channels local balances. remote_balance: $ref: '#/definitions/lnrpcAmount' description: Sum of channels remote balances. unsettled_local_balance: $ref: '#/definitions/lnrpcAmount' description: Sum of channels local unsettled balances. unsettled_remote_balance: $ref: '#/definitions/lnrpcAmount' description: Sum of channels remote unsettled balances. pending_open_local_balance: $ref: '#/definitions/lnrpcAmount' description: Sum of channels pending local balances. pending_open_remote_balance: $ref: '#/definitions/lnrpcAmount' description: Sum of channels pending remote balances. custom_channel_data: type: string format: byte description: 'Custom channel data that might be populated if there are custom channels present.' lnrpcListInvoiceResponse: type: object properties: invoices: type: array items: type: object $ref: '#/definitions/lnrpcInvoice' description: 'A list of invoices from the time slice of the time series specified in the request.' last_index_offset: type: string format: uint64 description: 'The index of the last item in the set of returned invoices. This can be used to seek further, pagination style.' first_index_offset: type: string format: uint64 description: 'The index of the last item in the set of returned invoices. This can be used to seek backwards, pagination style.' lnrpcGraphCacheStatus: type: string enum: - GRAPH_CACHE_STATUS_DISABLED - GRAPH_CACHE_STATUS_LOADING - GRAPH_CACHE_STATUS_LOADED - GRAPH_CACHE_STATUS_FAILED default: GRAPH_CACHE_STATUS_DISABLED lnrpcAliasMap: type: object properties: base_scid: type: string format: uint64 description: 'For non-zero-conf channels, this is the confirmed SCID. Otherwise, this is the first assigned "base" alias.' aliases: type: array items: type: string format: uint64 description: The set of all aliases stored for the base SCID. lnrpcAMPInvoiceState: type: object properties: state: $ref: '#/definitions/lnrpcInvoiceHTLCState' description: The state the HTLCs associated with this setID are in. settle_index: type: string format: uint64 description: The settle index of this HTLC set, if the invoice state is settled. settle_time: type: string format: int64 description: The time this HTLC set was settled expressed in unix epoch. amt_paid_msat: type: string format: int64 description: The total amount paid for the sub-invoice expressed in milli satoshis. lnrpcDeleteAllPaymentsResponse: type: object properties: status: type: string description: The status of the delete operation. lnrpcStopResponse: type: object properties: status: type: string description: The status of the stop operation. InvoiceInvoiceState: type: string enum: - OPEN - SETTLED - CANCELED - ACCEPTED default: OPEN lnrpcMacaroonPermissionList: type: object properties: permissions: type: array items: type: object $ref: '#/definitions/lnrpcMacaroonPermission' description: A list of macaroon permissions. lnrpcKeyDescriptor: type: object properties: raw_key_bytes: type: string format: byte description: The raw bytes of the key being identified. key_loc: $ref: '#/definitions/lnrpcKeyLocator' description: The key locator that identifies which key to use for signing. FailureFailureCode: type: string enum: - RESERVED - INCORRECT_OR_UNKNOWN_PAYMENT_DETAILS - INCORRECT_PAYMENT_AMOUNT - FINAL_INCORRECT_CLTV_EXPIRY - FINAL_INCORRECT_HTLC_AMOUNT - FINAL_EXPIRY_TOO_SOON - INVALID_REALM - EXPIRY_TOO_SOON - INVALID_ONION_VERSION - INVALID_ONION_HMAC - INVALID_ONION_KEY - AMOUNT_BELOW_MINIMUM - FEE_INSUFFICIENT - INCORRECT_CLTV_EXPIRY - CHANNEL_DISABLED - TEMPORARY_CHANNEL_FAILURE - REQUIRED_NODE_FEATURE_MISSING - REQUIRED_CHANNEL_FEATURE_MISSING - UNKNOWN_NEXT_PEER - TEMPORARY_NODE_FAILURE - PERMANENT_NODE_FAILURE - PERMANENT_CHANNEL_FAILURE - EXPIRY_TOO_FAR - MPP_TIMEOUT - INVALID_ONION_PAYLOAD - INVALID_ONION_BLINDING - INTERNAL_FAILURE - UNKNOWN_FAILURE - UNREADABLE_FAILURE default: RESERVED description: " - RESERVED: The numbers assigned in this enumeration match the failure codes as\ndefined in BOLT #4. Because protobuf 3 requires enums to start with 0,\na RESERVED value is added.\n - INTERNAL_FAILURE: An internal error occurred.\n - UNKNOWN_FAILURE: The error source is known, but the failure itself couldn't be decoded.\n - UNREADABLE_FAILURE: An unreadable failure result is returned if the received failure message\ncannot be decrypted. In that case the error source is unknown." lnrpcBlindedPaymentPath: type: object properties: blinded_path: $ref: '#/definitions/lnrpcBlindedPath' description: The blinded path to send the payment to. base_fee_msat: type: string format: uint64 description: The base fee for the blinded path provided, expressed in msat. proportional_fee_rate: type: integer format: int64 description: 'The proportional fee for the blinded path provided, expressed in parts per million.' total_cltv_delta: type: integer format: int64 description: 'The total CLTV delta for the blinded path provided, including the final CLTV delta for the receiving node.' htlc_min_msat: type: string format: uint64 description: 'The minimum hltc size that may be sent over the blinded path, expressed in msat.' htlc_max_msat: type: string format: uint64 description: 'The maximum htlc size that may be sent over the blinded path, expressed in msat.' features: type: array items: $ref: '#/definitions/lnrpcFeatureBit' description: The feature bits for the route. lnrpcSendManyRequest: type: object properties: AddrToAmount: type: object additionalProperties: type: string format: int64 title: The map from addresses to amounts target_conf: type: integer format: int32 description: 'The target number of blocks that this transaction should be confirmed by.' sat_per_vbyte: type: string format: uint64 description: 'A manual fee rate set in sat/vbyte that should be used when crafting the transaction.' sat_per_byte: type: string format: int64 description: 'Deprecated, use sat_per_vbyte. A manual fee rate set in sat/vbyte that should be used when crafting the transaction.' label: type: string description: An optional label for the transaction, limited to 500 characters. min_confs: type: integer format: int32 description: 'The minimum number of confirmations each one of your outputs used for the transaction must satisfy.' spend_unconfirmed: type: boolean description: Whether unconfirmed outputs should be used as inputs for the transaction. coin_selection_strategy: $ref: '#/definitions/lnrpcCoinSelectionStrategy' description: The strategy to use for selecting coins during sending many requests. lnrpcChannelEdge: type: object properties: channel_id: type: string format: uint64 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.' chan_point: type: string last_update: type: integer format: int64 node1_pub: type: string node2_pub: type: string capacity: type: string format: int64 node1_policy: $ref: '#/definitions/lnrpcRoutingPolicy' node2_policy: $ref: '#/definitions/lnrpcRoutingPolicy' custom_records: type: object additionalProperties: type: string format: byte description: Custom channel announcement tlv records. auth_proof: $ref: '#/definitions/lnrpcChannelAuthProof' description: 'Authentication proof for this channel. This proof contains a set of signatures binding four identities, which attests to the legitimacy of the advertised channel. This only is available for advertised channels. This field is not filled by default. Pass include_auth_proof flag to DescribeGraph, GetNodeInfo or GetChanInfo to get this data.' description: 'A fully authenticated channel along with all its unique attributes. Once an authenticated channel announcement has been processed on the network, then an instance of ChannelEdgeInfo encapsulating the channels attributes is stored. The other portions relevant to routing policy of a channel are stored within a ChannelEdgePolicy for each direction of the channel.' lnrpcTransaction: type: object properties: tx_hash: type: string title: The transaction hash amount: type: string format: int64 title: The transaction amount, denominated in satoshis num_confirmations: type: integer format: int32 title: The number of confirmations block_hash: type: string title: The hash of the block this transaction was included in block_height: type: integer format: int32 title: The height of the block this transaction was included in time_stamp: type: string format: int64 title: Timestamp of this transaction total_fees: type: string format: int64 title: Fees paid for this transaction dest_addresses: type: array items: type: string description: 'Addresses that received funds for this transaction. Deprecated as it is now incorporated in the output_details field.' output_details: type: array items: type: object $ref: '#/definitions/lnrpcOutputDetail' title: Outputs that received funds for this transaction raw_tx_hex: type: string description: The raw transaction hex. label: type: string description: A label that was optionally set on transaction broadcast. previous_outpoints: type: array items: type: object $ref: '#/definitions/lnrpcPreviousOutPoint' description: PreviousOutpoints/Inputs of this transaction. lnrpcInstantUpdate: type: object properties: num_pending_htlcs: type: integer format: int32 description: 'The number of pending HTLCs that are currently active on the channel. These HTLCs need to be resolved before the channel can be closed cooperatively.' lnrpcHTLCAttempt: type: object properties: attempt_id: type: string format: uint64 description: The unique ID that is used for this attempt. status: $ref: '#/definitions/HTLCAttemptHTLCStatus' description: The status of the HTLC. route: $ref: '#/definitions/lnrpcRoute' description: The route taken by this HTLC. attempt_time_ns: type: string format: int64 description: The time in UNIX nanoseconds at which this HTLC was sent. resolve_time_ns: type: string format: int64 description: 'The time in UNIX nanoseconds at which this HTLC was settled or failed. This value will not be set if the HTLC is still IN_FLIGHT.' failure: $ref: '#/definitions/lnrpcFailure' description: Detailed htlc failure info. preimage: type: string format: byte description: The preimage that was used to settle the HTLC. lnrpcHop: type: object properties: chan_id: type: string format: uint64 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.' chan_capacity: type: string format: int64 amt_to_forward: type: string format: int64 fee: type: string format: int64 expiry: type: integer format: int64 amt_to_forward_msat: type: string format: int64 fee_msat: type: string format: int64 pub_key: type: string description: 'An optional public key of the hop. If the public key is given, the payment can be executed without relying on a copy of the channel graph.' tlv_payload: type: boolean description: 'If set to true, then this hop will be encoded using the new variable length TLV format. Note that if any custom tlv_records below are specified, then this field MUST be set to true for them to be encoded properly.' mpp_record: $ref: '#/definitions/lnrpcMPPRecord' description: 'An optional TLV record that signals the use of an MPP payment. If present, the receiver will enforce that the same mpp_record is included in the final hop payload of all non-zero payments in the HTLC set. If empty, a regular single-shot payment is or was attempted.' amp_record: $ref: '#/definitions/lnrpcAMPRecord' description: 'An optional TLV record that signals the use of an AMP payment. If present, the receiver will treat all received payments including the same (payment_addr, set_id) pair as being part of one logical payment. The payment will be settled by XORing the root_share''s together and deriving the child hashes and preimages according to BOLT XX. Must be used in conjunction with mpp_record.' custom_records: type: object additionalProperties: type: string format: byte description: 'An optional set of key-value TLV records. This is useful within the context of the SendToRoute call as it allows callers to specify arbitrary K-V pairs to drop off at each hop within the onion.' metadata: type: string format: byte description: The payment metadata to send along with the payment to the payee. blinding_point: type: string format: byte description: 'Blinding point is an optional blinding point included for introduction nodes in blinded paths. This field is mandatory for hops that represents the introduction point in a blinded path.' encrypted_data: type: string format: byte description: 'Encrypted data is a receiver-produced blob of data that provides hops in a blinded route with forwarding data. As this data is encrypted by the recipient, we will not be able to parse it - it is essentially an arbitrary blob of data from our node''s perspective. This field is mandatory for all hops in a blinded path, including the introduction node.' total_amt_msat: type: string format: uint64 description: 'The total amount that is sent to the recipient (possibly across multiple HTLCs), as specified by the sender when making a payment to a blinded path. This value is only set in the final hop payload of a blinded payment. This value is analogous to the MPPRecord that is used for regular (non-blinded) MPP payments.' lnrpcInvoice: type: object properties: memo: type: string description: 'An optional memo to attach along with the invoice. Used for record keeping purposes for the invoice''s creator, and will also be set in the description field of the encoded payment request if the description_hash field is not being used.' r_preimage: type: string format: byte description: 'The hex-encoded preimage (32 byte) which will allow settling an incoming HTLC payable to this preimage. When using REST, this field must be encoded as base64.' r_hash: type: string format: byte description: 'The hash of the preimage. When using REST, this field must be encoded as base64. Note: Output only, don''t specify for creating an invoice.' value: type: string format: int64 description: The fields value and value_msat are mutually exclusive. title: The value of this invoice in satoshis value_msat: type: string format: int64 description: The fields value and value_msat are mutually exclusive. title: The value of this invoice in millisatoshis settled: type: boolean description: 'Whether this invoice has been fulfilled. The field is deprecated. Use the state field instead (compare to SETTLED).' creation_date: type: string format: int64 description: 'When this invoice was created. Measured in seconds since the unix epoch. Note: Output only, don''t specify for creating an invoice.' settle_date: type: string format: int64 description: 'When this invoice was settled. Measured in seconds since the unix epoch. Note: Output only, don''t specify for creating an invoice.' payment_request: type: string description: 'A bare-bones invoice for a payment within the Lightning Network. With the details of the invoice, the sender has all the data necessary to send a payment to the recipient. Note: Output only, don''t specify for creating an invoice.' description_hash: type: string format: byte description: 'Hash (SHA-256) of a description of the payment. Used if the description of payment (memo) is too long to naturally fit within the description field of an encoded payment request. When using REST, this field must be encoded as base64.' expiry: type: string format: int64 description: Payment request expiry time in seconds. Default is 86400 (24 hours). fallback_addr: type: string description: Fallback on-chain address. cltv_expiry: type: string format: uint64 description: Delta to use for the time-lock of the CLTV extended to the final hop. route_hints: type: array items: type: object $ref: '#/definitions/lnrpcRouteHint' description: 'Route hints that can each be individually used to assist in reaching the invoice''s destination.' private: type: boolean description: 'Whether this invoice should include routing hints for private channels. Note: When enabled, if value and value_msat are zero, a large number of hints with these channels can be included, which might not be desirable.' add_index: type: string format: uint64 description: 'The "add" index of this invoice. Each newly created invoice will increment this index making it monotonically increasing. Callers to the SubscribeInvoices call can use this to instantly get notified of all added invoices with an add_index greater than this one. Note: Output only, don''t specify for creating an invoice.' settle_index: type: string format: uint64 description: 'The "settle" index of this invoice. Each newly settled invoice will increment this index making it monotonically increasing. Callers to the SubscribeInvoices call can use this to instantly get notified of all settled invoices with an settle_index greater than this one. Note: Output only, don''t specify for creating an invoice.' amt_paid: type: string format: int64 description: Deprecated, use amt_paid_sat or amt_paid_msat. amt_paid_sat: type: string format: int64 description: 'The amount that was accepted for this invoice, in satoshis. This will ONLY be set if this invoice has been settled or accepted. We provide this field as if the invoice was created with a zero value, then we need to record what amount was ultimately accepted. Additionally, it''s possible that the sender paid MORE that was specified in the original invoice. So we''ll record that here as well. Note: Output only, don''t specify for creating an invoice.' amt_paid_msat: type: string format: int64 description: 'The amount that was accepted for this invoice, in millisatoshis. This will ONLY be set if this invoice has been settled or accepted. We provide this field as if the invoice was created with a zero value, then we need to record what amount was ultimately accepted. Additionally, it''s possible that the sender paid MORE that was specified in the original invoice. So we''ll record that here as well. Note: Output only, don''t specify for creating an invoice.' state: $ref: '#/definitions/InvoiceInvoiceState' description: 'The state the invoice is in. Note: Output only, don''t specify for creating an invoice.' htlcs: type: array items: type: object $ref: '#/definitions/lnrpcInvoiceHTLC' description: 'List of HTLCs paying to this invoice [EXPERIMENTAL]. Note: Output only, don''t specify for creating an invoice.' features: type: object additionalProperties: $ref: '#/definitions/lnrpcFeature' description: 'List of features advertised on the invoice. Note: Output only, don''t specify for creating an invoice.' is_keysend: type: boolean description: 'Indicates if this invoice was a spontaneous payment that arrived via keysend [EXPERIMENTAL]. Note: Output only, don''t specify for creating an invoice.' payment_addr: type: string format: byte description: 'The payment address of this invoice. This is also called payment secret in specifications (e.g. BOLT 11). This value will be used in MPP payments, and also for newer invoices that always require the MPP payload for added end-to-end security. Note: Output only, don''t specify for creating an invoice.' is_amp: type: boolean description: Signals whether or not this is an AMP invoice. amp_invoice_state: type: object additionalProperties: $ref: '#/definitions/lnrpcAMPInvoiceState' description: 'Maps a 32-byte hex-encoded set ID to the sub-invoice AMP state for the given set ID. This field is always populated for AMP invoices, and can be used along side LookupInvoice to obtain the HTLC information related to a given sub-invoice. Note: Output only, don''t specify for creating an invoice.' title: '[EXPERIMENTAL]:' is_blinded: type: boolean description: 'Signals that the invoice should include blinded paths to hide the true identity of the recipient.' blinded_path_config: $ref: '#/definitions/lnrpcBlindedPathConfig' description: 'Config values to use when creating blinded paths for this invoice. These can be used to override the defaults config values provided in by the global config. This field is only used if is_blinded is true.' lnrpcGraphTopologyUpdate: type: object properties: node_updates: type: array items: type: object $ref: '#/definitions/lnrpcNodeUpdate' channel_updates: type: array items: type: object $ref: '#/definitions/lnrpcChannelEdgeUpdate' closed_chans: type: array items: type: object $ref: '#/definitions/lnrpcClosedChannelUpdate' lnrpcNodeUpdate: type: object properties: addresses: type: array items: type: string description: Deprecated, use node_addresses. identity_key: type: string global_features: type: string format: byte description: Deprecated, use features. alias: type: string color: type: string node_addresses: type: array items: type: object $ref: '#/definitions/lnrpcNodeAddress' features: type: object additionalProperties: $ref: '#/definitions/lnrpcFeature' description: 'Features that the node has advertised in the init message, node announcements and invoices.' PaymentPaymentStatus: type: string enum: - UNKNOWN - IN_FLIGHT - SUCCEEDED - FAILED - INITIATED default: UNKNOWN description: " - UNKNOWN: Deprecated. This status will never be returned.\n - IN_FLIGHT: Payment has inflight HTLCs.\n - SUCCEEDED: Payment is settled.\n - FAILED: Payment is failed.\n - INITIATED: Payment is created and has not attempted any HTLCs." rpcStatus: type: object properties: code: type: integer format: int32 message: type: string details: type: array items: type: object $ref: '#/definitions/protobufAny' lnrpcWalletAccountBalance: type: object properties: confirmed_balance: type: string format: int64 description: The confirmed balance of the account (with >= 1 confirmations). unconfirmed_balance: type: string format: int64 description: The unconfirmed balance of the account (with 0 confirmations). lnrpcChanPointShim: type: object properties: amt: type: string format: int64 description: 'The size of the pre-crafted output to be used as the channel point for this channel funding.' chan_point: $ref: '#/definitions/lnrpcChannelPoint' description: The target channel point to refrence in created commitment transactions. local_key: $ref: '#/definitions/lnrpcKeyDescriptor' description: Our local key to use when creating the multi-sig output. remote_key: type: string format: byte description: The key of the remote party to use when creating the multi-sig output. pending_chan_id: type: string format: byte description: 'If non-zero, then this will be used as the pending channel ID on the wire protocol to initate the funding request. This is an optional field, and should only be set if the responder is already expecting a specific pending channel ID.' thaw_height: type: integer format: int64 description: 'This uint32 indicates if this channel is to be considered ''frozen''. A frozen channel does not allow a cooperative channel close by the initiator. The thaw_height is the height that this restriction stops applying to the channel. The height can be interpreted in two ways: as a relative height if the value is less than 500,000, or as an absolute height otherwise.' musig2: type: boolean description: Indicates that the funding output is using a MuSig2 multi-sig output. lnrpcPayReq: type: object properties: destination: type: string payment_hash: type: string num_satoshis: type: string format: int64 timestamp: type: string format: int64 expiry: type: string format: int64 description: type: string description_hash: type: string fallback_addr: type: string cltv_expiry: type: string format: int64 route_hints: type: array items: type: object $ref: '#/definitions/lnrpcRouteHint' payment_addr: type: string format: byte num_msat: type: string format: int64 features: type: object additionalProperties: $ref: '#/definitions/lnrpcFeature' blinded_paths: type: array items: type: object $ref: '#/definitions/lnrpcBlindedPaymentPath' ChannelCloseSummaryClosureType: type: string enum: - COOPERATIVE_CLOSE - LOCAL_FORCE_CLOSE - REMOTE_FORCE_CLOSE - BREACH_CLOSE - FUNDING_CANCELED - ABANDONED default: COOPERATIVE_CLOSE lnrpcChannelAuthProof: type: object properties: node_sig1: type: string format: byte description: 'node_sig1 are the raw bytes of the first node signature encoded in DER format.' bitcoin_sig1: type: string format: byte description: 'bitcoin_sig1 are the raw bytes of the first bitcoin signature of the MultiSigKey key of the channel encoded in DER format.' node_sig2: type: string format: byte description: 'node_sig2 are the raw bytes of the second node signature encoded in DER format.' bitcoin_sig2: type: string format: byte description: 'bitcoin_sig2 are the raw bytes of the second bitcoin signature of the MultiSigKey key of the channel encoded in DER format.' description: 'ChannelAuthProof is the authentication proof (the signature portion) for a channel. Using the four signatures contained in the struct, and some auxiliary knowledge (the funding script, node identities, and outpoint) nodes on the network are able to validate the authenticity and existence of a channel.' lnrpcBakeMacaroonResponse: type: object properties: macaroon: type: string description: The hex encoded macaroon, serialized in binary format. lnrpcChanBackupSnapshot: type: object properties: single_chan_backups: $ref: '#/definitions/lnrpcChannelBackups' description: 'The set of new channels that have been added since the last channel backup snapshot was requested.' multi_chan_backup: $ref: '#/definitions/lnrpcMultiChanBackup' description: 'A multi-channel backup that covers all open channels currently known to lnd.' lnrpcForwardingEvent: type: object properties: timestamp: type: string format: uint64 description: 'Timestamp is the time (unix epoch offset) that this circuit was completed. Deprecated by timestamp_ns.' chan_id_in: type: string format: uint64 description: The incoming channel ID that carried the HTLC that created the circuit. chan_id_out: type: string format: uint64 description: 'The outgoing channel ID that carried the preimage that completed the circuit.' amt_in: type: string format: uint64 description: 'The total amount (in satoshis) of the incoming HTLC that created half the circuit.' amt_out: type: string format: uint64 description: 'The total amount (in satoshis) of the outgoing HTLC that created the second half of the circuit.' fee: type: string format: uint64 description: The total fee (in satoshis) that this payment circuit carried. fee_msat: type: string format: uint64 description: The total fee (in milli-satoshis) that this payment circuit carried. amt_in_msat: type: string format: uint64 description: 'The total amount (in milli-satoshis) of the incoming HTLC that created half the circuit.' amt_out_msat: type: string format: uint64 description: 'The total amount (in milli-satoshis) of the outgoing HTLC that created the second half of the circuit.' timestamp_ns: type: string format: uint64 description: 'The number of nanoseconds elapsed since January 1, 1970 UTC when this circuit was completed.' peer_alias_in: type: string description: The peer alias of the incoming channel. peer_alias_out: type: string description: The peer alias of the outgoing channel. incoming_htlc_id: type: string format: uint64 description: 'The ID of the incoming HTLC in the payment circuit. This field is optional and is unset for forwarding events happened before v0.20.' outgoing_htlc_id: type: string format: uint64 description: 'The ID of the outgoing HTLC in the payment circuit. This field is optional and may be unset for legacy forwarding events.' lnrpcNodeInfo: type: object properties: node: $ref: '#/definitions/lnrpcLightningNode' description: 'An individual vertex/node within the channel graph. A node is connected to other nodes by one or more channel edges emanating from it. As the graph is directed, a node will also have an incoming edge attached to it for each outgoing edge.' num_channels: type: integer format: int64 description: The total number of channels for the node. total_capacity: type: string format: int64 description: The sum of all channels capacity for the node, denominated in satoshis. channels: type: array items: type: object $ref: '#/definitions/lnrpcChannelEdge' description: A list of all public channels for the node. PendingChannelsResponsePendingChannel: type: object properties: remote_node_pub: type: string channel_point: type: string capacity: type: string format: int64 local_balance: type: string format: int64 remote_balance: type: string format: int64 local_chan_reserve_sat: type: string format: int64 description: 'The minimum satoshis this node is required to reserve in its balance.' remote_chan_reserve_sat: type: string format: int64 description: 'The minimum satoshis the other node is required to reserve in its balance.' initiator: $ref: '#/definitions/lnrpcInitiator' description: The party that initiated opening the channel. commitment_type: $ref: '#/definitions/lnrpcCommitmentType' description: The commitment type used by this channel. num_forwarding_packages: type: string format: int64 description: Total number of forwarding packages created in this channel. chan_status_flags: type: string description: A set of flags showing the current state of the channel. private: type: boolean description: Whether this channel is advertised to the network or not. memo: type: string description: 'An optional note-to-self to go along with the channel containing some useful information. This is only ever stored locally and in no way impacts the channel''s operation.' custom_channel_data: type: string format: byte description: Custom channel data that might be populated in custom channels. lnrpcForwardingHistoryResponse: type: object properties: forwarding_events: type: array items: type: object $ref: '#/definitions/lnrpcForwardingEvent' description: 'A list of forwarding events from the time slice of the time series specified in the request.' last_offset_index: type: integer format: int64 description: 'The index of the last time in the set of returned forwarding events. Can be used to seek further, pagination style.' lnrpcInboundFee: type: object properties: base_fee_msat: type: integer format: int32 description: 'The inbound base fee charged regardless of the number of milli-satoshis received in the channel. By default, only negative values are accepted.' fee_rate_ppm: type: integer format: int32 description: 'The effective inbound fee rate in micro-satoshis (parts per million). By default, only negative values are accepted.' lnrpcInvoiceHTLCState: type: string enum: - ACCEPTED - SETTLED - CANCELED default: ACCEPTED lnrpcFundingPsbtVerify: type: object properties: funded_psbt: type: string format: byte description: 'The funded but not yet signed PSBT that sends the exact channel capacity amount to the PK script returned in the open channel message in a previous step.' pending_chan_id: type: string format: byte description: The pending channel ID of the channel to get the PSBT for. skip_finalize: type: boolean description: 'Can only be used if the no_publish flag was set to true in the OpenChannel call meaning that the caller is solely responsible for publishing the final funding transaction. If skip_finalize is set to true then lnd will not wait for a FundingPsbtFinalize state step and instead assumes that a transaction with the same TXID as the passed in PSBT will eventually confirm. IT IS ABSOLUTELY IMPERATIVE that the TXID of the transaction that is eventually published does have the _same TXID_ as the verified PSBT. That means no inputs or outputs can change, only signatures can be added. If the TXID changes between this call and the publish step then the channel will never be created and the funds will be in limbo.' lnrpcSendCustomMessageResponse: type: object properties: status: type: string description: The status of the send operation. lnrpcGetRecoveryInfoResponse: type: object properties: recovery_mode: type: boolean title: Whether the wallet is in recovery mode recovery_finished: type: boolean title: Whether the wallet recovery progress is finished progress: type: number format: double description: The recovery progress, ranging from 0 to 1. lnrpcWalletBalanceResponse: type: object properties: total_balance: type: string format: int64 title: The balance of the wallet confirmed_balance: type: string format: int64 title: The confirmed balance of a wallet(with >= 1 confirmations) unconfirmed_balance: type: string format: int64 title: The unconfirmed balance of a wallet(with 0 confirmations) locked_balance: type: string format: int64 description: 'The total amount of wallet UTXOs held in outputs that are locked for other usage.' reserved_balance_anchor_chan: type: string format: int64 description: The amount of reserve required. account_balance: type: object additionalProperties: $ref: '#/definitions/lnrpcWalletAccountBalance' description: A mapping of each wallet account's name to its balance. lnrpcPendingUpdate: type: object properties: txid: type: string format: byte output_index: type: integer format: int64 fee_per_vbyte: type: string format: int64 local_close_tx: type: boolean lnrpcChannelBackup: type: object properties: chan_point: $ref: '#/definitions/lnrpcChannelPoint' description: Identifies the channel that this backup belongs to. chan_backup: type: string format: byte description: 'Is an encrypted single-chan backup. this can be passed to RestoreChannelBackups, or the WalletUnlocker Init and Unlock methods in order to trigger the recovery protocol. When using REST, this field must be encoded as base64.' PendingChannelsResponseWaitingCloseChannel: type: object properties: channel: $ref: '#/definitions/PendingChannelsResponsePendingChannel' title: The pending channel waiting for closing tx to confirm limbo_balance: type: string format: int64 title: The balance in satoshis encumbered in this channel commitments: $ref: '#/definitions/PendingChannelsResponseCommitments' description: 'A list of valid commitment transactions. Any of these can confirm at this point.' closing_txid: type: string title: The transaction id of the closing transaction closing_tx_hex: type: string description: 'The raw hex encoded bytes of the closing transaction. Included if include_raw_tx in the request is true.' blocks_til_close_confirmed: type: integer format: int64 description: 'Remaining number of confirmations until the channel closure is considered final and removed from waiting close. Channel closes require multiple confirmations for reorg protection — the exact number scales with channel capacity. A closing transaction that gets reorganized out of the chain resets this counter. When the closing transaction is not yet confirmed, this value equals the total number of confirmations required.' close_height: type: integer format: int64 description: 'The block height at which the closing transaction was first confirmed. This will be zero if the closing transaction has not yet confirmed, or if this information is not available for older channels.' lnrpcRoute: type: object properties: total_time_lock: type: integer format: int64 description: 'The cumulative (final) time lock across the entire route. This is the CLTV value that should be extended to the first hop in the route. All other hops will decrement the time-lock as advertised, leaving enough time for all hops to wait for or present the payment preimage to complete the payment.' total_fees: type: string format: int64 description: 'The sum of the fees paid at each hop within the final route. In the case of a one-hop payment, this value will be zero as we don''t need to pay a fee to ourselves.' total_amt: type: string format: int64 description: 'The total amount of funds required to complete a payment over this route. This value includes the cumulative fees at each hop. As a result, the HTLC extended to the first-hop in the route will need to have at least this many satoshis, otherwise the route will fail at an intermediate node due to an insufficient amount of fees.' hops: type: array items: type: object $ref: '#/definitions/lnrpcHop' description: Contains details concerning the specific forwarding details at each hop. total_fees_msat: type: string format: int64 description: The total fees in millisatoshis. total_amt_msat: type: string format: int64 description: The total amount in millisatoshis. first_hop_amount_msat: type: string format: int64 description: 'The actual on-chain amount that was sent out to the first hop. This value is only different from the total_amt_msat field if this is a custom channel payment and the value transported in the HTLC is different from the BTC amount in the HTLC. If this value is zero, then this is an old payment that didn''t have this value yet and can be ignored.' custom_channel_data: type: string format: byte description: Custom channel data that might be populated in custom channels. description: 'A path through the channel graph which runs over one or more channels in succession. This struct carries all the information required to craft the Sphinx onion packet, and send the payment along the first hop in the path. A route is only selected as valid if all the channels have sufficient capacity to carry the initial payment amount after fees are accounted for.' lnrpcDisconnectPeerResponse: type: object properties: status: type: string description: The status of the disconnect operation. lnrpcChannelConstraints: type: object properties: csv_delay: type: integer format: int64 description: 'The CSV delay expressed in relative blocks. If the channel is force closed, we will need to wait for this many blocks before we can regain our funds.' chan_reserve_sat: type: string format: uint64 description: The minimum satoshis this node is required to reserve in its balance. dust_limit_sat: type: string format: uint64 description: The dust limit (in satoshis) of the initiator's commitment tx. max_pending_amt_msat: type: string format: uint64 description: 'The maximum amount of coins in millisatoshis that can be pending in this channel.' min_htlc_msat: type: string format: uint64 description: The smallest HTLC in millisatoshis that the initiator will accept. max_accepted_htlcs: type: integer format: int64 description: The total number of incoming HTLC's that the initiator will accept. lnrpcFundingPsbtFinalize: type: object properties: signed_psbt: type: string format: byte description: 'The funded PSBT that contains all witness data to send the exact channel capacity amount to the PK script returned in the open channel message in a previous step. Cannot be set at the same time as final_raw_tx.' pending_chan_id: type: string format: byte description: The pending channel ID of the channel to get the PSBT for. final_raw_tx: type: string format: byte description: 'As an alternative to the signed PSBT with all witness data, the final raw wire format transaction can also be specified directly. Cannot be set at the same time as signed_psbt.' lnrpcResolutionType: type: string enum: - TYPE_UNKNOWN - ANCHOR - INCOMING_HTLC - OUTGOING_HTLC - COMMIT default: TYPE_UNKNOWN description: " - ANCHOR: We resolved an anchor output.\n - INCOMING_HTLC: We are resolving an incoming htlc on chain. This if this htlc is\nclaimed, we swept the incoming htlc with the preimage. If it is timed\nout, our peer swept the timeout path.\n - OUTGOING_HTLC: We are resolving an outgoing htlc on chain. If this htlc is claimed,\nthe remote party swept the htlc with the preimage. If it is timed out,\nwe swept it with the timeout path.\n - COMMIT: We force closed and need to sweep our time locked commitment output." lnrpcNodePair: type: object properties: from: type: string format: byte description: 'The sending node of the pair. When using REST, this field must be encoded as base64.' to: type: string format: byte description: 'The receiving node of the pair. When using REST, this field must be encoded as base64.' lnrpcLightningNode: type: object properties: last_update: type: integer format: int64 pub_key: type: string alias: type: string addresses: type: array items: type: object $ref: '#/definitions/lnrpcNodeAddress' color: type: string features: type: object additionalProperties: $ref: '#/definitions/lnrpcFeature' custom_records: type: object additionalProperties: type: string format: byte description: Custom node announcement tlv records. description: 'An individual vertex/node within the channel graph. A node is connected to other nodes by one or more channel edges emanating from it. As the graph is directed, a node will also have an incoming edge attached to it for each outgoing edge.' lnrpcChannelOpenUpdate: type: object properties: channel_point: $ref: '#/definitions/lnrpcChannelPoint' lnrpcRoutingPolicy: type: object properties: time_lock_delta: type: integer format: int64 min_htlc: type: string format: int64 fee_base_msat: type: string format: int64 fee_rate_milli_msat: type: string format: int64 disabled: type: boolean max_htlc_msat: type: string format: uint64 last_update: type: integer format: int64 custom_records: type: object additionalProperties: type: string format: byte description: 'Custom channel update tlv records. These are customized fields that are not defined by LND and cannot be extracted.' inbound_fee_base_msat: type: integer format: int32 inbound_fee_rate_milli_msat: type: integer format: int32 PeerSyncType: type: string enum: - UNKNOWN_SYNC - ACTIVE_SYNC - PASSIVE_SYNC - PINNED_SYNC default: UNKNOWN_SYNC description: " - UNKNOWN_SYNC: Denotes that we cannot determine the peer's current sync type.\n - ACTIVE_SYNC: Denotes that we are actively receiving new graph updates from the peer.\n - PASSIVE_SYNC: Denotes that we are not receiving new graph updates from the peer.\n - PINNED_SYNC: Denotes that this peer is pinned into an active sync." lnrpcChannelFeeReport: type: object properties: chan_id: type: string format: uint64 description: The short channel id that this fee report belongs to. channel_point: type: string description: The channel that this fee report belongs to. base_fee_msat: type: string format: int64 description: The base fee charged regardless of the number of milli-satoshis sent. fee_per_mil: type: string format: int64 description: 'The amount charged per milli-satoshis transferred expressed in millionths of a satoshi.' fee_rate: type: number format: double description: 'The effective fee rate in milli-satoshis. Computed by dividing the fee_per_mil value by 1 million.' inbound_base_fee_msat: type: integer format: int32 description: The base fee charged regardless of the number of milli-satoshis sent. inbound_fee_per_mil: type: integer format: int32 description: 'The amount charged per milli-satoshis transferred expressed in millionths of a satoshi.' ForceClosedChannelAnchorState: type: string enum: - LIMBO - RECOVERED - LOST default: LIMBO description: "There are three resolution states for the anchor:\nlimbo, lost and recovered. Derive the current state\nfrom the limbo and recovered balances.\n\n - LIMBO: The recovered_balance is zero and limbo_balance is non-zero.\n - RECOVERED: The recovered_balance is non-zero.\n - LOST: A state that is neither LIMBO nor RECOVERED." lnrpcPeerEvent: type: object properties: pub_key: type: string description: The identity pubkey of the peer. type: $ref: '#/definitions/PeerEventEventType' lnrpcPolicyUpdateResponse: type: object properties: failed_updates: type: array items: type: object $ref: '#/definitions/lnrpcFailedUpdate' description: List of failed policy updates. lnrpcPendingChannelsResponse: type: object properties: total_limbo_balance: type: string format: int64 title: The balance in satoshis encumbered in pending channels pending_open_channels: type: array items: type: object $ref: '#/definitions/PendingChannelsResponsePendingOpenChannel' title: Channels pending opening pending_closing_channels: type: array items: type: object $ref: '#/definitions/PendingChannelsResponseClosedChannel' description: 'Deprecated: Channels pending closing previously contained cooperatively closed channels with a single confirmation. These channels are now considered closed from the time we see them on chain.' pending_force_closing_channels: type: array items: type: object $ref: '#/definitions/PendingChannelsResponseForceClosedChannel' title: Channels pending force closing waiting_close_channels: type: array items: type: object $ref: '#/definitions/PendingChannelsResponseWaitingCloseChannel' title: Channels waiting for closing tx to confirm lnrpcCommitmentType: type: string enum: - UNKNOWN_COMMITMENT_TYPE - LEGACY - STATIC_REMOTE_KEY - ANCHORS - SCRIPT_ENFORCED_LEASE - SIMPLE_TAPROOT - SIMPLE_TAPROOT_FINAL - SIMPLE_TAPROOT_OVERLAY default: UNKNOWN_COMMITMENT_TYPE description: " - UNKNOWN_COMMITMENT_TYPE: Returned when the commitment type isn't known or unavailable.\n - LEGACY: A channel using the legacy commitment format having tweaked to_remote\nkeys.\n - STATIC_REMOTE_KEY: A channel that uses the modern commitment format where the key in the\noutput of the remote party does not change each state. This makes back\nup and recovery easier as when the channel is closed, the funds go\ndirectly to that key.\n - ANCHORS: A channel that uses a commitment format that has anchor outputs on the\ncommitments, allowing fee bumping after a force close transaction has\nbeen broadcast.\n - SCRIPT_ENFORCED_LEASE: A channel that uses a commitment type that builds upon the anchors\ncommitment format, but in addition requires a CLTV clause to spend outputs\npaying to the channel initiator. This is intended for use on leased channels\nto guarantee that the channel initiator has no incentives to close a leased\nchannel before its maturity date.\n - SIMPLE_TAPROOT: A channel that uses musig2 for the funding output, and the new tapscript\nfeatures where relevant. This is the staging version using development\nscripts.\n - SIMPLE_TAPROOT_FINAL: A channel that uses musig2 for the funding output, and the new tapscript\nfeatures where relevant. This is the production version using final scripts\nand feature bits 80/81.\n - SIMPLE_TAPROOT_OVERLAY: Identical to the SIMPLE_TAPROOT channel type, but with extra functionality.\nThis channel type also commits to additional meta data in the tapscript\nleaves for the scripts in a channel." lnrpcFloatMetric: type: object properties: value: type: number format: double description: Arbitrary float value. normalized_value: type: number format: double description: The value normalized to [0,1] or [-1,1]. lnrpcResolution: type: object properties: resolution_type: $ref: '#/definitions/lnrpcResolutionType' description: The type of output we are resolving. outcome: $ref: '#/definitions/lnrpcResolutionOutcome' description: The outcome of our on chain action that resolved the outpoint. outpoint: $ref: '#/definitions/lnrpcOutPoint' description: The outpoint that was spent by the resolution. amount_sat: type: string format: uint64 description: The amount that was claimed by the resolution. sweep_txid: type: string description: 'The hex-encoded transaction ID of the sweep transaction that spent the output.' lnrpcNetworkInfo: type: object properties: graph_diameter: type: integer format: int64 avg_out_degree: type: number format: double max_out_degree: type: integer format: int64 num_nodes: type: integer format: int64 num_channels: type: integer format: int64 total_network_capacity: type: string format: int64 avg_channel_size: type: number format: double min_channel_size: type: string format: int64 max_channel_size: type: string format: int64 median_channel_size_sat: type: string format: int64 num_zombie_chans: type: string format: uint64 description: The number of edges marked as zombies. lnrpcDeletePaymentResponse: type: object properties: status: type: string description: The status of the delete operation. lnrpcResolutionOutcome: type: string enum: - OUTCOME_UNKNOWN - CLAIMED - UNCLAIMED - ABANDONED - FIRST_STAGE - TIMEOUT default: OUTCOME_UNKNOWN description: " - OUTCOME_UNKNOWN: Outcome unknown.\n - CLAIMED: An output was claimed on chain.\n - UNCLAIMED: An output was left unclaimed on chain.\n - ABANDONED: ResolverOutcomeAbandoned indicates that an output that we did not\nclaim on chain, for example an anchor that we did not sweep and a\nthird party claimed on chain, or a htlc that we could not decode\nso left unclaimed.\n - FIRST_STAGE: If we force closed our channel, our htlcs need to be claimed in two\nstages. This outcome represents the broadcast of a timeout or success\ntransaction for this two stage htlc claim.\n - TIMEOUT: A htlc was timed out on chain." lnrpcCheckMacPermRequest: type: object properties: macaroon: type: string format: byte description: 'The macaroon to check permissions for, serialized in binary format. For a macaroon to be valid, it must have been issued by lnd, must succeed all caveat conditions, and must contain all of the permissions specified in the permissions field.' permissions: type: array items: type: object $ref: '#/definitions/lnrpcMacaroonPermission' description: 'The list of permissions the macaroon should be checked against. Only if the macaroon contains all of these permissions, it is considered valid. If the list of permissions given is empty, then the macaroon is considered valid only based on issuance authority and caveat validity. An empty list of permissions is therefore equivalent to saying "skip checking permissions" (unless check_default_perms_from_full_method is specified).' fullMethod: type: string description: 'The RPC method to check the macaroon against. This is only used if there are custom `uri:./` permissions in the permission list above. To check a macaroon against the list of permissions of a certain RPC method, query the `ListPermissions` RPC first, extract the permissions for the method, and then pass them in the `permissions` field above.' check_default_perms_from_full_method: type: boolean description: 'If this field is set to true, then the permissions list above MUST be empty. The default permissions for the provided fullMethod will be used to check the macaroon. This is equivalent to looking up the permissions for a method in the `ListPermissions` RPC and then calling this RPC with the permission list returned from that call. Without this flag, the list of permissions must be non-empty for the check to actually perform a permission check.' lnrpcDeleteMacaroonIDResponse: type: object properties: deleted: type: boolean description: A boolean indicates that the deletion is successful. lnrpcCoinSelectionStrategy: type: string enum: - STRATEGY_USE_GLOBAL_CONFIG - STRATEGY_LARGEST - STRATEGY_RANDOM default: STRATEGY_USE_GLOBAL_CONFIG description: " - STRATEGY_USE_GLOBAL_CONFIG: Use the coin selection strategy defined in the global configuration\n(lnd.conf).\n - STRATEGY_LARGEST: Select the largest available coins first during coin selection.\n - STRATEGY_RANDOM: Randomly select the available coins during coin selection." lnrpcLookupHtlcResolutionResponse: type: object properties: settled: type: boolean description: Settled is true is the htlc was settled. If false, the htlc was failed. offchain: type: boolean description: Offchain indicates whether the htlc was resolved off-chain or on-chain. lnrpcAMP: type: object properties: root_share: type: string format: byte description: 'An n-of-n secret share of the root seed from which child payment hashes and preimages are derived.' set_id: type: string format: byte description: An identifier for the HTLC set that this HTLC belongs to. child_index: type: integer format: int64 description: 'A nonce used to randomize the child preimage and child hash from a given root_share.' hash: type: string format: byte description: The payment hash of the AMP HTLC. preimage: type: string format: byte description: 'The preimage used to settle this AMP htlc. This field will only be populated if the invoice is in InvoiceState_ACCEPTED or InvoiceState_SETTLED.' description: Details specific to AMP HTLCs. lnrpcFailedUpdate: type: object properties: outpoint: $ref: '#/definitions/lnrpcOutPoint' title: The outpoint in format txid:n reason: $ref: '#/definitions/lnrpcUpdateFailure' description: Reason for the policy update failure. update_error: type: string description: A string representation of the policy update error. lnrpcTimestampedError: type: object properties: timestamp: type: string format: uint64 description: The unix timestamp in seconds when the error occurred. error: type: string description: The string representation of the error sent by our peer. lnrpcChannelPoint: type: object properties: funding_txid_bytes: type: string format: byte description: 'Txid of the funding transaction. When using REST, this field must be encoded as base64.' funding_txid_str: type: string description: 'Hex-encoded string representing the byte-reversed hash of the funding transaction.' output_index: type: integer format: int64 title: The index of the output of the funding transaction