{ "swagger": "2.0", "info": { "title": "rpc.proto", "version": "version not set" }, "schemes": [ "http", "https" ], "consumes": [ "application/json" ], "produces": [ "application/json" ], "paths": { "/v1/balance/blockchain": { "get": { "operationId": "WalletBalance", "responses": { "200": { "description": "", "schema": { "$ref": "#/definitions/lnrpcWalletBalanceResponse" } } }, "parameters": [ { "name": "witness_only", "in": "query", "required": false, "type": "boolean", "format": "boolean" } ], "tags": [ "Lightning" ] } }, "/v1/balance/channels": { "get": { "operationId": "ChannelBalance", "responses": { "200": { "description": "", "schema": { "$ref": "#/definitions/lnrpcChannelBalanceResponse" } } }, "tags": [ "Lightning" ] } }, "/v1/channels": { "get": { "operationId": "ListChannels", "responses": { "200": { "description": "", "schema": { "$ref": "#/definitions/lnrpcListChannelsResponse" } } }, "tags": [ "Lightning" ] }, "post": { "operationId": "OpenChannelSync", "responses": { "200": { "description": "", "schema": { "$ref": "#/definitions/lnrpcChannelPoint" } } }, "parameters": [ { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/lnrpcOpenChannelRequest" } } ], "tags": [ "Lightning" ] } }, "/v1/channels/pending": { "get": { "summary": "TODO(roasbeef): merge with below with bool?", "operationId": "PendingChannels", "responses": { "200": { "description": "", "schema": { "$ref": "#/definitions/lnrpcPendingChannelResponse" } } }, "parameters": [ { "name": "status", "in": "query", "required": false, "type": "string", "enum": [ "ALL", "OPENING", "CLOSING" ], "default": "ALL" } ], "tags": [ "Lightning" ] } }, "/v1/channels/transactions": { "post": { "operationId": "SendPaymentSync", "responses": { "200": { "description": "", "schema": { "$ref": "#/definitions/lnrpcSendResponse" } } }, "parameters": [ { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/lnrpcSendRequest" } } ], "tags": [ "Lightning" ] } }, "/v1/channels/{channel_point.funding_txid}/{channel_point.output_index}/{force}": { "delete": { "operationId": "CloseChannel", "responses": { "200": { "description": "(streaming responses)", "schema": { "$ref": "#/definitions/lnrpcCloseStatusUpdate" } } }, "parameters": [ { "name": "channel_point.funding_txid", "in": "path", "required": true, "type": "string", "format": "byte" }, { "name": "channel_point.output_index", "in": "path", "required": true, "type": "integer", "format": "int64" }, { "name": "force", "in": "path", "required": true, "type": "boolean", "format": "boolean" } ], "tags": [ "Lightning" ] } }, "/v1/getinfo": { "get": { "operationId": "GetInfo", "responses": { "200": { "description": "", "schema": { "$ref": "#/definitions/lnrpcGetInfoResponse" } } }, "tags": [ "Lightning" ] } }, "/v1/graph": { "get": { "operationId": "DescribeGraph", "responses": { "200": { "description": "", "schema": { "$ref": "#/definitions/lnrpcChannelGraph" } } }, "tags": [ "Lightning" ] } }, "/v1/graph/edge/{chan_id}": { "get": { "operationId": "GetChanInfo", "responses": { "200": { "description": "", "schema": { "$ref": "#/definitions/lnrpcChannelEdge" } } }, "parameters": [ { "name": "chan_id", "in": "path", "required": true, "type": "string", "format": "uint64" } ], "tags": [ "Lightning" ] } }, "/v1/graph/info": { "get": { "operationId": "GetNetworkInfo", "responses": { "200": { "description": "", "schema": { "$ref": "#/definitions/lnrpcNetworkInfo" } } }, "tags": [ "Lightning" ] } }, "/v1/graph/node/{pub_key}": { "get": { "operationId": "GetNodeInfo", "responses": { "200": { "description": "", "schema": { "$ref": "#/definitions/lnrpcNodeInfo" } } }, "parameters": [ { "name": "pub_key", "in": "path", "required": true, "type": "string" } ], "tags": [ "Lightning" ] } }, "/v1/graph/route/{pub_key}/{amt}": { "get": { "operationId": "QueryRoute", "responses": { "200": { "description": "", "schema": { "$ref": "#/definitions/lnrpcRoute" } } }, "parameters": [ { "name": "pub_key", "in": "path", "required": true, "type": "string" }, { "name": "amt", "in": "path", "required": true, "type": "string", "format": "int64" } ], "tags": [ "Lightning" ] } }, "/v1/invoices": { "post": { "operationId": "AddInvoice", "responses": { "200": { "description": "", "schema": { "$ref": "#/definitions/lnrpcAddInvoiceResponse" } } }, "parameters": [ { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/lnrpcInvoice" } } ], "tags": [ "Lightning" ] } }, "/v1/invoices/subscribe": { "get": { "operationId": "SubscribeInvoices", "responses": { "200": { "description": "(streaming responses)", "schema": { "$ref": "#/definitions/lnrpcInvoice" } } }, "tags": [ "Lightning" ] } }, "/v1/invoices/{pending_only}": { "get": { "operationId": "ListInvoices", "responses": { "200": { "description": "", "schema": { "$ref": "#/definitions/lnrpcListInvoiceResponse" } } }, "parameters": [ { "name": "pending_only", "in": "path", "required": true, "type": "boolean", "format": "boolean" } ], "tags": [ "Lightning" ] } }, "/v1/invoices/{r_hash_str}": { "get": { "operationId": "LookupInvoice", "responses": { "200": { "description": "", "schema": { "$ref": "#/definitions/lnrpcInvoice" } } }, "parameters": [ { "name": "r_hash_str", "in": "path", "required": true, "type": "string" }, { "name": "r_hash", "in": "query", "required": false, "type": "string", "format": "byte" } ], "tags": [ "Lightning" ] } }, "/v1/newaddress": { "get": { "operationId": "NewWitnessAddress", "responses": { "200": { "description": "", "schema": { "$ref": "#/definitions/lnrpcNewAddressResponse" } } }, "tags": [ "Lightning" ] } }, "/v1/payments": { "get": { "operationId": "ListPayments", "responses": { "200": { "description": "", "schema": { "$ref": "#/definitions/lnrpcListPaymentsResponse" } } }, "tags": [ "Lightning" ] }, "delete": { "operationId": "DeleteAllPayments", "responses": { "200": { "description": "", "schema": { "$ref": "#/definitions/lnrpcDeleteAllPaymentsResponse" } } }, "tags": [ "Lightning" ] } }, "/v1/payreq/{pay_req}": { "get": { "operationId": "DecodePayReq", "responses": { "200": { "description": "", "schema": { "$ref": "#/definitions/lnrpcPayReq" } } }, "parameters": [ { "name": "pay_req", "in": "path", "required": true, "type": "string" } ], "tags": [ "Lightning" ] } }, "/v1/peers": { "get": { "operationId": "ListPeers", "responses": { "200": { "description": "", "schema": { "$ref": "#/definitions/lnrpcListPeersResponse" } } }, "tags": [ "Lightning" ] }, "post": { "operationId": "ConnectPeer", "responses": { "200": { "description": "", "schema": { "$ref": "#/definitions/lnrpcConnectPeerResponse" } } }, "parameters": [ { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/lnrpcConnectPeerRequest" } } ], "tags": [ "Lightning" ] } }, "/v1/transactions": { "get": { "operationId": "GetTransactions", "responses": { "200": { "description": "", "schema": { "$ref": "#/definitions/lnrpcTransactionDetails" } } }, "tags": [ "Lightning" ] }, "post": { "operationId": "SendCoins", "responses": { "200": { "description": "", "schema": { "$ref": "#/definitions/lnrpcSendCoinsResponse" } } }, "parameters": [ { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/lnrpcSendCoinsRequest" } } ], "tags": [ "Lightning" ] } } }, "definitions": { "NewAddressRequestAddressType": { "type": "string", "enum": [ "WITNESS_PUBKEY_HASH", "NESTED_PUBKEY_HASH", "PUBKEY_HASH" ], "default": "WITNESS_PUBKEY_HASH" }, "PendingChannelResponsePendingChannel": { "type": "object", "properties": { "identity_key": { "type": "string" }, "channel_point": { "type": "string" }, "capacity": { "type": "string", "format": "int64" }, "local_balance": { "type": "string", "format": "int64" }, "remote_balance": { "type": "string", "format": "int64" }, "closing_txid": { "type": "string" }, "status": { "$ref": "#/definitions/lnrpcChannelStatus" } } }, "lnrpcActiveChannel": { "type": "object", "properties": { "active": { "type": "boolean", "format": "boolean" }, "remote_pubkey": { "type": "string" }, "channel_point": { "type": "string" }, "chan_id": { "type": "string", "format": "uint64" }, "capacity": { "type": "string", "format": "int64" }, "local_balance": { "type": "string", "format": "int64" }, "remote_balance": { "type": "string", "format": "int64" }, "unsettled_balance": { "type": "string", "format": "int64" }, "total_satoshis_sent": { "type": "string", "format": "int64" }, "total_satoshis_received": { "type": "string", "format": "int64" }, "num_updates": { "type": "string", "format": "uint64" }, "pending_htlcs": { "type": "array", "items": { "$ref": "#/definitions/lnrpcHTLC" } } } }, "lnrpcAddInvoiceResponse": { "type": "object", "properties": { "r_hash": { "type": "string", "format": "byte" }, "payment_request": { "type": "string" } } }, "lnrpcChanInfoRequest": { "type": "object", "properties": { "chan_id": { "type": "string", "format": "uint64" } } }, "lnrpcChannelBalanceRequest": { "type": "object" }, "lnrpcChannelBalanceResponse": { "type": "object", "properties": { "balance": { "type": "string", "format": "int64" } } }, "lnrpcChannelCloseUpdate": { "type": "object", "properties": { "closing_txid": { "type": "string", "format": "byte" }, "success": { "type": "boolean", "format": "boolean" } } }, "lnrpcChannelEdge": { "type": "object", "properties": { "channel_id": { "type": "string", "format": "uint64" }, "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" } } }, "lnrpcChannelEdgeUpdate": { "type": "object", "properties": { "chan_id": { "type": "string", "format": "uint64" }, "chan_point": { "$ref": "#/definitions/lnrpcChannelPoint" }, "capacity": { "type": "string", "format": "int64" }, "routing_policy": { "$ref": "#/definitions/lnrpcRoutingPolicy" }, "advertising_node": { "type": "string" }, "connecting_node": { "type": "string" } } }, "lnrpcChannelGraph": { "type": "object", "properties": { "nodes": { "type": "array", "items": { "$ref": "#/definitions/lnrpcLightningNode" } }, "edges": { "type": "array", "items": { "$ref": "#/definitions/lnrpcChannelEdge" } } } }, "lnrpcChannelGraphRequest": { "type": "object" }, "lnrpcChannelOpenUpdate": { "type": "object", "properties": { "channel_point": { "$ref": "#/definitions/lnrpcChannelPoint" } } }, "lnrpcChannelPoint": { "type": "object", "properties": { "funding_txid": { "type": "string", "format": "byte", "title": "TODO(roasbeef): make str vs bytes into a oneof" }, "funding_txid_str": { "type": "string" }, "output_index": { "type": "integer", "format": "int64" } } }, "lnrpcChannelStatus": { "type": "string", "enum": [ "ALL", "OPENING", "CLOSING" ], "default": "ALL" }, "lnrpcCloseChannelRequest": { "type": "object", "properties": { "channel_point": { "$ref": "#/definitions/lnrpcChannelPoint" }, "time_limit": { "type": "string", "format": "int64" }, "force": { "type": "boolean", "format": "boolean" } } }, "lnrpcCloseStatusUpdate": { "type": "object", "properties": { "close_pending": { "$ref": "#/definitions/lnrpcPendingUpdate" }, "confirmation": { "$ref": "#/definitions/lnrpcConfirmationUpdate" }, "chan_close": { "$ref": "#/definitions/lnrpcChannelCloseUpdate" } } }, "lnrpcClosedChannelUpdate": { "type": "object", "properties": { "chan_id": { "type": "string", "format": "uint64" }, "capacity": { "type": "string", "format": "int64" }, "closed_height": { "type": "integer", "format": "int64" }, "chan_point": { "$ref": "#/definitions/lnrpcChannelPoint" } } }, "lnrpcConfirmationUpdate": { "type": "object", "properties": { "block_sha": { "type": "string", "format": "byte" }, "block_height": { "type": "integer", "format": "int32" }, "num_confs_left": { "type": "integer", "format": "int64" } } }, "lnrpcConnectPeerRequest": { "type": "object", "properties": { "addr": { "$ref": "#/definitions/lnrpcLightningAddress" }, "perm": { "type": "boolean", "format": "boolean" } } }, "lnrpcConnectPeerResponse": { "type": "object", "properties": { "peer_id": { "type": "integer", "format": "int32" } } }, "lnrpcDebugLevelRequest": { "type": "object", "properties": { "show": { "type": "boolean", "format": "boolean" }, "level_spec": { "type": "string" } } }, "lnrpcDebugLevelResponse": { "type": "object", "properties": { "sub_systems": { "type": "string" } } }, "lnrpcDeleteAllPaymentsRequest": { "type": "object" }, "lnrpcDeleteAllPaymentsResponse": { "type": "object" }, "lnrpcGetInfoRequest": { "type": "object" }, "lnrpcGetInfoResponse": { "type": "object", "properties": { "identity_pubkey": { "type": "string" }, "alias": { "type": "string" }, "num_pending_channels": { "type": "integer", "format": "int64" }, "num_active_channels": { "type": "integer", "format": "int64" }, "num_peers": { "type": "integer", "format": "int64" }, "block_height": { "type": "integer", "format": "int64" }, "block_hash": { "type": "string" }, "synced_to_chain": { "type": "boolean", "format": "boolean" }, "testnet": { "type": "boolean", "format": "boolean" } } }, "lnrpcGetTransactionsRequest": { "type": "object" }, "lnrpcGraphTopologySubscription": { "type": "object" }, "lnrpcGraphTopologyUpdate": { "type": "object", "properties": { "node_updates": { "type": "array", "items": { "$ref": "#/definitions/lnrpcNodeUpdate" } }, "channel_updates": { "type": "array", "items": { "$ref": "#/definitions/lnrpcChannelEdgeUpdate" } }, "closed_chans": { "type": "array", "items": { "$ref": "#/definitions/lnrpcClosedChannelUpdate" } } } }, "lnrpcHTLC": { "type": "object", "properties": { "incoming": { "type": "boolean", "format": "boolean" }, "amount": { "type": "string", "format": "int64" }, "hash_lock": { "type": "string", "format": "byte" }, "expiration_height": { "type": "integer", "format": "int64" }, "revocation_delay": { "type": "integer", "format": "int64" } } }, "lnrpcHop": { "type": "object", "properties": { "chan_id": { "type": "string", "format": "uint64" }, "chan_capacity": { "type": "string", "format": "int64" }, "amt_to_forward": { "type": "string", "format": "int64" }, "fee": { "type": "string", "format": "int64" } } }, "lnrpcInvoice": { "type": "object", "properties": { "memo": { "type": "string" }, "receipt": { "type": "string", "format": "byte" }, "r_preimage": { "type": "string", "format": "byte" }, "r_hash": { "type": "string", "format": "byte" }, "value": { "type": "string", "format": "int64" }, "settled": { "type": "boolean", "format": "boolean" }, "creation_date": { "type": "string", "format": "int64" }, "settle_date": { "type": "string", "format": "int64" }, "payment_request": { "type": "string" } } }, "lnrpcInvoiceSubscription": { "type": "object" }, "lnrpcLightningAddress": { "type": "object", "properties": { "pubkey": { "type": "string" }, "host": { "type": "string" } } }, "lnrpcLightningNode": { "type": "object", "properties": { "last_update": { "type": "integer", "format": "int64" }, "pub_key": { "type": "string" }, "address": { "type": "string" }, "alias": { "type": "string" } } }, "lnrpcListChannelsRequest": { "type": "object" }, "lnrpcListChannelsResponse": { "type": "object", "properties": { "channels": { "type": "array", "items": { "$ref": "#/definitions/lnrpcActiveChannel" } } } }, "lnrpcListInvoiceRequest": { "type": "object", "properties": { "pending_only": { "type": "boolean", "format": "boolean" } } }, "lnrpcListInvoiceResponse": { "type": "object", "properties": { "invoices": { "type": "array", "items": { "$ref": "#/definitions/lnrpcInvoice" } } } }, "lnrpcListPaymentsRequest": { "type": "object" }, "lnrpcListPaymentsResponse": { "type": "object", "properties": { "payments": { "type": "array", "items": { "$ref": "#/definitions/lnrpcPayment" } } } }, "lnrpcListPeersRequest": { "type": "object" }, "lnrpcListPeersResponse": { "type": "object", "properties": { "peers": { "type": "array", "items": { "$ref": "#/definitions/lnrpcPeer" } } } }, "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" } } }, "lnrpcNetworkInfoRequest": { "type": "object" }, "lnrpcNewAddressRequest": { "type": "object", "properties": { "type": { "$ref": "#/definitions/NewAddressRequestAddressType" } } }, "lnrpcNewAddressResponse": { "type": "object", "properties": { "address": { "type": "string" } } }, "lnrpcNewWitnessAddressRequest": { "type": "object" }, "lnrpcNodeInfo": { "type": "object", "properties": { "node": { "$ref": "#/definitions/lnrpcLightningNode" }, "num_channels": { "type": "integer", "format": "int64" }, "total_capacity": { "type": "string", "format": "int64" } } }, "lnrpcNodeInfoRequest": { "type": "object", "properties": { "pub_key": { "type": "string" } } }, "lnrpcNodeUpdate": { "type": "object", "properties": { "addresses": { "type": "array", "items": { "type": "string" } }, "identity_key": { "type": "string" }, "global_features": { "type": "string", "format": "byte" }, "alias": { "type": "string" } } }, "lnrpcOpenChannelRequest": { "type": "object", "properties": { "target_peer_id": { "type": "integer", "format": "int32" }, "node_pubkey": { "type": "string", "format": "byte" }, "node_pubkey_string": { "type": "string" }, "local_funding_amount": { "type": "string", "format": "int64" }, "push_sat": { "type": "string", "format": "int64" }, "num_confs": { "type": "integer", "format": "int64" } } }, "lnrpcOpenStatusUpdate": { "type": "object", "properties": { "chan_pending": { "$ref": "#/definitions/lnrpcPendingUpdate" }, "confirmation": { "$ref": "#/definitions/lnrpcConfirmationUpdate" }, "chan_open": { "$ref": "#/definitions/lnrpcChannelOpenUpdate" } } }, "lnrpcPayReq": { "type": "object", "properties": { "destination": { "type": "string" }, "payment_hash": { "type": "string" }, "num_satoshis": { "type": "string", "format": "int64" } } }, "lnrpcPayReqString": { "type": "object", "properties": { "pay_req": { "type": "string" } } }, "lnrpcPayment": { "type": "object", "properties": { "payment_hash": { "type": "string" }, "value": { "type": "string", "format": "int64" }, "creation_date": { "type": "string", "format": "int64" }, "path": { "type": "array", "items": { "type": "string" } }, "fee": { "type": "string", "format": "int64" } } }, "lnrpcPaymentHash": { "type": "object", "properties": { "r_hash_str": { "type": "string" }, "r_hash": { "type": "string", "format": "byte" } } }, "lnrpcPeer": { "type": "object", "properties": { "pub_key": { "type": "string" }, "peer_id": { "type": "integer", "format": "int32" }, "address": { "type": "string" }, "bytes_sent": { "type": "string", "format": "uint64" }, "bytes_recv": { "type": "string", "format": "uint64" }, "sat_sent": { "type": "string", "format": "int64" }, "sat_recv": { "type": "string", "format": "int64" }, "inbound": { "type": "boolean", "format": "boolean" }, "ping_time": { "type": "string", "format": "int64" } } }, "lnrpcPendingChannelRequest": { "type": "object", "properties": { "status": { "$ref": "#/definitions/lnrpcChannelStatus" } } }, "lnrpcPendingChannelResponse": { "type": "object", "properties": { "pending_channels": { "type": "array", "items": { "$ref": "#/definitions/PendingChannelResponsePendingChannel" } } } }, "lnrpcPendingUpdate": { "type": "object", "properties": { "txid": { "type": "string", "format": "byte" }, "output_index": { "type": "integer", "format": "int64" } } }, "lnrpcRoute": { "type": "object", "properties": { "total_time_lock": { "type": "integer", "format": "int64" }, "total_fees": { "type": "string", "format": "int64" }, "total_amt": { "type": "string", "format": "int64" }, "hops": { "type": "array", "items": { "$ref": "#/definitions/lnrpcHop" } } } }, "lnrpcRouteRequest": { "type": "object", "properties": { "pub_key": { "type": "string" }, "amt": { "type": "string", "format": "int64" } } }, "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" } } }, "lnrpcSendCoinsRequest": { "type": "object", "properties": { "addr": { "type": "string" }, "amount": { "type": "string", "format": "int64" } } }, "lnrpcSendCoinsResponse": { "type": "object", "properties": { "txid": { "type": "string" } } }, "lnrpcSendManyRequest": { "type": "object", "properties": { "AddrToAmount": { "type": "object", "additionalProperties": { "type": "string", "format": "int64" } } } }, "lnrpcSendManyResponse": { "type": "object", "properties": { "txid": { "type": "string" } } }, "lnrpcSendRequest": { "type": "object", "properties": { "dest": { "type": "string", "format": "byte" }, "dest_string": { "type": "string" }, "amt": { "type": "string", "format": "int64" }, "payment_hash": { "type": "string", "format": "byte" }, "payment_hash_string": { "type": "string" }, "payment_request": { "type": "string" } } }, "lnrpcSendResponse": { "type": "object", "properties": { "payment_preimage": { "type": "string", "format": "byte" }, "payment_route": { "$ref": "#/definitions/lnrpcRoute" } } }, "lnrpcSetAliasRequest": { "type": "object", "properties": { "new_alias": { "type": "string" } } }, "lnrpcSetAliasResponse": { "type": "object" }, "lnrpcTransaction": { "type": "object", "properties": { "tx_hash": { "type": "string" }, "amount": { "type": "number", "format": "double" }, "num_confirmations": { "type": "integer", "format": "int32" }, "block_hash": { "type": "string" }, "block_height": { "type": "integer", "format": "int32" }, "time_stamp": { "type": "string", "format": "int64" }, "total_fees": { "type": "string", "format": "int64" } } }, "lnrpcTransactionDetails": { "type": "object", "properties": { "transactions": { "type": "array", "items": { "$ref": "#/definitions/lnrpcTransaction" } } } }, "lnrpcWalletBalanceRequest": { "type": "object", "properties": { "witness_only": { "type": "boolean", "format": "boolean" } } }, "lnrpcWalletBalanceResponse": { "type": "object", "properties": { "balance": { "type": "number", "format": "double" } } } } }