syntax = "proto3"; package cln; // This file was automatically derived from the JSON-RPC schemas in // `doc/schemas`. Do not edit this file manually as it would get // overwritten. import "primitives.proto"; service Node { rpc Getinfo(GetinfoRequest) returns (GetinfoResponse) {} rpc ListPeers(ListpeersRequest) returns (ListpeersResponse) {} rpc ListFunds(ListfundsRequest) returns (ListfundsResponse) {} rpc SendPay(SendpayRequest) returns (SendpayResponse) {} rpc ListChannels(ListchannelsRequest) returns (ListchannelsResponse) {} rpc AddGossip(AddgossipRequest) returns (AddgossipResponse) {} rpc AddPsbtOutput(AddpsbtoutputRequest) returns (AddpsbtoutputResponse) {} rpc AutoCleanOnce(AutocleanonceRequest) returns (AutocleanonceResponse) {} rpc AutoCleanStatus(AutocleanstatusRequest) returns (AutocleanstatusResponse) {} rpc CheckMessage(CheckmessageRequest) returns (CheckmessageResponse) {} rpc Close(CloseRequest) returns (CloseResponse) {} rpc ConnectPeer(ConnectRequest) returns (ConnectResponse) {} rpc CreateInvoice(CreateinvoiceRequest) returns (CreateinvoiceResponse) {} rpc Datastore(DatastoreRequest) returns (DatastoreResponse) {} rpc DatastoreUsage(DatastoreusageRequest) returns (DatastoreusageResponse) {} rpc CreateOnion(CreateonionRequest) returns (CreateonionResponse) {} rpc DelDatastore(DeldatastoreRequest) returns (DeldatastoreResponse) {} rpc DelInvoice(DelinvoiceRequest) returns (DelinvoiceResponse) {} rpc DevForgetChannel(DevforgetchannelRequest) returns (DevforgetchannelResponse) {} rpc EmergencyRecover(EmergencyrecoverRequest) returns (EmergencyrecoverResponse) {} rpc Recover(RecoverRequest) returns (RecoverResponse) {} rpc RecoverChannel(RecoverchannelRequest) returns (RecoverchannelResponse) {} rpc Invoice(InvoiceRequest) returns (InvoiceResponse) {} rpc CreateInvoiceRequest(InvoicerequestRequest) returns (InvoicerequestResponse) {} rpc DisableInvoiceRequest(DisableinvoicerequestRequest) returns (DisableinvoicerequestResponse) {} rpc ListInvoiceRequests(ListinvoicerequestsRequest) returns (ListinvoicerequestsResponse) {} rpc ListDatastore(ListdatastoreRequest) returns (ListdatastoreResponse) {} rpc ListInvoices(ListinvoicesRequest) returns (ListinvoicesResponse) {} rpc SendOnion(SendonionRequest) returns (SendonionResponse) {} rpc ListSendPays(ListsendpaysRequest) returns (ListsendpaysResponse) {} rpc ListTransactions(ListtransactionsRequest) returns (ListtransactionsResponse) {} rpc MakeSecret(MakesecretRequest) returns (MakesecretResponse) {} rpc Pay(PayRequest) returns (PayResponse) {} rpc ListNodes(ListnodesRequest) returns (ListnodesResponse) {} rpc WaitAnyInvoice(WaitanyinvoiceRequest) returns (WaitanyinvoiceResponse) {} rpc WaitInvoice(WaitinvoiceRequest) returns (WaitinvoiceResponse) {} rpc WaitSendPay(WaitsendpayRequest) returns (WaitsendpayResponse) {} rpc NewAddr(NewaddrRequest) returns (NewaddrResponse) {} rpc Withdraw(WithdrawRequest) returns (WithdrawResponse) {} rpc KeySend(KeysendRequest) returns (KeysendResponse) {} rpc FundPsbt(FundpsbtRequest) returns (FundpsbtResponse) {} rpc SendPsbt(SendpsbtRequest) returns (SendpsbtResponse) {} rpc SignPsbt(SignpsbtRequest) returns (SignpsbtResponse) {} rpc UtxoPsbt(UtxopsbtRequest) returns (UtxopsbtResponse) {} rpc TxDiscard(TxdiscardRequest) returns (TxdiscardResponse) {} rpc TxPrepare(TxprepareRequest) returns (TxprepareResponse) {} rpc TxSend(TxsendRequest) returns (TxsendResponse) {} rpc ListPeerChannels(ListpeerchannelsRequest) returns (ListpeerchannelsResponse) {} rpc ListClosedChannels(ListclosedchannelsRequest) returns (ListclosedchannelsResponse) {} rpc DecodePay(DecodepayRequest) returns (DecodepayResponse) {} rpc Decode(DecodeRequest) returns (DecodeResponse) {} rpc DelPay(DelpayRequest) returns (DelpayResponse) {} rpc DelForward(DelforwardRequest) returns (DelforwardResponse) {} rpc DisableOffer(DisableofferRequest) returns (DisableofferResponse) {} rpc Disconnect(DisconnectRequest) returns (DisconnectResponse) {} rpc Feerates(FeeratesRequest) returns (FeeratesResponse) {} rpc FetchInvoice(FetchinvoiceRequest) returns (FetchinvoiceResponse) {} rpc FundChannel_Cancel(Fundchannel_cancelRequest) returns (Fundchannel_cancelResponse) {} rpc FundChannel_Complete(Fundchannel_completeRequest) returns (Fundchannel_completeResponse) {} rpc FundChannel(FundchannelRequest) returns (FundchannelResponse) {} rpc FundChannel_Start(Fundchannel_startRequest) returns (Fundchannel_startResponse) {} rpc GetLog(GetlogRequest) returns (GetlogResponse) {} rpc FunderUpdate(FunderupdateRequest) returns (FunderupdateResponse) {} rpc GetRoute(GetrouteRequest) returns (GetrouteResponse) {} rpc ListForwards(ListforwardsRequest) returns (ListforwardsResponse) {} rpc ListOffers(ListoffersRequest) returns (ListoffersResponse) {} rpc ListPays(ListpaysRequest) returns (ListpaysResponse) {} rpc ListHtlcs(ListhtlcsRequest) returns (ListhtlcsResponse) {} rpc MultiFundChannel(MultifundchannelRequest) returns (MultifundchannelResponse) {} rpc MultiWithdraw(MultiwithdrawRequest) returns (MultiwithdrawResponse) {} rpc Offer(OfferRequest) returns (OfferResponse) {} rpc OpenChannel_Abort(Openchannel_abortRequest) returns (Openchannel_abortResponse) {} rpc OpenChannel_Bump(Openchannel_bumpRequest) returns (Openchannel_bumpResponse) {} rpc OpenChannel_Init(Openchannel_initRequest) returns (Openchannel_initResponse) {} rpc OpenChannel_Signed(Openchannel_signedRequest) returns (Openchannel_signedResponse) {} rpc OpenChannel_Update(Openchannel_updateRequest) returns (Openchannel_updateResponse) {} rpc Ping(PingRequest) returns (PingResponse) {} rpc Plugin(PluginRequest) returns (PluginResponse) {} rpc RenePayStatus(RenepaystatusRequest) returns (RenepaystatusResponse) {} rpc RenePay(RenepayRequest) returns (RenepayResponse) {} rpc ReserveInputs(ReserveinputsRequest) returns (ReserveinputsResponse) {} rpc SendCustomMsg(SendcustommsgRequest) returns (SendcustommsgResponse) {} rpc SendInvoice(SendinvoiceRequest) returns (SendinvoiceResponse) {} rpc SendOnionMessage(SendonionmessageRequest) returns (SendonionmessageResponse) {} rpc SetChannel(SetchannelRequest) returns (SetchannelResponse) {} rpc SetConfig(SetconfigRequest) returns (SetconfigResponse) {} rpc SetPsbtVersion(SetpsbtversionRequest) returns (SetpsbtversionResponse) {} rpc SignInvoice(SigninvoiceRequest) returns (SigninvoiceResponse) {} rpc SignMessage(SignmessageRequest) returns (SignmessageResponse) {} rpc Splice_Init(Splice_initRequest) returns (Splice_initResponse) {} rpc Splice_Signed(Splice_signedRequest) returns (Splice_signedResponse) {} rpc Splice_Update(Splice_updateRequest) returns (Splice_updateResponse) {} rpc UnreserveInputs(UnreserveinputsRequest) returns (UnreserveinputsResponse) {} rpc UpgradeWallet(UpgradewalletRequest) returns (UpgradewalletResponse) {} rpc WaitBlockHeight(WaitblockheightRequest) returns (WaitblockheightResponse) {} rpc Wait(WaitRequest) returns (WaitResponse) {} rpc ListConfigs(ListconfigsRequest) returns (ListconfigsResponse) {} rpc Stop(StopRequest) returns (StopResponse) {} rpc Help(HelpRequest) returns (HelpResponse) {} rpc PreApproveKeysend(PreapprovekeysendRequest) returns (PreapprovekeysendResponse) {} rpc PreApproveInvoice(PreapproveinvoiceRequest) returns (PreapproveinvoiceResponse) {} rpc StaticBackup(StaticbackupRequest) returns (StaticbackupResponse) {} rpc BkprChannelsApy(BkprchannelsapyRequest) returns (BkprchannelsapyResponse) {} rpc BkprDumpIncomeCsv(BkprdumpincomecsvRequest) returns (BkprdumpincomecsvResponse) {} rpc BkprInspect(BkprinspectRequest) returns (BkprinspectResponse) {} rpc BkprListAccountEvents(BkprlistaccounteventsRequest) returns (BkprlistaccounteventsResponse) {} rpc BkprListBalances(BkprlistbalancesRequest) returns (BkprlistbalancesResponse) {} rpc BkprListIncome(BkprlistincomeRequest) returns (BkprlistincomeResponse) {} rpc BlacklistRune(BlacklistruneRequest) returns (BlacklistruneResponse) {} rpc CheckRune(CheckruneRequest) returns (CheckruneResponse) {} rpc CreateRune(CreateruneRequest) returns (CreateruneResponse) {} rpc ShowRunes(ShowrunesRequest) returns (ShowrunesResponse) {} rpc SubscribeBlockAdded(StreamBlockAddedRequest) returns (stream BlockAddedNotification) {} rpc SubscribeChannelOpenFailed(StreamChannelOpenFailedRequest) returns (stream ChannelOpenFailedNotification) {} rpc SubscribeChannelOpened(StreamChannelOpenedRequest) returns (stream ChannelOpenedNotification) {} rpc SubscribeConnect(StreamConnectRequest) returns (stream PeerConnectNotification) {} rpc SubscribeCustomMsg(StreamCustomMsgRequest) returns (stream CustomMsgNotification) {} } message GetinfoRequest { } message GetinfoResponse { bytes id = 1; optional string alias = 2; bytes color = 3; uint32 num_peers = 4; uint32 num_pending_channels = 5; uint32 num_active_channels = 6; uint32 num_inactive_channels = 7; string version = 8; string lightning_dir = 9; optional GetinfoOur_features our_features = 10; uint32 blockheight = 11; string network = 12; Amount fees_collected_msat = 13; repeated GetinfoAddress address = 14; repeated GetinfoBinding binding = 15; optional string warning_bitcoind_sync = 16; optional string warning_lightningd_sync = 17; } message GetinfoOur_features { bytes init = 1; bytes node = 2; bytes channel = 3; bytes invoice = 4; } message GetinfoAddress { // Getinfo.address[].type enum GetinfoAddressType { DNS = 0; IPV4 = 1; IPV6 = 2; TORV2 = 3; TORV3 = 4; } GetinfoAddressType item_type = 1; uint32 port = 2; optional string address = 3; } message GetinfoBinding { // Getinfo.binding[].type enum GetinfoBindingType { LOCAL_SOCKET = 0; IPV4 = 1; IPV6 = 2; TORV2 = 3; TORV3 = 4; WEBSOCKET = 5; } GetinfoBindingType item_type = 1; optional string address = 2; optional uint32 port = 3; optional string socket = 4; optional string subtype = 5; } message ListpeersRequest { // ListPeers.level enum ListpeersLevel { IO = 0; DEBUG = 1; INFO = 2; UNUSUAL = 3; TRACE = 4; } optional bytes id = 1; optional ListpeersLevel level = 2; } message ListpeersResponse { repeated ListpeersPeers peers = 1; } message ListpeersPeers { bytes id = 1; bool connected = 2; repeated ListpeersPeersLog log = 3; repeated string netaddr = 5; optional bytes features = 6; optional string remote_addr = 7; optional uint32 num_channels = 8; } message ListpeersPeersLog { // ListPeers.peers[].log[].type enum ListpeersPeersLogType { SKIPPED = 0; BROKEN = 1; UNUSUAL = 2; INFO = 3; DEBUG = 4; IO_IN = 5; IO_OUT = 6; TRACE = 7; } ListpeersPeersLogType item_type = 1; optional uint32 num_skipped = 2; optional string time = 3; optional string source = 4; optional string log = 5; optional bytes node_id = 6; optional bytes data = 7; } message ListfundsRequest { optional bool spent = 1; } message ListfundsResponse { repeated ListfundsOutputs outputs = 1; repeated ListfundsChannels channels = 2; } message ListfundsOutputs { // ListFunds.outputs[].status enum ListfundsOutputsStatus { UNCONFIRMED = 0; CONFIRMED = 1; SPENT = 2; IMMATURE = 3; } bytes txid = 1; uint32 output = 2; Amount amount_msat = 3; bytes scriptpubkey = 4; optional string address = 5; optional bytes redeemscript = 6; ListfundsOutputsStatus status = 7; optional uint32 blockheight = 8; bool reserved = 9; optional uint32 reserved_to_block = 10; } message ListfundsChannels { bytes peer_id = 1; Amount our_amount_msat = 2; Amount amount_msat = 3; bytes funding_txid = 4; uint32 funding_output = 5; bool connected = 6; ChannelState state = 7; optional string short_channel_id = 8; optional bytes channel_id = 9; } message SendpayRequest { repeated SendpayRoute route = 1; bytes payment_hash = 2; optional string label = 3; optional string bolt11 = 5; optional bytes payment_secret = 6; optional uint64 partid = 7; optional uint64 groupid = 9; optional Amount amount_msat = 10; optional bytes localinvreqid = 11; optional bytes payment_metadata = 12; optional string description = 13; } message SendpayResponse { // SendPay.status enum SendpayStatus { PENDING = 0; COMPLETE = 1; } uint64 id = 1; optional uint64 groupid = 2; bytes payment_hash = 3; SendpayStatus status = 4; optional Amount amount_msat = 5; optional bytes destination = 6; uint64 created_at = 7; Amount amount_sent_msat = 8; optional string label = 9; optional uint64 partid = 10; optional string bolt11 = 11; optional string bolt12 = 12; optional bytes payment_preimage = 13; optional string message = 14; optional uint64 completed_at = 15; optional uint64 created_index = 16; optional uint64 updated_index = 17; } message SendpayRoute { bytes id = 2; uint32 delay = 3; string channel = 4; Amount amount_msat = 5; } message ListchannelsRequest { optional string short_channel_id = 1; optional bytes source = 2; optional bytes destination = 3; } message ListchannelsResponse { repeated ListchannelsChannels channels = 1; } message ListchannelsChannels { bytes source = 1; bytes destination = 2; string short_channel_id = 3; bool public = 4; Amount amount_msat = 5; uint32 message_flags = 6; uint32 channel_flags = 7; bool active = 8; uint32 last_update = 9; uint32 base_fee_millisatoshi = 10; uint32 fee_per_millionth = 11; uint32 delay = 12; Amount htlc_minimum_msat = 13; optional Amount htlc_maximum_msat = 14; bytes features = 15; uint32 direction = 16; } message AddgossipRequest { bytes message = 1; } message AddgossipResponse { } message AddpsbtoutputRequest { Amount satoshi = 1; optional uint32 locktime = 2; optional string initialpsbt = 3; optional string destination = 4; } message AddpsbtoutputResponse { string psbt = 1; uint32 estimated_added_weight = 2; uint32 outnum = 3; } message AutocleanonceRequest { AutocleanSubsystem subsystem = 1; uint64 age = 2; } message AutocleanonceResponse { AutocleanonceAutoclean autoclean = 1; } message AutocleanonceAutoclean { optional AutocleanonceAutocleanSucceededforwards succeededforwards = 1; optional AutocleanonceAutocleanFailedforwards failedforwards = 2; optional AutocleanonceAutocleanSucceededpays succeededpays = 3; optional AutocleanonceAutocleanFailedpays failedpays = 4; optional AutocleanonceAutocleanPaidinvoices paidinvoices = 5; optional AutocleanonceAutocleanExpiredinvoices expiredinvoices = 6; } message AutocleanonceAutocleanSucceededforwards { uint64 cleaned = 1; uint64 uncleaned = 2; } message AutocleanonceAutocleanFailedforwards { uint64 cleaned = 1; uint64 uncleaned = 2; } message AutocleanonceAutocleanSucceededpays { uint64 cleaned = 1; uint64 uncleaned = 2; } message AutocleanonceAutocleanFailedpays { uint64 cleaned = 1; uint64 uncleaned = 2; } message AutocleanonceAutocleanPaidinvoices { uint64 cleaned = 1; uint64 uncleaned = 2; } message AutocleanonceAutocleanExpiredinvoices { uint64 cleaned = 1; uint64 uncleaned = 2; } message AutocleanstatusRequest { optional AutocleanSubsystem subsystem = 1; } message AutocleanstatusResponse { AutocleanstatusAutoclean autoclean = 1; } message AutocleanstatusAutoclean { optional AutocleanstatusAutocleanSucceededforwards succeededforwards = 1; optional AutocleanstatusAutocleanFailedforwards failedforwards = 2; optional AutocleanstatusAutocleanSucceededpays succeededpays = 3; optional AutocleanstatusAutocleanFailedpays failedpays = 4; optional AutocleanstatusAutocleanPaidinvoices paidinvoices = 5; optional AutocleanstatusAutocleanExpiredinvoices expiredinvoices = 6; } message AutocleanstatusAutocleanSucceededforwards { bool enabled = 1; uint64 cleaned = 2; optional uint64 age = 3; } message AutocleanstatusAutocleanFailedforwards { bool enabled = 1; uint64 cleaned = 2; optional uint64 age = 3; } message AutocleanstatusAutocleanSucceededpays { bool enabled = 1; uint64 cleaned = 2; optional uint64 age = 3; } message AutocleanstatusAutocleanFailedpays { bool enabled = 1; uint64 cleaned = 2; optional uint64 age = 3; } message AutocleanstatusAutocleanPaidinvoices { bool enabled = 1; uint64 cleaned = 2; optional uint64 age = 3; } message AutocleanstatusAutocleanExpiredinvoices { bool enabled = 1; uint64 cleaned = 2; optional uint64 age = 3; } message CheckmessageRequest { string message = 1; string zbase = 2; optional bytes pubkey = 3; } message CheckmessageResponse { bool verified = 1; bytes pubkey = 2; } message CloseRequest { string id = 1; optional uint32 unilateraltimeout = 2; optional string destination = 3; optional string fee_negotiation_step = 4; optional Outpoint wrong_funding = 5; optional bool force_lease_closed = 6; repeated Feerate feerange = 7; } message CloseResponse { // Close.type enum CloseType { MUTUAL = 0; UNILATERAL = 1; UNOPENED = 2; } CloseType item_type = 1; optional bytes tx = 2; optional bytes txid = 3; } message ConnectRequest { string id = 1; optional string host = 2; optional uint32 port = 3; } message ConnectResponse { // Connect.direction enum ConnectDirection { IN = 0; OUT = 1; } bytes id = 1; bytes features = 2; ConnectDirection direction = 3; ConnectAddress address = 4; } message ConnectAddress { // Connect.address.type enum ConnectAddressType { LOCAL_SOCKET = 0; IPV4 = 1; IPV6 = 2; TORV2 = 3; TORV3 = 4; } ConnectAddressType item_type = 1; optional string socket = 2; optional string address = 3; optional uint32 port = 4; } message CreateinvoiceRequest { string invstring = 1; string label = 2; bytes preimage = 3; } message CreateinvoiceResponse { // CreateInvoice.status enum CreateinvoiceStatus { PAID = 0; EXPIRED = 1; UNPAID = 2; } string label = 1; optional string bolt11 = 2; optional string bolt12 = 3; bytes payment_hash = 4; optional Amount amount_msat = 5; CreateinvoiceStatus status = 6; string description = 7; uint64 expires_at = 8; optional uint64 pay_index = 9; optional Amount amount_received_msat = 10; optional uint64 paid_at = 11; optional bytes payment_preimage = 12; optional bytes local_offer_id = 13; optional string invreq_payer_note = 15; optional uint64 created_index = 16; optional CreateinvoicePaid_outpoint paid_outpoint = 17; } message CreateinvoicePaid_outpoint { bytes txid = 1; uint32 outnum = 2; } message DatastoreRequest { // Datastore.mode enum DatastoreMode { MUST_CREATE = 0; MUST_REPLACE = 1; CREATE_OR_REPLACE = 2; MUST_APPEND = 3; CREATE_OR_APPEND = 4; } optional bytes hex = 2; optional DatastoreMode mode = 3; optional uint64 generation = 4; repeated string key = 5; optional string string = 6; } message DatastoreResponse { optional uint64 generation = 2; optional bytes hex = 3; optional string string = 4; repeated string key = 5; } message DatastoreusageRequest { repeated string key = 1; } message DatastoreusageResponse { DatastoreusageDatastoreusage datastoreusage = 1; } message DatastoreusageDatastoreusage { string key = 1; uint64 total_bytes = 2; } message CreateonionRequest { repeated CreateonionHops hops = 1; bytes assocdata = 2; optional bytes session_key = 3; optional uint32 onion_size = 4; } message CreateonionResponse { bytes onion = 1; repeated bytes shared_secrets = 2; } message CreateonionHops { bytes pubkey = 1; bytes payload = 2; } message DeldatastoreRequest { optional uint64 generation = 2; repeated string key = 3; } message DeldatastoreResponse { optional uint64 generation = 2; optional bytes hex = 3; optional string string = 4; repeated string key = 5; } message DelinvoiceRequest { // DelInvoice.status enum DelinvoiceStatus { PAID = 0; EXPIRED = 1; UNPAID = 2; } string label = 1; DelinvoiceStatus status = 2; optional bool desconly = 3; } message DelinvoiceResponse { // DelInvoice.status enum DelinvoiceStatus { PAID = 0; EXPIRED = 1; UNPAID = 2; } string label = 1; optional string bolt11 = 2; optional string bolt12 = 3; optional Amount amount_msat = 4; optional string description = 5; bytes payment_hash = 6; DelinvoiceStatus status = 7; uint64 expires_at = 8; optional bytes local_offer_id = 9; optional string invreq_payer_note = 11; optional uint64 created_index = 12; optional uint64 updated_index = 13; optional uint64 pay_index = 14; optional Amount amount_received_msat = 15; optional uint64 paid_at = 16; optional bytes payment_preimage = 17; } message DevforgetchannelRequest { bytes id = 1; optional string short_channel_id = 2; optional bytes channel_id = 3; optional bool force = 4; } message DevforgetchannelResponse { bool forced = 1; bool funding_unspent = 2; bytes funding_txid = 3; } message EmergencyrecoverRequest { } message EmergencyrecoverResponse { repeated bytes stubs = 1; } message RecoverRequest { string hsmsecret = 1; } message RecoverResponse { // Recover.result enum RecoverResult { RECOVERY_RESTART_IN_PROGRESS = 0; } optional RecoverResult result = 1; } message RecoverchannelRequest { repeated bytes scb = 1; } message RecoverchannelResponse { repeated string stubs = 1; } message InvoiceRequest { string description = 2; string label = 3; repeated string fallbacks = 4; optional bytes preimage = 5; optional uint32 cltv = 6; optional uint64 expiry = 7; repeated string exposeprivatechannels = 8; optional bool deschashonly = 9; AmountOrAny amount_msat = 10; } message InvoiceResponse { string bolt11 = 1; bytes payment_hash = 2; bytes payment_secret = 3; uint64 expires_at = 4; optional string warning_capacity = 5; optional string warning_offline = 6; optional string warning_deadends = 7; optional string warning_private_unused = 8; optional string warning_mpp = 9; optional uint64 created_index = 10; } message InvoicerequestRequest { Amount amount = 1; string description = 2; optional string issuer = 3; optional string label = 4; optional uint64 absolute_expiry = 5; optional bool single_use = 6; } message InvoicerequestResponse { bytes invreq_id = 1; bool active = 2; bool single_use = 3; string bolt12 = 4; bool used = 5; optional string label = 6; } message DisableinvoicerequestRequest { string invreq_id = 1; } message DisableinvoicerequestResponse { bytes invreq_id = 1; bool active = 2; bool single_use = 3; string bolt12 = 4; bool used = 5; optional string label = 6; } message ListinvoicerequestsRequest { optional string invreq_id = 1; optional bool active_only = 2; } message ListinvoicerequestsResponse { repeated ListinvoicerequestsInvoicerequests invoicerequests = 1; } message ListinvoicerequestsInvoicerequests { bytes invreq_id = 1; bool active = 2; bool single_use = 3; string bolt12 = 4; bool used = 5; optional string label = 6; } message ListdatastoreRequest { repeated string key = 2; } message ListdatastoreResponse { repeated ListdatastoreDatastore datastore = 1; } message ListdatastoreDatastore { repeated string key = 1; optional uint64 generation = 2; optional bytes hex = 3; optional string string = 4; } message ListinvoicesRequest { // ListInvoices.index enum ListinvoicesIndex { CREATED = 0; UPDATED = 1; } optional string label = 1; optional string invstring = 2; optional bytes payment_hash = 3; optional string offer_id = 4; optional ListinvoicesIndex index = 5; optional uint64 start = 6; optional uint32 limit = 7; } message ListinvoicesResponse { repeated ListinvoicesInvoices invoices = 1; } message ListinvoicesInvoices { // ListInvoices.invoices[].status enum ListinvoicesInvoicesStatus { UNPAID = 0; PAID = 1; EXPIRED = 2; } string label = 1; optional string description = 2; bytes payment_hash = 3; ListinvoicesInvoicesStatus status = 4; uint64 expires_at = 5; optional Amount amount_msat = 6; optional string bolt11 = 7; optional string bolt12 = 8; optional bytes local_offer_id = 9; optional uint64 pay_index = 11; optional Amount amount_received_msat = 12; optional uint64 paid_at = 13; optional bytes payment_preimage = 14; optional string invreq_payer_note = 15; optional uint64 created_index = 16; optional uint64 updated_index = 17; optional ListinvoicesInvoicesPaid_outpoint paid_outpoint = 18; } message ListinvoicesInvoicesPaid_outpoint { bytes txid = 1; uint32 outnum = 2; } message SendonionRequest { bytes onion = 1; SendonionFirst_hop first_hop = 2; bytes payment_hash = 3; optional string label = 4; repeated bytes shared_secrets = 5; optional uint32 partid = 6; optional string bolt11 = 7; optional bytes destination = 9; optional uint64 groupid = 11; optional Amount amount_msat = 12; optional bytes localinvreqid = 13; optional string description = 14; } message SendonionResponse { // SendOnion.status enum SendonionStatus { PENDING = 0; COMPLETE = 1; } uint64 id = 1; bytes payment_hash = 2; SendonionStatus status = 3; optional Amount amount_msat = 4; optional bytes destination = 5; uint64 created_at = 6; Amount amount_sent_msat = 7; optional string label = 8; optional string bolt11 = 9; optional string bolt12 = 10; optional bytes payment_preimage = 11; optional string message = 12; optional uint64 partid = 13; optional uint64 created_index = 14; optional uint64 updated_index = 15; } message SendonionFirst_hop { bytes id = 1; Amount amount_msat = 2; uint32 delay = 3; } message ListsendpaysRequest { // ListSendPays.status enum ListsendpaysStatus { PENDING = 0; COMPLETE = 1; FAILED = 2; } // ListSendPays.index enum ListsendpaysIndex { CREATED = 0; UPDATED = 1; } optional string bolt11 = 1; optional bytes payment_hash = 2; optional ListsendpaysStatus status = 3; optional ListsendpaysIndex index = 4; optional uint64 start = 5; optional uint32 limit = 6; } message ListsendpaysResponse { repeated ListsendpaysPayments payments = 1; } message ListsendpaysPayments { // ListSendPays.payments[].status enum ListsendpaysPaymentsStatus { PENDING = 0; FAILED = 1; COMPLETE = 2; } uint64 id = 1; uint64 groupid = 2; bytes payment_hash = 3; ListsendpaysPaymentsStatus status = 4; optional Amount amount_msat = 5; optional bytes destination = 6; uint64 created_at = 7; Amount amount_sent_msat = 8; optional string label = 9; optional string bolt11 = 10; optional string bolt12 = 11; optional bytes payment_preimage = 12; optional bytes erroronion = 13; optional string description = 14; optional uint64 partid = 15; optional uint64 created_index = 16; optional uint64 updated_index = 17; optional uint64 completed_at = 18; } message ListtransactionsRequest { } message ListtransactionsResponse { repeated ListtransactionsTransactions transactions = 1; } message ListtransactionsTransactions { bytes hash = 1; bytes rawtx = 2; uint32 blockheight = 3; uint32 txindex = 4; uint32 locktime = 7; uint32 version = 8; repeated ListtransactionsTransactionsInputs inputs = 9; repeated ListtransactionsTransactionsOutputs outputs = 10; } message ListtransactionsTransactionsInputs { bytes txid = 1; uint32 index = 2; uint32 sequence = 3; } message ListtransactionsTransactionsOutputs { uint32 index = 1; bytes scriptPubKey = 3; Amount amount_msat = 6; } message MakesecretRequest { optional bytes hex = 1; optional string string = 2; } message MakesecretResponse { bytes secret = 1; } message PayRequest { string bolt11 = 1; optional string label = 3; optional double maxfeepercent = 4; optional uint32 retry_for = 5; optional uint32 maxdelay = 6; optional Amount exemptfee = 7; optional double riskfactor = 8; repeated string exclude = 10; optional Amount maxfee = 11; optional string description = 12; optional Amount amount_msat = 13; optional bytes localinvreqid = 14; optional Amount partial_msat = 15; } message PayResponse { // Pay.status enum PayStatus { COMPLETE = 0; PENDING = 1; FAILED = 2; } bytes payment_preimage = 1; optional bytes destination = 2; bytes payment_hash = 3; double created_at = 4; uint32 parts = 5; Amount amount_msat = 6; Amount amount_sent_msat = 7; optional string warning_partial_completion = 8; PayStatus status = 9; } message ListnodesRequest { optional bytes id = 1; } message ListnodesResponse { repeated ListnodesNodes nodes = 1; } message ListnodesNodes { bytes nodeid = 1; optional uint32 last_timestamp = 2; optional string alias = 3; optional bytes color = 4; optional bytes features = 5; repeated ListnodesNodesAddresses addresses = 6; optional ListnodesNodesOption_will_fund option_will_fund = 7; } message ListnodesNodesOption_will_fund { Amount lease_fee_base_msat = 1; uint32 lease_fee_basis = 2; uint32 funding_weight = 3; Amount channel_fee_max_base_msat = 4; uint32 channel_fee_max_proportional_thousandths = 5; bytes compact_lease = 6; } message ListnodesNodesAddresses { // ListNodes.nodes[].addresses[].type enum ListnodesNodesAddressesType { DNS = 0; IPV4 = 1; IPV6 = 2; TORV2 = 3; TORV3 = 4; } ListnodesNodesAddressesType item_type = 1; uint32 port = 2; optional string address = 3; } message WaitanyinvoiceRequest { optional uint64 lastpay_index = 1; optional uint64 timeout = 2; } message WaitanyinvoiceResponse { // WaitAnyInvoice.status enum WaitanyinvoiceStatus { PAID = 0; EXPIRED = 1; } string label = 1; string description = 2; bytes payment_hash = 3; WaitanyinvoiceStatus status = 4; uint64 expires_at = 5; optional Amount amount_msat = 6; optional string bolt11 = 7; optional string bolt12 = 8; optional uint64 pay_index = 9; optional Amount amount_received_msat = 10; optional uint64 paid_at = 11; optional bytes payment_preimage = 12; optional uint64 created_index = 13; optional uint64 updated_index = 14; optional WaitanyinvoicePaid_outpoint paid_outpoint = 15; } message WaitanyinvoicePaid_outpoint { bytes txid = 1; uint32 outnum = 2; } message WaitinvoiceRequest { string label = 1; } message WaitinvoiceResponse { // WaitInvoice.status enum WaitinvoiceStatus { PAID = 0; EXPIRED = 1; } string label = 1; string description = 2; bytes payment_hash = 3; WaitinvoiceStatus status = 4; uint64 expires_at = 5; optional Amount amount_msat = 6; optional string bolt11 = 7; optional string bolt12 = 8; optional uint64 pay_index = 9; optional Amount amount_received_msat = 10; optional uint64 paid_at = 11; optional bytes payment_preimage = 12; optional uint64 created_index = 13; optional uint64 updated_index = 14; optional WaitinvoicePaid_outpoint paid_outpoint = 15; } message WaitinvoicePaid_outpoint { bytes txid = 1; uint32 outnum = 2; } message WaitsendpayRequest { bytes payment_hash = 1; optional uint64 partid = 2; optional uint32 timeout = 3; optional uint64 groupid = 4; } message WaitsendpayResponse { // WaitSendPay.status enum WaitsendpayStatus { COMPLETE = 0; } uint64 id = 1; optional uint64 groupid = 2; bytes payment_hash = 3; WaitsendpayStatus status = 4; optional Amount amount_msat = 5; optional bytes destination = 6; uint64 created_at = 7; Amount amount_sent_msat = 8; optional string label = 9; optional uint64 partid = 10; optional string bolt11 = 11; optional string bolt12 = 12; optional bytes payment_preimage = 13; optional double completed_at = 14; optional uint64 created_index = 15; optional uint64 updated_index = 16; } message NewaddrRequest { // NewAddr.addresstype enum NewaddrAddresstype { BECH32 = 0; ALL = 2; P2TR = 3; } optional NewaddrAddresstype addresstype = 1; } message NewaddrResponse { optional string bech32 = 1; optional string p2tr = 3; } message WithdrawRequest { string destination = 1; AmountOrAll satoshi = 2; optional uint32 minconf = 3; repeated Outpoint utxos = 4; optional Feerate feerate = 5; } message WithdrawResponse { bytes tx = 1; bytes txid = 2; string psbt = 3; } message KeysendRequest { bytes destination = 1; optional string label = 3; optional double maxfeepercent = 4; optional uint32 retry_for = 5; optional uint32 maxdelay = 6; optional Amount exemptfee = 7; optional RoutehintList routehints = 8; optional TlvStream extratlvs = 9; Amount amount_msat = 10; } message KeysendResponse { // KeySend.status enum KeysendStatus { COMPLETE = 0; } bytes payment_preimage = 1; optional bytes destination = 2; bytes payment_hash = 3; double created_at = 4; uint32 parts = 5; Amount amount_msat = 6; Amount amount_sent_msat = 7; optional string warning_partial_completion = 8; KeysendStatus status = 9; } message FundpsbtRequest { AmountOrAll satoshi = 1; Feerate feerate = 2; uint32 startweight = 3; optional uint32 minconf = 4; optional uint32 reserve = 5; optional uint32 locktime = 6; optional uint32 min_witness_weight = 7; optional bool excess_as_change = 8; optional bool nonwrapped = 9; optional bool opening_anchor_channel = 10; } message FundpsbtResponse { string psbt = 1; uint32 feerate_per_kw = 2; uint32 estimated_final_weight = 3; Amount excess_msat = 4; optional uint32 change_outnum = 5; repeated FundpsbtReservations reservations = 6; } message FundpsbtReservations { bytes txid = 1; uint32 vout = 2; bool was_reserved = 3; bool reserved = 4; uint32 reserved_to_block = 5; } message SendpsbtRequest { string psbt = 1; optional uint32 reserve = 2; } message SendpsbtResponse { bytes tx = 1; bytes txid = 2; } message SignpsbtRequest { string psbt = 1; repeated uint32 signonly = 2; } message SignpsbtResponse { string signed_psbt = 1; } message UtxopsbtRequest { AmountOrAll satoshi = 1; Feerate feerate = 2; uint32 startweight = 3; repeated Outpoint utxos = 4; optional uint32 reserve = 5; optional uint32 locktime = 6; optional uint32 min_witness_weight = 7; optional bool reservedok = 8; optional bool excess_as_change = 9; optional bool opening_anchor_channel = 10; } message UtxopsbtResponse { string psbt = 1; uint32 feerate_per_kw = 2; uint32 estimated_final_weight = 3; Amount excess_msat = 4; optional uint32 change_outnum = 5; repeated UtxopsbtReservations reservations = 6; } message UtxopsbtReservations { bytes txid = 1; uint32 vout = 2; bool was_reserved = 3; bool reserved = 4; uint32 reserved_to_block = 5; } message TxdiscardRequest { bytes txid = 1; } message TxdiscardResponse { bytes unsigned_tx = 1; bytes txid = 2; } message TxprepareRequest { optional Feerate feerate = 2; optional uint32 minconf = 3; repeated Outpoint utxos = 4; repeated OutputDesc outputs = 5; } message TxprepareResponse { string psbt = 1; bytes unsigned_tx = 2; bytes txid = 3; } message TxsendRequest { bytes txid = 1; } message TxsendResponse { string psbt = 1; bytes tx = 2; bytes txid = 3; } message ListpeerchannelsRequest { optional bytes id = 1; } message ListpeerchannelsResponse { repeated ListpeerchannelsChannels channels = 1; } message ListpeerchannelsChannels { // ListPeerChannels.channels[].state enum ListpeerchannelsChannelsState { OPENINGD = 0; CHANNELD_AWAITING_LOCKIN = 1; CHANNELD_NORMAL = 2; CHANNELD_SHUTTING_DOWN = 3; CLOSINGD_SIGEXCHANGE = 4; CLOSINGD_COMPLETE = 5; AWAITING_UNILATERAL = 6; FUNDING_SPEND_SEEN = 7; ONCHAIN = 8; DUALOPEND_OPEN_INIT = 9; DUALOPEND_AWAITING_LOCKIN = 10; CHANNELD_AWAITING_SPLICE = 11; DUALOPEND_OPEN_COMMITTED = 12; DUALOPEND_OPEN_COMMIT_READY = 13; } bytes peer_id = 1; bool peer_connected = 2; ListpeerchannelsChannelsState state = 3; optional bytes scratch_txid = 4; optional ListpeerchannelsChannelsFeerate feerate = 6; optional string owner = 7; optional string short_channel_id = 8; optional bytes channel_id = 9; optional bytes funding_txid = 10; optional uint32 funding_outnum = 11; optional string initial_feerate = 12; optional string last_feerate = 13; optional string next_feerate = 14; optional uint32 next_fee_step = 15; repeated ListpeerchannelsChannelsInflight inflight = 16; optional bytes close_to = 17; optional bool private = 18; ChannelSide opener = 19; optional ChannelSide closer = 20; optional ListpeerchannelsChannelsFunding funding = 22; optional Amount to_us_msat = 23; optional Amount min_to_us_msat = 24; optional Amount max_to_us_msat = 25; optional Amount total_msat = 26; optional Amount fee_base_msat = 27; optional uint32 fee_proportional_millionths = 28; optional Amount dust_limit_msat = 29; optional Amount max_total_htlc_in_msat = 30; optional Amount their_reserve_msat = 31; optional Amount our_reserve_msat = 32; optional Amount spendable_msat = 33; optional Amount receivable_msat = 34; optional Amount minimum_htlc_in_msat = 35; optional Amount minimum_htlc_out_msat = 36; optional Amount maximum_htlc_out_msat = 37; optional uint32 their_to_self_delay = 38; optional uint32 our_to_self_delay = 39; optional uint32 max_accepted_htlcs = 40; optional ListpeerchannelsChannelsAlias alias = 41; repeated string status = 43; optional uint64 in_payments_offered = 44; optional Amount in_offered_msat = 45; optional uint64 in_payments_fulfilled = 46; optional Amount in_fulfilled_msat = 47; optional uint64 out_payments_offered = 48; optional Amount out_offered_msat = 49; optional uint64 out_payments_fulfilled = 50; optional Amount out_fulfilled_msat = 51; repeated ListpeerchannelsChannelsHtlcs htlcs = 52; optional string close_to_addr = 53; optional bool ignore_fee_limits = 54; optional ListpeerchannelsChannelsUpdates updates = 55; optional uint64 last_stable_connection = 56; optional bool lost_state = 57; optional bool reestablished = 58; optional Amount last_tx_fee_msat = 59; optional uint32 direction = 60; } message ListpeerchannelsChannelsUpdates { ListpeerchannelsChannelsUpdatesLocal local = 1; optional ListpeerchannelsChannelsUpdatesRemote remote = 2; } message ListpeerchannelsChannelsUpdatesLocal { Amount htlc_minimum_msat = 1; Amount htlc_maximum_msat = 2; uint32 cltv_expiry_delta = 3; Amount fee_base_msat = 4; uint32 fee_proportional_millionths = 5; } message ListpeerchannelsChannelsUpdatesRemote { Amount htlc_minimum_msat = 1; Amount htlc_maximum_msat = 2; uint32 cltv_expiry_delta = 3; Amount fee_base_msat = 4; uint32 fee_proportional_millionths = 5; } message ListpeerchannelsChannelsFeerate { uint32 perkw = 1; uint32 perkb = 2; } message ListpeerchannelsChannelsInflight { bytes funding_txid = 1; uint32 funding_outnum = 2; string feerate = 3; Amount total_funding_msat = 4; Amount our_funding_msat = 5; optional bytes scratch_txid = 6; optional sint64 splice_amount = 7; } message ListpeerchannelsChannelsFunding { optional Amount pushed_msat = 1; Amount local_funds_msat = 2; Amount remote_funds_msat = 3; optional Amount fee_paid_msat = 4; optional Amount fee_rcvd_msat = 5; } message ListpeerchannelsChannelsAlias { optional string local = 1; optional string remote = 2; } message ListpeerchannelsChannelsHtlcs { // ListPeerChannels.channels[].htlcs[].direction enum ListpeerchannelsChannelsHtlcsDirection { IN = 0; OUT = 1; } ListpeerchannelsChannelsHtlcsDirection direction = 1; uint64 id = 2; Amount amount_msat = 3; uint32 expiry = 4; bytes payment_hash = 5; optional bool local_trimmed = 6; optional string status = 7; HtlcState state = 8; } message ListclosedchannelsRequest { optional bytes id = 1; } message ListclosedchannelsResponse { repeated ListclosedchannelsClosedchannels closedchannels = 1; } message ListclosedchannelsClosedchannels { // ListClosedChannels.closedchannels[].close_cause enum ListclosedchannelsClosedchannelsClose_cause { UNKNOWN = 0; LOCAL = 1; USER = 2; REMOTE = 3; PROTOCOL = 4; ONCHAIN = 5; } optional bytes peer_id = 1; bytes channel_id = 2; optional string short_channel_id = 3; optional ListclosedchannelsClosedchannelsAlias alias = 4; ChannelSide opener = 5; optional ChannelSide closer = 6; bool private = 7; uint64 total_local_commitments = 9; uint64 total_remote_commitments = 10; uint64 total_htlcs_sent = 11; bytes funding_txid = 12; uint32 funding_outnum = 13; bool leased = 14; optional Amount funding_fee_paid_msat = 15; optional Amount funding_fee_rcvd_msat = 16; optional Amount funding_pushed_msat = 17; Amount total_msat = 18; Amount final_to_us_msat = 19; Amount min_to_us_msat = 20; Amount max_to_us_msat = 21; optional bytes last_commitment_txid = 22; optional Amount last_commitment_fee_msat = 23; ListclosedchannelsClosedchannelsClose_cause close_cause = 24; optional uint64 last_stable_connection = 25; } message ListclosedchannelsClosedchannelsAlias { optional string local = 1; optional string remote = 2; } message DecodepayRequest { string bolt11 = 1; optional string description = 2; } message DecodepayResponse { string currency = 1; uint64 created_at = 2; uint64 expiry = 3; bytes payee = 4; optional Amount amount_msat = 5; bytes payment_hash = 6; string signature = 7; optional string description = 8; optional bytes description_hash = 9; uint32 min_final_cltv_expiry = 10; optional bytes payment_secret = 11; optional bytes features = 12; optional bytes payment_metadata = 13; repeated DecodepayFallbacks fallbacks = 14; repeated DecodepayExtra extra = 16; optional DecodeRoutehintList routes = 17; } message DecodepayFallbacks { // DecodePay.fallbacks[].type enum DecodepayFallbacksType { P2PKH = 0; P2SH = 1; P2WPKH = 2; P2WSH = 3; P2TR = 4; } DecodepayFallbacksType item_type = 1; optional string addr = 2; bytes hex = 3; } message DecodepayExtra { string tag = 1; string data = 2; } message DecodeRequest { string string = 1; } message DecodeResponse { // Decode.type enum DecodeType { BOLT12_OFFER = 0; BOLT12_INVOICE = 1; BOLT12_INVOICE_REQUEST = 2; BOLT11_INVOICE = 3; RUNE = 4; EMERGENCY_RECOVER = 5; } DecodeType item_type = 1; bool valid = 2; optional bytes offer_id = 3; repeated bytes offer_chains = 4; optional bytes offer_metadata = 5; optional string offer_currency = 6; optional string warning_unknown_offer_currency = 7; optional uint32 currency_minor_unit = 8; optional uint64 offer_amount = 9; optional Amount offer_amount_msat = 10; optional string offer_description = 11; optional string offer_issuer = 12; optional bytes offer_features = 13; optional uint64 offer_absolute_expiry = 14; optional uint64 offer_quantity_max = 15; repeated DecodeOffer_paths offer_paths = 16; optional bytes offer_node_id = 17; optional string warning_missing_offer_node_id = 20; optional string warning_invalid_offer_description = 21; optional string warning_missing_offer_description = 22; optional string warning_invalid_offer_currency = 23; optional string warning_invalid_offer_issuer = 24; optional bytes invreq_metadata = 25; optional bytes invreq_payer_id = 26; optional bytes invreq_chain = 27; optional Amount invreq_amount_msat = 28; optional bytes invreq_features = 29; optional uint64 invreq_quantity = 30; optional string invreq_payer_note = 31; optional uint32 invreq_recurrence_counter = 32; optional uint32 invreq_recurrence_start = 33; optional string warning_missing_invreq_metadata = 35; optional string warning_missing_invreq_payer_id = 36; optional string warning_invalid_invreq_payer_note = 37; optional string warning_missing_invoice_request_signature = 38; optional string warning_invalid_invoice_request_signature = 39; optional uint64 invoice_created_at = 41; optional uint32 invoice_relative_expiry = 42; optional bytes invoice_payment_hash = 43; optional Amount invoice_amount_msat = 44; repeated DecodeInvoice_fallbacks invoice_fallbacks = 45; optional bytes invoice_features = 46; optional bytes invoice_node_id = 47; optional uint64 invoice_recurrence_basetime = 48; optional string warning_missing_invoice_paths = 50; optional string warning_missing_invoice_blindedpay = 51; optional string warning_missing_invoice_created_at = 52; optional string warning_missing_invoice_payment_hash = 53; optional string warning_missing_invoice_amount = 54; optional string warning_missing_invoice_recurrence_basetime = 55; optional string warning_missing_invoice_node_id = 56; optional string warning_missing_invoice_signature = 57; optional string warning_invalid_invoice_signature = 58; repeated DecodeFallbacks fallbacks = 59; optional uint64 created_at = 60; optional uint64 expiry = 61; optional bytes payee = 62; optional bytes payment_hash = 63; optional bytes description_hash = 64; optional uint32 min_final_cltv_expiry = 65; optional bytes payment_secret = 66; optional bytes payment_metadata = 67; repeated DecodeExtra extra = 69; optional string unique_id = 70; optional string version = 71; optional string string = 72; repeated DecodeRestrictions restrictions = 73; optional string warning_rune_invalid_utf8 = 74; optional bytes hex = 75; optional bytes decrypted = 76; optional string signature = 77; optional string currency = 78; optional Amount amount_msat = 79; optional string description = 80; optional bytes features = 81; optional DecodeRoutehintList routes = 82; } message DecodeOffer_paths { optional bytes first_node_id = 1; bytes blinding = 2; optional uint32 first_scid_dir = 4; optional string first_scid = 5; } message DecodeOffer_recurrencePaywindow { uint32 seconds_before = 1; uint32 seconds_after = 2; optional bool proportional_amount = 3; } message DecodeInvoice_pathsPath { bytes blinded_node_id = 1; bytes encrypted_recipient_data = 2; } message DecodeInvoice_fallbacks { uint32 version = 1; bytes hex = 2; optional string address = 3; } message DecodeFallbacks { // Decode.fallbacks[].type enum DecodeFallbacksType { P2PKH = 0; P2SH = 1; P2WPKH = 2; P2WSH = 3; P2TR = 4; } optional string warning_invoice_fallbacks_version_invalid = 1; DecodeFallbacksType item_type = 2; optional string addr = 3; bytes hex = 4; } message DecodeExtra { string tag = 1; string data = 2; } message DecodeRestrictions { repeated string alternatives = 1; string summary = 2; } message DelpayRequest { // DelPay.status enum DelpayStatus { COMPLETE = 0; FAILED = 1; } bytes payment_hash = 1; DelpayStatus status = 2; optional uint64 partid = 3; optional uint64 groupid = 4; } message DelpayResponse { repeated DelpayPayments payments = 1; } message DelpayPayments { // DelPay.payments[].status enum DelpayPaymentsStatus { PENDING = 0; FAILED = 1; COMPLETE = 2; } optional uint64 created_index = 1; uint64 id = 2; bytes payment_hash = 3; DelpayPaymentsStatus status = 4; Amount amount_sent_msat = 5; optional uint64 partid = 6; optional bytes destination = 7; optional Amount amount_msat = 8; uint64 created_at = 9; optional uint64 updated_index = 10; optional uint64 completed_at = 11; optional uint64 groupid = 12; optional bytes payment_preimage = 13; optional string label = 14; optional string bolt11 = 15; optional string bolt12 = 16; optional bytes erroronion = 17; } message DelforwardRequest { // DelForward.status enum DelforwardStatus { SETTLED = 0; LOCAL_FAILED = 1; FAILED = 2; } string in_channel = 1; uint64 in_htlc_id = 2; DelforwardStatus status = 3; } message DelforwardResponse { } message DisableofferRequest { bytes offer_id = 1; } message DisableofferResponse { bytes offer_id = 1; bool active = 2; bool single_use = 3; string bolt12 = 4; bool used = 5; optional string label = 6; } message DisconnectRequest { bytes id = 1; optional bool force = 2; } message DisconnectResponse { } message FeeratesRequest { // Feerates.style enum FeeratesStyle { PERKB = 0; PERKW = 1; } FeeratesStyle style = 1; } message FeeratesResponse { optional string warning_missing_feerates = 1; optional FeeratesPerkb perkb = 2; optional FeeratesPerkw perkw = 3; optional FeeratesOnchain_fee_estimates onchain_fee_estimates = 4; } message FeeratesPerkb { uint32 min_acceptable = 1; uint32 max_acceptable = 2; optional uint32 opening = 3; optional uint32 mutual_close = 4; optional uint32 unilateral_close = 5; optional uint32 delayed_to_us = 6; optional uint32 htlc_resolution = 7; optional uint32 penalty = 8; repeated FeeratesPerkbEstimates estimates = 9; optional uint32 floor = 10; optional uint32 unilateral_anchor_close = 11; } message FeeratesPerkbEstimates { uint32 blockcount = 1; uint32 feerate = 2; uint32 smoothed_feerate = 3; } message FeeratesPerkw { uint32 min_acceptable = 1; uint32 max_acceptable = 2; optional uint32 opening = 3; optional uint32 mutual_close = 4; optional uint32 unilateral_close = 5; optional uint32 delayed_to_us = 6; optional uint32 htlc_resolution = 7; optional uint32 penalty = 8; repeated FeeratesPerkwEstimates estimates = 9; optional uint32 floor = 10; optional uint32 unilateral_anchor_close = 11; } message FeeratesPerkwEstimates { uint32 blockcount = 1; uint32 feerate = 2; uint32 smoothed_feerate = 3; } message FeeratesOnchain_fee_estimates { uint64 opening_channel_satoshis = 1; uint64 mutual_close_satoshis = 2; uint64 unilateral_close_satoshis = 3; uint64 htlc_timeout_satoshis = 4; uint64 htlc_success_satoshis = 5; optional uint64 unilateral_close_nonanchor_satoshis = 6; } message FetchinvoiceRequest { string offer = 1; optional Amount amount_msat = 2; optional uint64 quantity = 3; optional uint64 recurrence_counter = 4; optional double recurrence_start = 5; optional string recurrence_label = 6; optional double timeout = 7; optional string payer_note = 8; } message FetchinvoiceResponse { string invoice = 1; FetchinvoiceChanges changes = 2; optional FetchinvoiceNext_period next_period = 3; } message FetchinvoiceChanges { optional string description_appended = 1; optional string description = 2; optional string vendor_removed = 3; optional string vendor = 4; optional Amount amount_msat = 5; } message FetchinvoiceNext_period { uint64 counter = 1; uint64 starttime = 2; uint64 endtime = 3; uint64 paywindow_start = 4; uint64 paywindow_end = 5; } message Fundchannel_cancelRequest { bytes id = 1; } message Fundchannel_cancelResponse { string cancelled = 1; } message Fundchannel_completeRequest { bytes id = 1; string psbt = 2; } message Fundchannel_completeResponse { bytes channel_id = 1; bool commitments_secured = 2; } message FundchannelRequest { AmountOrAll amount = 1; optional Feerate feerate = 2; optional bool announce = 3; optional Amount push_msat = 5; optional string close_to = 6; optional Amount request_amt = 7; optional string compact_lease = 8; bytes id = 9; optional uint32 minconf = 10; repeated Outpoint utxos = 11; optional uint32 mindepth = 12; optional Amount reserve = 13; repeated uint32 channel_type = 14; } message FundchannelResponse { bytes tx = 1; bytes txid = 2; uint32 outnum = 3; bytes channel_id = 4; optional bytes close_to = 5; optional uint32 mindepth = 6; optional FundchannelChannel_type channel_type = 7; } message FundchannelChannel_type { repeated uint32 bits = 1; repeated ChannelTypeName names = 2; } message Fundchannel_startRequest { bytes id = 1; Amount amount = 2; optional Feerate feerate = 3; optional bool announce = 4; optional string close_to = 5; optional Amount push_msat = 6; optional uint32 mindepth = 7; optional Amount reserve = 8; repeated uint32 channel_type = 9; } message Fundchannel_startResponse { string funding_address = 1; bytes scriptpubkey = 2; optional Fundchannel_startChannel_type channel_type = 3; optional bytes close_to = 4; string warning_usage = 5; optional uint32 mindepth = 6; } message Fundchannel_startChannel_type { repeated uint32 bits = 1; repeated ChannelTypeName names = 2; } message GetlogRequest { // GetLog.level enum GetlogLevel { BROKEN = 0; UNUSUAL = 1; INFO = 2; DEBUG = 3; IO = 4; TRACE = 5; } optional GetlogLevel level = 1; } message GetlogResponse { string created_at = 1; uint32 bytes_used = 2; uint32 bytes_max = 3; repeated GetlogLog log = 4; } message GetlogLog { // GetLog.log[].type enum GetlogLogType { SKIPPED = 0; BROKEN = 1; UNUSUAL = 2; INFO = 3; DEBUG = 4; IO_IN = 5; IO_OUT = 6; TRACE = 7; } GetlogLogType item_type = 1; optional uint32 num_skipped = 2; optional string time = 3; optional string source = 4; optional string log = 5; optional bytes node_id = 6; optional bytes data = 7; } message FunderupdateRequest { // FunderUpdate.policy enum FunderupdatePolicy { MATCH = 0; AVAILABLE = 1; FIXED = 2; } optional FunderupdatePolicy policy = 1; optional Amount policy_mod = 2; optional bool leases_only = 3; optional Amount min_their_funding_msat = 4; optional Amount max_their_funding_msat = 5; optional Amount per_channel_min_msat = 6; optional Amount per_channel_max_msat = 7; optional Amount reserve_tank_msat = 8; optional uint32 fuzz_percent = 9; optional uint32 fund_probability = 10; optional Amount lease_fee_base_msat = 11; optional uint32 lease_fee_basis = 12; optional uint32 funding_weight = 13; optional Amount channel_fee_max_base_msat = 14; optional uint32 channel_fee_max_proportional_thousandths = 15; optional bytes compact_lease = 16; } message FunderupdateResponse { // FunderUpdate.policy enum FunderupdatePolicy { MATCH = 0; AVAILABLE = 1; FIXED = 2; } string summary = 1; FunderupdatePolicy policy = 2; uint32 policy_mod = 3; bool leases_only = 4; Amount min_their_funding_msat = 5; Amount max_their_funding_msat = 6; Amount per_channel_min_msat = 7; Amount per_channel_max_msat = 8; Amount reserve_tank_msat = 9; uint32 fuzz_percent = 10; uint32 fund_probability = 11; optional Amount lease_fee_base_msat = 12; optional uint32 lease_fee_basis = 13; optional uint32 funding_weight = 14; optional Amount channel_fee_max_base_msat = 15; optional uint32 channel_fee_max_proportional_thousandths = 16; optional bytes compact_lease = 17; } message GetrouteRequest { bytes id = 1; uint64 riskfactor = 3; optional uint32 cltv = 4; optional bytes fromid = 5; optional uint32 fuzzpercent = 6; repeated string exclude = 7; optional uint32 maxhops = 8; Amount amount_msat = 9; } message GetrouteResponse { repeated GetrouteRoute route = 1; } message GetrouteRoute { // GetRoute.route[].style enum GetrouteRouteStyle { TLV = 0; } bytes id = 1; string channel = 2; uint32 direction = 3; Amount amount_msat = 4; uint32 delay = 5; GetrouteRouteStyle style = 6; } message ListforwardsRequest { // ListForwards.status enum ListforwardsStatus { OFFERED = 0; SETTLED = 1; LOCAL_FAILED = 2; FAILED = 3; } // ListForwards.index enum ListforwardsIndex { CREATED = 0; UPDATED = 1; } optional ListforwardsStatus status = 1; optional string in_channel = 2; optional string out_channel = 3; optional ListforwardsIndex index = 4; optional uint64 start = 5; optional uint32 limit = 6; } message ListforwardsResponse { repeated ListforwardsForwards forwards = 1; } message ListforwardsForwards { // ListForwards.forwards[].status enum ListforwardsForwardsStatus { OFFERED = 0; SETTLED = 1; LOCAL_FAILED = 2; FAILED = 3; } // ListForwards.forwards[].style enum ListforwardsForwardsStyle { LEGACY = 0; TLV = 1; } string in_channel = 1; Amount in_msat = 2; ListforwardsForwardsStatus status = 3; double received_time = 4; optional string out_channel = 5; optional Amount fee_msat = 7; optional Amount out_msat = 8; optional ListforwardsForwardsStyle style = 9; optional uint64 in_htlc_id = 10; optional uint64 out_htlc_id = 11; optional uint64 created_index = 12; optional uint64 updated_index = 13; optional double resolved_time = 14; optional uint32 failcode = 15; optional string failreason = 16; } message ListoffersRequest { optional bytes offer_id = 1; optional bool active_only = 2; } message ListoffersResponse { repeated ListoffersOffers offers = 1; } message ListoffersOffers { bytes offer_id = 1; bool active = 2; bool single_use = 3; string bolt12 = 4; bool used = 5; optional string label = 6; } message ListpaysRequest { // ListPays.status enum ListpaysStatus { PENDING = 0; COMPLETE = 1; FAILED = 2; } optional string bolt11 = 1; optional bytes payment_hash = 2; optional ListpaysStatus status = 3; } message ListpaysResponse { repeated ListpaysPays pays = 1; } message ListpaysPays { // ListPays.pays[].status enum ListpaysPaysStatus { PENDING = 0; FAILED = 1; COMPLETE = 2; } bytes payment_hash = 1; ListpaysPaysStatus status = 2; optional bytes destination = 3; uint64 created_at = 4; optional string label = 5; optional string bolt11 = 6; optional string bolt12 = 7; optional Amount amount_msat = 8; optional Amount amount_sent_msat = 9; optional bytes erroronion = 10; optional string description = 11; optional uint64 completed_at = 12; optional bytes preimage = 13; optional uint64 number_of_parts = 14; } message ListhtlcsRequest { optional string id = 1; } message ListhtlcsResponse { repeated ListhtlcsHtlcs htlcs = 1; } message ListhtlcsHtlcs { // ListHtlcs.htlcs[].direction enum ListhtlcsHtlcsDirection { OUT = 0; IN = 1; } string short_channel_id = 1; uint64 id = 2; uint32 expiry = 3; Amount amount_msat = 4; ListhtlcsHtlcsDirection direction = 5; bytes payment_hash = 6; HtlcState state = 7; } message MultifundchannelRequest { repeated MultifundchannelDestinations destinations = 1; optional Feerate feerate = 2; optional sint64 minconf = 3; repeated Outpoint utxos = 4; optional sint64 minchannels = 5; optional Feerate commitment_feerate = 6; } message MultifundchannelResponse { bytes tx = 1; bytes txid = 2; repeated MultifundchannelChannel_ids channel_ids = 3; repeated MultifundchannelFailed failed = 4; } message MultifundchannelDestinations { string id = 1; AmountOrAll amount = 2; optional bool announce = 3; optional Amount push_msat = 4; optional string close_to = 5; optional Amount request_amt = 6; optional string compact_lease = 7; optional uint32 mindepth = 8; optional Amount reserve = 9; } message MultifundchannelChannel_ids { bytes id = 1; uint32 outnum = 2; bytes channel_id = 3; optional MultifundchannelChannel_idsChannel_type channel_type = 4; optional bytes close_to = 5; } message MultifundchannelChannel_idsChannel_type { repeated uint32 bits = 1; repeated ChannelTypeName names = 2; } message MultifundchannelFailed { // MultiFundChannel.failed[].method enum MultifundchannelFailedMethod { CONNECT = 0; OPENCHANNEL_INIT = 1; FUNDCHANNEL_START = 2; FUNDCHANNEL_COMPLETE = 3; } bytes id = 1; MultifundchannelFailedMethod method = 2; MultifundchannelFailedError error = 3; } message MultifundchannelFailedError { sint64 code = 1; string message = 2; } message MultiwithdrawRequest { repeated OutputDesc outputs = 1; optional Feerate feerate = 2; optional uint32 minconf = 3; repeated Outpoint utxos = 4; } message MultiwithdrawResponse { bytes tx = 1; bytes txid = 2; } message OfferRequest { string amount = 1; optional string description = 2; optional string issuer = 3; optional string label = 4; optional uint64 quantity_max = 5; optional uint64 absolute_expiry = 6; optional string recurrence = 7; optional string recurrence_base = 8; optional string recurrence_paywindow = 9; optional uint32 recurrence_limit = 10; optional bool single_use = 11; optional bool recurrence_start_any_period = 12; } message OfferResponse { bytes offer_id = 1; bool active = 2; bool single_use = 3; string bolt12 = 4; bool used = 5; bool created = 6; optional string label = 7; } message Openchannel_abortRequest { bytes channel_id = 1; } message Openchannel_abortResponse { bytes channel_id = 1; bool channel_canceled = 2; string reason = 3; } message Openchannel_bumpRequest { bytes channel_id = 1; string initialpsbt = 2; optional Feerate funding_feerate = 3; Amount amount = 4; } message Openchannel_bumpResponse { bytes channel_id = 1; optional Openchannel_bumpChannel_type channel_type = 2; string psbt = 3; bool commitments_secured = 4; uint64 funding_serial = 5; optional bool requires_confirmed_inputs = 6; } message Openchannel_bumpChannel_type { repeated uint32 bits = 1; repeated ChannelTypeName names = 2; } message Openchannel_initRequest { bytes id = 1; string initialpsbt = 2; optional Feerate commitment_feerate = 3; optional Feerate funding_feerate = 4; optional bool announce = 5; optional string close_to = 6; optional Amount request_amt = 7; optional bytes compact_lease = 8; repeated uint32 channel_type = 9; Amount amount = 10; } message Openchannel_initResponse { bytes channel_id = 1; string psbt = 2; optional Openchannel_initChannel_type channel_type = 3; bool commitments_secured = 4; uint64 funding_serial = 5; optional bool requires_confirmed_inputs = 6; } message Openchannel_initChannel_type { repeated uint32 bits = 1; repeated ChannelTypeName names = 2; } message Openchannel_signedRequest { bytes channel_id = 1; string signed_psbt = 2; } message Openchannel_signedResponse { bytes channel_id = 1; bytes tx = 2; bytes txid = 3; } message Openchannel_updateRequest { bytes channel_id = 1; string psbt = 2; } message Openchannel_updateResponse { bytes channel_id = 1; optional Openchannel_updateChannel_type channel_type = 2; string psbt = 3; bool commitments_secured = 4; uint32 funding_outnum = 5; optional bytes close_to = 6; optional bool requires_confirmed_inputs = 7; } message Openchannel_updateChannel_type { repeated uint32 bits = 1; repeated ChannelTypeName names = 2; } message PingRequest { bytes id = 1; optional uint32 len = 2; optional uint32 pongbytes = 3; } message PingResponse { uint32 totlen = 1; } message PluginRequest { PluginSubcommand subcommand = 1; optional string plugin = 2; optional string directory = 3; repeated string options = 4; } message PluginResponse { PluginSubcommand command = 1; repeated PluginPlugins plugins = 2; optional string result = 3; } message PluginPlugins { string name = 1; bool active = 2; bool dynamic = 3; } message RenepaystatusRequest { optional string invstring = 1; } message RenepaystatusResponse { repeated RenepaystatusPaystatus paystatus = 1; } message RenepaystatusPaystatus { // RenePayStatus.paystatus[].status enum RenepaystatusPaystatusStatus { COMPLETE = 0; PENDING = 1; FAILED = 2; } string bolt11 = 1; optional bytes payment_preimage = 2; bytes payment_hash = 3; double created_at = 4; uint32 groupid = 5; optional uint32 parts = 6; Amount amount_msat = 7; optional Amount amount_sent_msat = 8; RenepaystatusPaystatusStatus status = 9; optional bytes destination = 10; repeated string notes = 11; } message RenepayRequest { string invstring = 1; optional Amount amount_msat = 2; optional Amount maxfee = 3; optional uint32 maxdelay = 4; optional uint32 retry_for = 5; optional string description = 6; optional string label = 7; optional bool dev_use_shadow = 8; } message RenepayResponse { // RenePay.status enum RenepayStatus { COMPLETE = 0; PENDING = 1; FAILED = 2; } bytes payment_preimage = 1; bytes payment_hash = 2; double created_at = 3; uint32 parts = 4; Amount amount_msat = 5; Amount amount_sent_msat = 6; RenepayStatus status = 7; optional bytes destination = 8; } message ReserveinputsRequest { string psbt = 1; optional bool exclusive = 2; optional uint32 reserve = 3; } message ReserveinputsResponse { repeated ReserveinputsReservations reservations = 1; } message ReserveinputsReservations { bytes txid = 1; uint32 vout = 2; bool was_reserved = 3; bool reserved = 4; uint32 reserved_to_block = 5; } message SendcustommsgRequest { bytes node_id = 1; bytes msg = 2; } message SendcustommsgResponse { string status = 1; } message SendinvoiceRequest { string invreq = 1; string label = 2; optional Amount amount_msat = 3; optional uint32 timeout = 4; optional uint64 quantity = 5; } message SendinvoiceResponse { // SendInvoice.status enum SendinvoiceStatus { UNPAID = 0; PAID = 1; EXPIRED = 2; } string label = 1; string description = 2; bytes payment_hash = 3; SendinvoiceStatus status = 4; uint64 expires_at = 5; optional Amount amount_msat = 6; optional string bolt12 = 7; optional uint64 created_index = 8; optional uint64 updated_index = 9; optional uint64 pay_index = 10; optional Amount amount_received_msat = 11; optional uint64 paid_at = 12; optional bytes payment_preimage = 13; } message SendonionmessageRequest { bytes first_id = 1; bytes blinding = 2; repeated SendonionmessageHops hops = 3; } message SendonionmessageResponse { } message SendonionmessageHops { bytes node = 1; uint32 tlv = 2; } message SetchannelRequest { string id = 1; optional Amount feebase = 2; optional uint32 feeppm = 3; optional Amount htlcmin = 4; optional Amount htlcmax = 5; optional uint32 enforcedelay = 6; optional bool ignorefeelimits = 7; } message SetchannelResponse { repeated SetchannelChannels channels = 1; } message SetchannelChannels { bytes peer_id = 1; bytes channel_id = 2; optional string short_channel_id = 3; Amount fee_base_msat = 4; uint32 fee_proportional_millionths = 5; Amount minimum_htlc_out_msat = 6; optional string warning_htlcmin_too_low = 7; Amount maximum_htlc_out_msat = 8; optional string warning_htlcmax_too_high = 9; optional bool ignore_fee_limits = 10; } message SetconfigRequest { string config = 1; optional string val = 2; } message SetconfigResponse { SetconfigConfig config = 1; } message SetconfigConfig { string config = 1; string source = 2; optional string plugin = 3; bool dynamic = 4; optional bool set = 5; optional string value_str = 6; optional Amount value_msat = 7; optional sint64 value_int = 8; optional bool value_bool = 9; } message SetpsbtversionRequest { string psbt = 1; uint32 version = 2; } message SetpsbtversionResponse { string psbt = 1; } message SigninvoiceRequest { string invstring = 1; } message SigninvoiceResponse { string bolt11 = 1; } message SignmessageRequest { string message = 1; } message SignmessageResponse { bytes signature = 1; bytes recid = 2; string zbase = 3; } message Splice_initRequest { bytes channel_id = 1; sint64 relative_amount = 2; optional string initialpsbt = 3; optional uint32 feerate_per_kw = 4; optional bool force_feerate = 5; } message Splice_initResponse { string psbt = 1; } message Splice_signedRequest { bytes channel_id = 1; string psbt = 2; optional bool sign_first = 3; } message Splice_signedResponse { bytes tx = 1; bytes txid = 2; optional uint32 outnum = 3; } message Splice_updateRequest { bytes channel_id = 1; string psbt = 2; } message Splice_updateResponse { string psbt = 1; bool commitments_secured = 2; } message UnreserveinputsRequest { string psbt = 1; optional uint32 reserve = 2; } message UnreserveinputsResponse { repeated UnreserveinputsReservations reservations = 1; } message UnreserveinputsReservations { bytes txid = 1; uint32 vout = 2; bool was_reserved = 3; bool reserved = 4; optional uint32 reserved_to_block = 5; } message UpgradewalletRequest { optional Feerate feerate = 1; optional bool reservedok = 2; } message UpgradewalletResponse { optional uint64 upgraded_outs = 1; optional string psbt = 2; optional bytes tx = 3; optional bytes txid = 4; } message WaitblockheightRequest { uint32 blockheight = 1; optional uint32 timeout = 2; } message WaitblockheightResponse { uint32 blockheight = 1; } message WaitRequest { // Wait.subsystem enum WaitSubsystem { INVOICES = 0; FORWARDS = 1; SENDPAYS = 2; } // Wait.indexname enum WaitIndexname { CREATED = 0; UPDATED = 1; DELETED = 2; } WaitSubsystem subsystem = 1; WaitIndexname indexname = 2; uint64 nextvalue = 3; } message WaitResponse { // Wait.subsystem enum WaitSubsystem { INVOICES = 0; FORWARDS = 1; SENDPAYS = 2; } WaitSubsystem subsystem = 1; optional uint64 created = 2; optional uint64 updated = 3; optional uint64 deleted = 4; optional WaitDetails details = 5; } message WaitDetails { // Wait.details.status enum WaitDetailsStatus { UNPAID = 0; PAID = 1; EXPIRED = 2; PENDING = 3; FAILED = 4; COMPLETE = 5; OFFERED = 6; SETTLED = 7; LOCAL_FAILED = 8; } optional WaitDetailsStatus status = 1; optional string label = 2; optional string description = 3; optional string bolt11 = 4; optional string bolt12 = 5; optional uint64 partid = 6; optional uint64 groupid = 7; optional bytes payment_hash = 8; optional string in_channel = 9; optional uint64 in_htlc_id = 10; optional Amount in_msat = 11; optional string out_channel = 12; } message ListconfigsRequest { optional string config = 1; } message ListconfigsResponse { optional ListconfigsConfigs configs = 1; repeated ListconfigsPlugins plugins = 3; repeated ListconfigsImportantplugins important_plugins = 4; optional string conf = 5; optional string lightning_dir = 6; optional string network = 7; optional bool allow_deprecated_apis = 8; optional string rpc_file = 9; repeated string disable_plugin = 10; optional string bookkeeper_dir = 11; optional string bookkeeper_db = 12; optional bool always_use_proxy = 13; optional bool daemon = 14; optional string wallet = 15; optional bool large_channels = 16; optional bool experimental_dual_fund = 17; optional bool experimental_splicing = 18; optional bool experimental_onion_messages = 19; optional bool experimental_offers = 20; optional bool experimental_shutdown_wrong_funding = 21; optional bool experimental_peer_storage = 22; optional bool experimental_quiesce = 23; optional bool experimental_upgrade_protocol = 24; optional bool invoices_onchain_fallback = 25; optional bool database_upgrade = 26; optional bytes rgb = 27; optional string alias = 28; optional string pid_file = 29; optional bool ignore_fee_limits = 30; optional uint32 watchtime_blocks = 31; optional uint32 max_locktime_blocks = 32; optional uint32 funding_confirms = 33; optional uint32 cltv_delta = 34; optional uint32 cltv_final = 35; optional uint32 commit_time = 36; optional uint32 fee_base = 37; optional sint64 rescan = 38; optional uint32 fee_per_satoshi = 39; optional uint32 max_concurrent_htlcs = 40; optional Amount htlc_minimum_msat = 41; optional Amount htlc_maximum_msat = 42; optional Amount max_dust_htlc_exposure_msat = 43; optional uint64 min_capacity_sat = 44; optional string addr = 45; optional string announce_addr = 46; optional string bind_addr = 47; optional bool offline = 48; optional bool autolisten = 49; optional string proxy = 50; optional bool disable_dns = 51; optional string announce_addr_discovered = 52; optional sint64 announce_addr_discovered_port = 53; optional bool encrypted_hsm = 54; optional string rpc_file_mode = 55; optional string log_level = 56; optional string log_prefix = 57; optional string log_file = 58; optional bool log_timestamps = 59; optional string force_feerates = 60; optional string subdaemon = 61; optional bool fetchinvoice_noconnect = 62; optional string accept_htlc_tlv_types = 63; optional string tor_service_password = 64; optional bool dev_allowdustreserve = 65; optional bool announce_addr_dns = 66; optional bool require_confirmed_inputs = 67; optional bool developer = 68; optional uint64 commit_fee = 69; optional Amount min_emergency_msat = 70; optional uint32 commit_feerate_offset = 71; } message ListconfigsConfigs { optional ListconfigsConfigsConf conf = 1; optional ListconfigsConfigsDeveloper developer = 2; optional ListconfigsConfigsClearplugins clear_plugins = 3; optional ListconfigsConfigsDisablempp disable_mpp = 4; optional ListconfigsConfigsMainnet mainnet = 5; optional ListconfigsConfigsRegtest regtest = 6; optional ListconfigsConfigsSignet signet = 7; optional ListconfigsConfigsTestnet testnet = 8; optional ListconfigsConfigsImportantplugin important_plugin = 9; optional ListconfigsConfigsPlugin plugin = 10; optional ListconfigsConfigsPlugindir plugin_dir = 11; optional ListconfigsConfigsLightningdir lightning_dir = 12; optional ListconfigsConfigsNetwork network = 13; optional ListconfigsConfigsAllowdeprecatedapis allow_deprecated_apis = 14; optional ListconfigsConfigsRpcfile rpc_file = 15; optional ListconfigsConfigsDisableplugin disable_plugin = 16; optional ListconfigsConfigsAlwaysuseproxy always_use_proxy = 17; optional ListconfigsConfigsDaemon daemon = 18; optional ListconfigsConfigsWallet wallet = 19; optional ListconfigsConfigsLargechannels large_channels = 20; optional ListconfigsConfigsExperimentaldualfund experimental_dual_fund = 21; optional ListconfigsConfigsExperimentalsplicing experimental_splicing = 22; optional ListconfigsConfigsExperimentalonionmessages experimental_onion_messages = 23; optional ListconfigsConfigsExperimentaloffers experimental_offers = 24; optional ListconfigsConfigsExperimentalshutdownwrongfunding experimental_shutdown_wrong_funding = 25; optional ListconfigsConfigsExperimentalpeerstorage experimental_peer_storage = 26; optional ListconfigsConfigsExperimentalanchors experimental_anchors = 27; optional ListconfigsConfigsDatabaseupgrade database_upgrade = 28; optional ListconfigsConfigsRgb rgb = 29; optional ListconfigsConfigsAlias alias = 30; optional ListconfigsConfigsPidfile pid_file = 31; optional ListconfigsConfigsIgnorefeelimits ignore_fee_limits = 32; optional ListconfigsConfigsWatchtimeblocks watchtime_blocks = 33; optional ListconfigsConfigsMaxlocktimeblocks max_locktime_blocks = 34; optional ListconfigsConfigsFundingconfirms funding_confirms = 35; optional ListconfigsConfigsCltvdelta cltv_delta = 36; optional ListconfigsConfigsCltvfinal cltv_final = 37; optional ListconfigsConfigsCommittime commit_time = 38; optional ListconfigsConfigsFeebase fee_base = 39; optional ListconfigsConfigsRescan rescan = 40; optional ListconfigsConfigsFeepersatoshi fee_per_satoshi = 41; optional ListconfigsConfigsMaxconcurrenthtlcs max_concurrent_htlcs = 42; optional ListconfigsConfigsHtlcminimummsat htlc_minimum_msat = 43; optional ListconfigsConfigsHtlcmaximummsat htlc_maximum_msat = 44; optional ListconfigsConfigsMaxdusthtlcexposuremsat max_dust_htlc_exposure_msat = 45; optional ListconfigsConfigsMincapacitysat min_capacity_sat = 46; optional ListconfigsConfigsAddr addr = 47; optional ListconfigsConfigsAnnounceaddr announce_addr = 48; optional ListconfigsConfigsBindaddr bind_addr = 49; optional ListconfigsConfigsOffline offline = 50; optional ListconfigsConfigsAutolisten autolisten = 51; optional ListconfigsConfigsProxy proxy = 52; optional ListconfigsConfigsDisabledns disable_dns = 53; optional ListconfigsConfigsAnnounceaddrdiscovered announce_addr_discovered = 54; optional ListconfigsConfigsAnnounceaddrdiscoveredport announce_addr_discovered_port = 55; optional ListconfigsConfigsEncryptedhsm encrypted_hsm = 56; optional ListconfigsConfigsRpcfilemode rpc_file_mode = 57; optional ListconfigsConfigsLoglevel log_level = 58; optional ListconfigsConfigsLogprefix log_prefix = 59; optional ListconfigsConfigsLogfile log_file = 60; optional ListconfigsConfigsLogtimestamps log_timestamps = 61; optional ListconfigsConfigsForcefeerates force_feerates = 62; optional ListconfigsConfigsSubdaemon subdaemon = 63; optional ListconfigsConfigsFetchinvoicenoconnect fetchinvoice_noconnect = 64; optional ListconfigsConfigsAccepthtlctlvtypes accept_htlc_tlv_types = 65; optional ListconfigsConfigsTorservicepassword tor_service_password = 66; optional ListconfigsConfigsAnnounceaddrdns announce_addr_dns = 67; optional ListconfigsConfigsRequireconfirmedinputs require_confirmed_inputs = 68; optional ListconfigsConfigsCommitfee commit_fee = 69; optional ListconfigsConfigsCommitfeerateoffset commit_feerate_offset = 70; } message ListconfigsConfigsConf { // ListConfigs.configs.conf.source enum ListconfigsConfigsConfSource { CMDLINE = 0; } string value_str = 1; ListconfigsConfigsConfSource source = 2; } message ListconfigsConfigsDeveloper { bool set = 1; string source = 2; } message ListconfigsConfigsClearplugins { bool set = 1; string source = 2; } message ListconfigsConfigsDisablempp { bool set = 1; string source = 2; optional string plugin = 3; } message ListconfigsConfigsMainnet { bool set = 1; string source = 2; } message ListconfigsConfigsRegtest { bool set = 1; string source = 2; } message ListconfigsConfigsSignet { bool set = 1; string source = 2; } message ListconfigsConfigsTestnet { bool set = 1; string source = 2; } message ListconfigsConfigsImportantplugin { repeated string values_str = 1; repeated string sources = 2; } message ListconfigsConfigsPlugin { repeated string values_str = 1; repeated string sources = 2; } message ListconfigsConfigsPlugindir { repeated string values_str = 1; repeated string sources = 2; } message ListconfigsConfigsLightningdir { string value_str = 1; string source = 2; } message ListconfigsConfigsNetwork { string value_str = 1; string source = 2; } message ListconfigsConfigsAllowdeprecatedapis { bool value_bool = 1; string source = 2; } message ListconfigsConfigsRpcfile { string value_str = 1; string source = 2; } message ListconfigsConfigsDisableplugin { repeated string values_str = 1; repeated string sources = 2; } message ListconfigsConfigsAlwaysuseproxy { bool value_bool = 1; string source = 2; } message ListconfigsConfigsDaemon { bool set = 1; string source = 2; } message ListconfigsConfigsWallet { string value_str = 1; string source = 2; } message ListconfigsConfigsLargechannels { bool set = 1; string source = 2; } message ListconfigsConfigsExperimentaldualfund { bool set = 1; string source = 2; } message ListconfigsConfigsExperimentalsplicing { bool set = 1; string source = 2; } message ListconfigsConfigsExperimentalonionmessages { bool set = 1; string source = 2; } message ListconfigsConfigsExperimentaloffers { bool set = 1; string source = 2; } message ListconfigsConfigsExperimentalshutdownwrongfunding { bool set = 1; string source = 2; } message ListconfigsConfigsExperimentalpeerstorage { bool set = 1; string source = 2; } message ListconfigsConfigsExperimentalanchors { bool set = 1; string source = 2; } message ListconfigsConfigsDatabaseupgrade { bool value_bool = 1; string source = 2; } message ListconfigsConfigsRgb { bytes value_str = 1; string source = 2; } message ListconfigsConfigsAlias { string value_str = 1; string source = 2; } message ListconfigsConfigsPidfile { string value_str = 1; string source = 2; } message ListconfigsConfigsIgnorefeelimits { bool value_bool = 1; string source = 2; } message ListconfigsConfigsWatchtimeblocks { uint32 value_int = 1; string source = 2; } message ListconfigsConfigsMaxlocktimeblocks { uint32 value_int = 1; string source = 2; } message ListconfigsConfigsFundingconfirms { uint32 value_int = 1; string source = 2; } message ListconfigsConfigsCltvdelta { uint32 value_int = 1; string source = 2; } message ListconfigsConfigsCltvfinal { uint32 value_int = 1; string source = 2; } message ListconfigsConfigsCommittime { uint32 value_int = 1; string source = 2; } message ListconfigsConfigsFeebase { uint32 value_int = 1; string source = 2; } message ListconfigsConfigsRescan { sint64 value_int = 1; string source = 2; } message ListconfigsConfigsFeepersatoshi { uint32 value_int = 1; string source = 2; } message ListconfigsConfigsMaxconcurrenthtlcs { uint32 value_int = 1; string source = 2; } message ListconfigsConfigsHtlcminimummsat { Amount value_msat = 1; string source = 2; } message ListconfigsConfigsHtlcmaximummsat { Amount value_msat = 1; string source = 2; } message ListconfigsConfigsMaxdusthtlcexposuremsat { Amount value_msat = 1; string source = 2; } message ListconfigsConfigsMincapacitysat { uint64 value_int = 1; string source = 2; optional bool dynamic = 3; } message ListconfigsConfigsAddr { repeated string values_str = 1; repeated string sources = 2; } message ListconfigsConfigsAnnounceaddr { repeated string values_str = 1; repeated string sources = 2; } message ListconfigsConfigsBindaddr { repeated string values_str = 1; repeated string sources = 2; } message ListconfigsConfigsOffline { bool set = 1; string source = 2; } message ListconfigsConfigsAutolisten { bool value_bool = 1; string source = 2; } message ListconfigsConfigsProxy { string value_str = 1; string source = 2; } message ListconfigsConfigsDisabledns { bool set = 1; string source = 2; } message ListconfigsConfigsAnnounceaddrdiscovered { // ListConfigs.configs.announce-addr-discovered.value_str enum ListconfigsConfigsAnnounceaddrdiscoveredValue_str { TRUE = 0; FALSE = 1; AUTO = 2; } ListconfigsConfigsAnnounceaddrdiscoveredValue_str value_str = 1; string source = 2; } message ListconfigsConfigsAnnounceaddrdiscoveredport { uint32 value_int = 1; string source = 2; } message ListconfigsConfigsEncryptedhsm { bool set = 1; string source = 2; } message ListconfigsConfigsRpcfilemode { string value_str = 1; string source = 2; } message ListconfigsConfigsLoglevel { string value_str = 1; string source = 2; } message ListconfigsConfigsLogprefix { string value_str = 1; string source = 2; } message ListconfigsConfigsLogfile { repeated string values_str = 1; repeated string sources = 2; } message ListconfigsConfigsLogtimestamps { bool value_bool = 1; string source = 2; } message ListconfigsConfigsForcefeerates { string value_str = 1; string source = 2; } message ListconfigsConfigsSubdaemon { repeated string values_str = 1; repeated string sources = 2; } message ListconfigsConfigsFetchinvoicenoconnect { bool set = 1; string source = 2; optional string plugin = 3; } message ListconfigsConfigsAccepthtlctlvtypes { string value_str = 1; string source = 2; } message ListconfigsConfigsTorservicepassword { string value_str = 1; string source = 2; } message ListconfigsConfigsAnnounceaddrdns { bool value_bool = 1; string source = 2; } message ListconfigsConfigsRequireconfirmedinputs { bool value_bool = 1; string source = 2; } message ListconfigsConfigsCommitfee { uint64 value_int = 1; string source = 2; } message ListconfigsConfigsCommitfeerateoffset { uint32 value_int = 1; string source = 2; } message ListconfigsPlugins { string path = 1; string name = 2; optional ListconfigsPluginsOptions options = 3; } message ListconfigsPluginsOptions { } message ListconfigsImportantplugins { string path = 1; string name = 2; optional ListconfigsImportantpluginsOptions options = 3; } message ListconfigsImportantpluginsOptions { } message StopRequest { } message StopResponse { // Stop.result enum StopResult { SHUTDOWN_COMPLETE = 0; } optional StopResult result = 1; } message HelpRequest { optional string command = 1; } message HelpResponse { // Help.format-hint enum HelpFormathint { SIMPLE = 0; } repeated HelpHelp help = 1; optional HelpFormathint format_hint = 2; } message HelpHelp { string command = 1; string category = 2; string description = 3; string verbose = 4; } message PreapprovekeysendRequest { bytes destination = 1; bytes payment_hash = 2; Amount amount_msat = 3; } message PreapprovekeysendResponse { } message PreapproveinvoiceRequest { string bolt11 = 1; } message PreapproveinvoiceResponse { } message StaticbackupRequest { } message StaticbackupResponse { repeated bytes scb = 1; } message BkprchannelsapyRequest { optional uint64 start_time = 1; optional uint64 end_time = 2; } message BkprchannelsapyResponse { repeated BkprchannelsapyChannels_apy channels_apy = 1; } message BkprchannelsapyChannels_apy { string account = 1; Amount routed_out_msat = 2; Amount routed_in_msat = 3; Amount lease_fee_paid_msat = 4; Amount lease_fee_earned_msat = 5; Amount pushed_out_msat = 6; Amount pushed_in_msat = 7; Amount our_start_balance_msat = 8; Amount channel_start_balance_msat = 9; Amount fees_out_msat = 10; optional Amount fees_in_msat = 11; string utilization_out = 12; optional string utilization_out_initial = 13; string utilization_in = 14; optional string utilization_in_initial = 15; string apy_out = 16; optional string apy_out_initial = 17; string apy_in = 18; optional string apy_in_initial = 19; string apy_total = 20; optional string apy_total_initial = 21; optional string apy_lease = 22; } message BkprdumpincomecsvRequest { string csv_format = 1; optional string csv_file = 2; optional bool consolidate_fees = 3; optional uint64 start_time = 4; optional uint64 end_time = 5; } message BkprdumpincomecsvResponse { // Bkpr-DumpIncomeCsv.csv_format enum BkprdumpincomecsvCsv_format { COINTRACKER = 0; KOINLY = 1; HARMONY = 2; QUICKBOOKS = 3; } string csv_file = 1; BkprdumpincomecsvCsv_format csv_format = 2; } message BkprinspectRequest { string account = 1; } message BkprinspectResponse { repeated BkprinspectTxs txs = 1; } message BkprinspectTxs { bytes txid = 1; optional uint32 blockheight = 2; Amount fees_paid_msat = 3; repeated BkprinspectTxsOutputs outputs = 4; } message BkprinspectTxsOutputs { string account = 1; uint32 outnum = 2; Amount output_value_msat = 3; string currency = 4; optional Amount credit_msat = 5; optional Amount debit_msat = 6; optional string originating_account = 7; optional string output_tag = 8; optional string spend_tag = 9; optional bytes spending_txid = 10; optional bytes payment_id = 11; } message BkprlistaccounteventsRequest { optional string account = 1; } message BkprlistaccounteventsResponse { repeated BkprlistaccounteventsEvents events = 1; } message BkprlistaccounteventsEvents { // Bkpr-ListAccountEvents.events[].type enum BkprlistaccounteventsEventsType { ONCHAIN_FEE = 0; CHAIN = 1; CHANNEL = 2; } string account = 1; BkprlistaccounteventsEventsType item_type = 2; string tag = 3; Amount credit_msat = 4; Amount debit_msat = 5; string currency = 6; uint32 timestamp = 7; optional string outpoint = 8; optional uint32 blockheight = 9; optional string origin = 10; optional bytes payment_id = 11; optional bytes txid = 12; optional string description = 13; optional Amount fees_msat = 14; optional bool is_rebalance = 15; optional uint32 part_id = 16; } message BkprlistbalancesRequest { } message BkprlistbalancesResponse { repeated BkprlistbalancesAccounts accounts = 1; } message BkprlistbalancesAccounts { string account = 1; repeated BkprlistbalancesAccountsBalances balances = 2; optional bytes peer_id = 3; optional bool we_opened = 4; optional bool account_closed = 5; optional bool account_resolved = 6; optional uint32 resolved_at_block = 7; } message BkprlistbalancesAccountsBalances { Amount balance_msat = 1; string coin_type = 2; } message BkprlistincomeRequest { optional bool consolidate_fees = 1; optional uint32 start_time = 2; optional uint32 end_time = 3; } message BkprlistincomeResponse { repeated BkprlistincomeIncome_events income_events = 1; } message BkprlistincomeIncome_events { string account = 1; string tag = 2; Amount credit_msat = 3; Amount debit_msat = 4; string currency = 5; uint32 timestamp = 6; optional string description = 7; optional string outpoint = 8; optional bytes txid = 9; optional bytes payment_id = 10; } message BlacklistruneRequest { optional uint64 start = 1; optional uint64 end = 2; } message BlacklistruneResponse { repeated BlacklistruneBlacklist blacklist = 1; } message BlacklistruneBlacklist { uint64 start = 1; uint64 end = 2; } message CheckruneRequest { string rune = 1; optional string nodeid = 2; optional string method = 3; repeated string params = 4; } message CheckruneResponse { bool valid = 1; } message CreateruneRequest { optional string rune = 1; repeated string restrictions = 2; } message CreateruneResponse { string rune = 1; string unique_id = 2; optional string warning_unrestricted_rune = 3; } message ShowrunesRequest { optional string rune = 1; } message ShowrunesResponse { repeated ShowrunesRunes runes = 1; } message ShowrunesRunes { string rune = 1; string unique_id = 2; repeated ShowrunesRunesRestrictions restrictions = 3; string restrictions_as_english = 4; optional bool stored = 5; optional bool blacklisted = 6; optional double last_used = 7; optional bool our_rune = 8; } message ShowrunesRunesRestrictions { repeated ShowrunesRunesRestrictionsAlternatives alternatives = 1; string english = 2; } message ShowrunesRunesRestrictionsAlternatives { string fieldname = 1; string value = 2; string condition = 3; string english = 4; } message StreamBlockAddedRequest { } message BlockAddedNotification { bytes hash = 1; uint32 height = 2; } message StreamChannelOpenFailedRequest { } message ChannelOpenFailedNotification { bytes channel_id = 1; } message StreamChannelOpenedRequest { } message ChannelOpenedNotification { bytes id = 1; Amount funding_msat = 2; bytes funding_txid = 3; bool channel_ready = 4; } message StreamConnectRequest { } message PeerConnectNotification { // connect.direction enum PeerConnectDirection { IN = 0; OUT = 1; } bytes id = 1; PeerConnectDirection direction = 2; PeerConnectAddress address = 3; } message PeerConnectAddress { // connect.address.type enum PeerConnectAddressType { LOCAL_SOCKET = 0; IPV4 = 1; IPV6 = 2; TORV2 = 3; TORV3 = 4; } PeerConnectAddressType item_type = 1; optional string socket = 2; optional string address = 3; optional uint32 port = 4; } message StreamCustomMsgRequest { } message CustomMsgNotification { bytes peer_id = 1; bytes payload = 2; }