Lightning Network Channels
Lightning methods are currently only available using the native Komodo DeFi Framework. WASM support should be available in late 2023.
The lightning::channels::open_channel
method opens a new channel with a remote node.
Parameter | Type | Description |
---|---|---|
coin | string | The ticker of the coin you would like to open a channel for. |
node_address | string | Lightning node addresses always have a format of node_pubkey @ip_address :port . |
amount | object | A standard LightningChannelAmount object. |
push_msat | integer | Optional. The amount in millisatoshi to push to the counterparty while openning, to create inbound liquidity for the channel. Using the push_msat parameter avoids having to send funds in a separate request later. Please note that the funds given using push_msat is given unconditionally, meaning that there is no proof of payment in a preimage as with paying an invoice. |
channel_options | object | Optional. A standard LightningChannelOptions object. |
channel_configs | object | Optional. A standard LightningChannelConfig object. |
{
"userpass": "RPC_UserP@SSW0RD",
"mmrpc": "2.0",
"method": "lightning::channels::open_channel",
"params": {
"coin": "tBTC-lightning",
"node_address": "038863cf8ab91046230f561cd5b386cbff8309fa02e3f0c3ed161a3aeb64a643b9@203.132.94.196:9735",
"amount": {
"type": "Exact",
"value": 0.004
}
},
"id": 22
}
{
"mmrpc": "2.0",
"result": {
"uuid": "434681f8-95e5-484f-af49-fa80d8ae857b",
"node_address": "038863cf8ab91046230f561cd5b386cbff8309fa02e3f0c3ed161a3aeb64a643b9@233.112.95.142:9735"
},
"id": 22
}
{
"userpass": "RPC_UserP@SSW0RD",
"mmrpc": "2.0",
"method": "lightning::channels::open_channel",
"params": {
"coin": "tBTC-lightning",
"node_address": "038863cf8ab91046230f561cd5b386cbff8309fa02e3f0c3ed161a3aeb64a643b9@203.132.94.196:9735",
"amount": {
"type": "Max"
},
"push_msat": 0,
"channel_options": {
"proportional_fee_in_millionths_sats": 0,
"base_fee_msat": 1000,
"cltv_expiry_delta": 72,
"max_dust_htlc_exposure_msat": 5000000,
"force_close_avoidance_max_fee_satoshis": 1000
},
"channel_configs": {
"counterparty_locktime": 144,
"our_htlc_minimum_msat": 1,
"negotiate_scid_privacy": false,
"max_inbound_in_flight_htlc_percent": 10,
"commit_upfront_shutdown_pubkey": true,
"inbound_channels_confirmations": 3,
"their_channel_reserve_sats": 10000
}
},
"id": null
}
{
"mmrpc": "2.0",
"result": {
"uuid": "2b50e274-c173-4fa1-95f3-97f9f82ace92",
"node_address": "038863cf8ab91046230f561cd5b386cbff8309fa02e3f0c3ed161a3aeb64a643b9@203.132.94.196:9735"
},
"id": null
}
The lightning::channels::close_channel
method closes a channel with a remote node.
Parameter | Type | Description |
---|---|---|
coin | string | The ticker of the coin you would like to close a channel for. |
uuid | string | Unique channel identifier. |
force_close | boolean | Optional, defaults to false . If true , will force closure of the channel. |
It is not recommended to force close a channel unless the counterparty is offline or unreachable for a long time.
Force closure of a channel will makeresult in the party who initiates the force closure to wait for a number of blocks (equal to the force_close_spend_delay
value returned by lightning::channels::get_channel_details) before they can get their funds on chain.
{
"userpass": "RPC_UserP@SSW0RD",
"mmrpc": "2.0",
"method": "lightning::channels::close_channel",
"params": {
"coin": "tBTC-lightning",
"uuid": "2b50e274-c173-4fa1-95f3-97f9f82ace92",
"force_close": true
},
"id": 8
}
{
"mmrpc": "2.0",
"result": "Initiated closing of channel with uuid: 2b50e274-c173-4fa1-95f3-97f9f82ace92",
"id": 8
}
To see if the channel is closed or not, use the lightning::channels::get_channel_details method.
{
"mmrpc": "2.0",
"error": "Error parsing request: missing field `uuid`",
"error_path": "dispatcher",
"error_trace": "dispatcher:109]",
"error_type": "InvalidRequest",
"error_data": "missing field `uuid`",
"id": 8
}
{
"mmrpc": "2.0",
"error": "No such channel with uuid 2b50e274-c173-4fa1-95f3-97f9f82ace92",
"error_path": "close_channel",
"error_trace": "close_channel:55]",
"error_type": "NoSuchChannel",
"error_data": "2b50e274-c173-4fa1-95f3-97f9f82ace92",
"id": 8
}
The lightning::channels::update_channel
method updates channel options.
Parameter | Type | Description |
---|---|---|
coin | string | The ticker of the coin you would like to update channel configuration options for. |
uuid | string | Unique channel identifier. |
channel_options | object | A standard LightningChannelOptions object. |
{
"userpass": "RPC_UserP@SSW0RD",
"mmrpc": "2.0",
"method": "lightning::channels::update_channel",
"params": {
"coin": "tBTC-lightning",
"uuid": "434681f8-95e5-484f-af49-fa80d8ae857b",
"channel_options": {
"proportional_fee_in_millionths_sats": 1,
"base_fee_msat": 1100,
"cltv_expiry_delta": 72,
"max_dust_htlc_exposure_msat": 5000000,
"force_close_avoidance_max_fee_satoshis": 1000
}
},
"id": 2
}
{
"mmrpc": "2.0",
"result": {
"channel_options": {
"proportional_fee_in_millionths_sats": 1,
"base_fee_msat": 1100,
"cltv_expiry_delta": 72,
"max_dust_htlc_exposure_msat": 5000000,
"force_close_avoidance_max_fee_sats": null
}
},
"id": 2
}
Channel with the given uuid is not foun on the lightning network.
{
"mmrpc": "2.0",
"error": "No such channel with uuid dc33b998-8589-44fd-a246-256a582e8942",
"error_path": "update_channel",
"error_trace": "update_channel:61]",
"error_type": "NoSuchChannel",
"error_data": "dc33b998-8589-44fd-a246-256a582e8942",
"id": 2
}
The lightning::channels::get_channel_details
method returns details about a channel.
Parameter | Type | Description |
---|---|---|
coin | string | The ticker of the coin you would like to view channel details for. |
uuid | string | Unique channel identifier. |
{
"userpass": "RPC_UserP@SSW0RD",
"mmrpc": "2.0",
"method": "lightning::channels::get_channel_details",
"params": {
"coin": "tBTC-lightning",
"uuid": "2b50e274-c173-4fa1-95f3-97f9f82ace92"
},
"id": 54
}
The response will vary depending on whether the channel status is open
or closed
.
{
"mmrpc": "2.0",
"result": {
"status": "Open",
"details": {
"uuid": "2b50e274-c173-4fa1-95f3-97f9f82ace92",
"channel_id": "4a869115dfd260d0925a1266f544a6ab36666448d4bbc0e2a028d8426b2b6d4e",
"counterparty_node_id": "038863cf8ab91046230f561cd5b386cbff8309fa02e3f0c3ed161a3aeb64a643b9",
"funding_tx": "4e6d2b6b42d828a0e2c0bbd448646636aba644f566125a92d060d2df1591864a",
"funding_tx_output_index": 0,
"funding_tx_value_sats": 959722,
"is_outbound": true,
"balance_msat": 959722000,
"outbound_capacity_msat": 950125000,
"inbound_capacity_msat": 0,
"current_confirmations": 0,
"required_confirmations": 3,
"is_ready": false,
"is_usable": false,
"is_public": false
}
},
"id": 54
}
{
"mmrpc": "2.0",
"result": {
"status": "Open",
"details": {
"uuid": "2b50e274-c173-4fa1-95f3-97f9f82ace92",
"channel_id": "4a869115dfd260d0925a1266f544a6ab36666448d4bbc0e2a028d8426b2b6d4e",
"counterparty_node_id": "038863cf8ab91046230f561cd5b386cbff8309fa02e3f0c3ed161a3aeb64a643b9",
"funding_tx": "4e6d2b6b42d828a0e2c0bbd448646636aba644f566125a92d060d2df1591864a",
"funding_value": "98982",
"closing_tx": "f1591864ad0e2c0bad060425a94b8288646e6d24f56b6d2db42d4636aba64612",
"closure_reason": "null",
"claiming_tx": "null",
"claimed_balance": "null",
"funding_generated_in_block": "null",
"is_outbound": false,
"is_public": true,
"is_closed": true,
"created_at": 167273496966,
"closed_at": 171069595935
}
},
"id": 54
}
{
"mmrpc": "2.0",
"error": "Error parsing request: missing field `coin`",
"error_path": "dispatcher",
"error_trace": "dispatcher:109]",
"error_type": "InvalidRequest",
"error_data": "missing field `coin`",
"id": 54
}
The lightning::channels::get_claimable_balances
method returns a list of claimable balances for a coin.
Parameter | Type | Description |
---|---|---|
coin | string | The ticker of the coin you would like to view claimable balances for. |
include_open_channels_balances | integer | Optional, defaults to false . If true , includes balances from open channels. |
{
"userpass": "RPC_UserP@SSW0RD",
"mmrpc": "2.0",
"method": "lightning::channels::get_claimable_balances",
"params": {
"coin": "tBTC-lightning",
"include_open_channels_balances": true
},
"id": 762
}
{
"mmrpc": "2.0",
"result": [{
"ClaimableOnChannelClose": {
"claimable_amount_satoshis": 0
}
}, {
"ClaimableOnChannelClose": {
"claimable_amount_satoshis": 38815
}
}, {
"ClaimableOnChannelClose": {
"claimable_amount_satoshis": 959539
}
}],
"id": 762
}
The lightning::channels::list_open_channels_by_filter
method returns a list of open channels filtered by the provided filter object.
Parameter | Type | Description |
---|---|---|
coin | string | The ticker of the coin you would like to view open channels for. |
filter | object | A standard LightningOpenChannelsFilter object. |
paging_options | object | Optional. A standard Pagination object. |
limit | integer | Optional, defaults to 10 . Maximum number of results to return. |
{
"userpass": "RPC_UserP@SSW0RD",
"mmrpc": "2.0",
"method": "lightning::channels::list_open_channels_by_filter",
"params": {
"coin": "tBTC-lightning"
},
"id": 55
}
{
"mmrpc": "2.0",
"result": {
"open_channels": [{
"uuid": "434681f8-95e5-484f-af49-fa80d8ae857b",
"channel_id": "ebfbf19193ee26f25c6e236e863786e59818c11e136ce9c50dba63ec44b0c89a",
"counterparty_node_id": "038863cf8ab91046230f561cd5b386cbff8309fa02e3f0c3ed161a3aeb64a643b9",
"funding_tx": null,
"funding_tx_output_index": null,
"funding_tx_value_sats": 4000,
"is_outbound": true,
"balance_msat": 4000000,
"outbound_capacity_msat": 4000000,
"inbound_capacity_msat": 0,
"current_confirmations": 0,
"required_confirmations": null,
"is_ready": false,
"is_usable": false,
"is_public": false
}],
"limit": 10,
"skipped": 0,
"total": 1,
"total_pages": 1,
"paging_options": {
"PageNumber": 1
}
},
"id": 55
}
{
"userpass": "RPC_UserP@SSW0RD",
"mmrpc": "2.0",
"method": "lightning::channels::list_open_channels_by_filter",
"params": {
"coin": "tBTC-lightning",
"filter": {
"is_outbound": false
}
},
"id": 55
}
{
"mmrpc": "2.0",
"result": {
"open_channels": [{
"uuid": "f86dbfae-898a-4f49-8149-58d9dfa095a5",
"channel_id": "143cd1fa265c4bed860ce81f369d5c4ee8ef80c5c91872176f524348c2c1fff4",
"counterparty_node_id": "03cf982b1c16f7d3561d8bb17f7cf30057389d228756bce517c0f3cc111b38ecd0",
"funding_tx": "f4ffc1c24843526f177218c9c580efe84e5c9d361fe80c86ed4b5c26fad13c14",
"funding_tx_output_index": 0,
"funding_tx_value_sats": 40000,
"is_outbound": false,
"balance_msat": 5211,
"outbound_capacity_msat": 0,
"inbound_capacity_msat": 38994789,
"current_confirmations": 215,
"required_confirmations": 3,
"is_ready": true,
"is_usable": false,
"is_public": false
}],
"limit": 10,
"skipped": 0,
"total": 1,
"total_pages": 1,
"paging_options": {
"PageNumber": 1
}
},
"id": 55
}
{
"userpass": "RPC_UserP@SSW0RD",
"mmrpc": "2.0",
"method": "lightning::channels::list_open_channels_by_filter",
"params": {
"coin": "tBTC-lightning",
"filter": {
"counterparty_node_id": "02eb0b178576857b6990ba57d56aa08f651a05a8098496004f42df5e7440b0a9c1"
}
},
"id": 55
}
{
"mmrpc": "2.0",
"result": {
"open_channels": [{
"uuid": "adde8899-ba11-435a-9433-d180e2f5af6b",
"channel_id": "4cde288dd1ec1691b51cac8890a867a58fcfc98670e32ed7a112402b819a01f1",
"counterparty_node_id": "02312627fdf07fbdd7e5ddb136611bdde9b00d26821d14d94891395452f67af248",
"funding_tx": "f1019a812b4012a1d72ee37086c9cf8fa567a89088ac1cb59116ecd18d28de4c",
"funding_tx_output_index": 0,
"funding_tx_value_sats": 40000,
"is_outbound": true,
"balance_msat": 38998197,
"outbound_capacity_msat": 38598197,
"inbound_capacity_msat": 1803,
"current_confirmations": 215,
"required_confirmations": 3,
"is_ready": true,
"is_usable": true,
"is_public": false
}],
"limit": 10,
"skipped": 0,
"total": 1,
"total_pages": 1,
"paging_options": {
"PageNumber": 1
}
},
"id": 55
}
{
"userpass": "RPC_UserP@SSW0RD",
"mmrpc": "2.0",
"method": "lightning::channels::list_open_channels_by_filter",
"params": {
"coin": "tBTC-lightning",
"filter": {
"from_funding_value_sats": 1000,
"to_funding_value_sats": 500000
}
},
"id": 55
}
{
"mmrpc": "2.0",
"result": {
"open_channels": [{
"uuid": "adde8899-ba11-435a-9433-d180e2f5af6b",
"channel_id": "4cde288dd1ec1691b51cac8890a867a58fcfc98670e32ed7a112402b819a01f1",
"counterparty_node_id": "02312627fdf07fbdd7e5ddb136611bdde9b00d26821d14d94891395452f67af248",
"funding_tx": "f1019a812b4012a1d72ee37086c9cf8fa567a89088ac1cb59116ecd18d28de4c",
"funding_tx_output_index": 0,
"funding_tx_value_sats": 40000,
"is_outbound": true,
"balance_msat": 38998197,
"outbound_capacity_msat": 38598197,
"inbound_capacity_msat": 1803,
"current_confirmations": 218,
"required_confirmations": 3,
"is_ready": true,
"is_usable": true,
"is_public": false
}, {
"uuid": "f86dbfae-898a-4f49-8149-58d9dfa095a5",
"channel_id": "143cd1fa265c4bed860ce81f369d5c4ee8ef80c5c91872176f524348c2c1fff4",
"counterparty_node_id": "03cf982b1c16f7d3561d8bb17f7cf30057389d228756bce517c0f3cc111b38ecd0",
"funding_tx": "f4ffc1c24843526f177218c9c580efe84e5c9d361fe80c86ed4b5c26fad13c14",
"funding_tx_output_index": 0,
"funding_tx_value_sats": 40000,
"is_outbound": false,
"balance_msat": 5211,
"outbound_capacity_msat": 0,
"inbound_capacity_msat": 38994789,
"current_confirmations": 218,
"required_confirmations": 3,
"is_ready": true,
"is_usable": false,
"is_public": false
}],
"limit": 10,
"skipped": 0,
"total": 2,
"total_pages": 1,
"paging_options": {
"PageNumber": 1
}
},
"id": 55
}
The lightning::channels::list_closed_channels_by_filter
method returns a list of closed channels filtered by the provided filter object.
Parameter | Type | Description |
---|---|---|
coin | string | The ticker of the coin you would like to view closed channels for. |
filter | object | A standard LightningClosedChannelsFilter object. |
paging_options | object | Optional. A standard Pagination object. |
limit | integer | Optional, defaults to 10 . Maximum number of results to return. |
{
"userpass": "RPC_UserP@SSW0RD",
"mmrpc": "2.0",
"method": "lightning::channels::list_closed_channels_by_filter",
"params": {
"coin": "tBTC-lightning"
},
"id": 55
}
{"mmrpc": "2.0",
"result": {
"closed_channels": [{
"uuid": "434681f8-95e5-484f-af49-fa80d8ae857b",
"channel_id": "ebfbf19193ee26f25c6e236e863786e59818c11e136ce9c50dba63ec44b0c89a",
"counterparty_node_id": "038863cf8ab91046230f561cd5b386cbff8309fa02e3f0c3ed161a3aeb64a643b9",
"closure_reason": "Channel closed because counterparty force-closed with message chan size of 0.00004 BTC is below min chan size of 0.0002 BTC",
"is_outbound": true,
"is_public": false,
"is_closed": true,
"created_at": 1683864431,
"closed_at": 1683864432
},
{
"uuid": "de006b65-bd30-41e1-9b44-5e04518a3d98",
"channel_id": "928a041767f23c461fe3b41a387bd3f91a10b284cd7f90fb04544eda4f38f967",
"counterparty_node_id": "038863cf8ab91046230f561cd5b386cbff8309fa02e3f0c3ed161a3aeb64a643b9",
"closure_reason": "Channel closed because of an exception: We consider the minimum depth to be unreasonably large. Expected minimum: (1). Actual: (3)",
"is_outbound": true,
"is_public": false,
"is_closed": true,
"created_at": 1683866505,
"closed_at": 1683866505
}],
"limit": 10,
"skipped": 0,
"total": 1,
"total_pages": 1,
"paging_options": {
"PageNumber": 1
}
}, "id": 55
}
{
"userpass": "RPC_UserP@SSW0RD",
"mmrpc": "2.0",
"method": "lightning::channels::list_closed_channels_by_filter",
"params": {
"coin": "tBTC-lightning",
"filter": {
"channel_type": "Inbound"
}
},
"id": 55
}
{"mmrpc": "2.0",
"result": {
"closed_channels": [{
"uuid": "de006b65-bd30-41e1-9b44-5e04518a3d98",
"channel_id": "928a041767f23c461fe3b41a387bd3f91a10b284cd7f90fb04544eda4f38f967",
"counterparty_node_id": "038863cf8ab91046230f561cd5b386cbff8309fa02e3f0c3ed161a3aeb64a643b9",
"closure_reason": "Channel closed because of an exception: We consider the minimum depth to be unreasonably large. Expected minimum: (1). Actual: (3)",
"is_outbound": false,
"is_public": false,
"is_closed": true,
"created_at": 1683866505,
"closed_at": 1683866505
}],
"limit": 10,
"skipped": 0,
"total": 1,
"total_pages": 1,
"paging_options": {
"PageNumber": 1
}
}, "id": 55
}
{
"userpass": "RPC_UserP@SSW0RD",
"mmrpc": "2.0",
"method": "lightning::channels::list_closed_channels_by_filter",
"params": {
"coin": "tBTC-lightning",
"filter": {
"counterparty_node_id": "038863cf8ab91046230f561cd5b386cbff8309fa02e3f0c3ed161a3aeb64a643b9"
}
},
"id": 55
}
{"mmrpc": "2.0",
"result": {
"closed_channels": [{
"uuid": "434681f8-95e5-484f-af49-fa80d8ae857b",
"channel_id": "ebfbf19193ee26f25c6e236e863786e59818c11e136ce9c50dba63ec44b0c89a",
"counterparty_node_id": "038863cf8ab91046230f561cd5b386cbff8309fa02e3f0c3ed161a3aeb64a643b9",
"closure_reason": "Channel closed because counterparty force-closed with message chan size of 0.00004 BTC is below min chan size of 0.0002 BTC",
"is_outbound": true,
"is_public": false,
"is_closed": true,
"created_at": 1683864431,
"closed_at": 1683864432
}],
"limit": 10,
"skipped": 0,
"total": 1,
"total_pages": 1,
"paging_options": {
"PageNumber": 1
}
}, "id": 55
}
{
"userpass": "RPC_UserP@SSW0RD",
"mmrpc": "2.0",
"method": "lightning::channels::list_closed_channels_by_filter",
"params": {
"coin": "tBTC-lightning",
"filter": {
"from_funding_value_sats": 100000,
"to_funding_value_sats": 500000
}
},
"id": 55
}
{
"mmrpc": "2.0",
"result": {
"closed_channels": [{
"uuid": "f901b604-54f7-4094-80f7-86aa9e362343",
"channel_id": "20aae008973fad5a59559ac0650143ec5b53aba1c6584d3d92177491a8284d00",
"counterparty_node_id": "02312627fdf07fbdd7e5ddb136611bdde9b00d26821d14d94891395452f67af248",
"funding_tx": "3807d9353557d15ad46e90a68dab8e4cd3a68a4af6b61bc7414bf81e29bc0517",
"funding_value": 40000,
"closing_tx": "61575237132b78aa5d1b4d62137da316bc67d09804b0bee53ab50f5d7cd0337c",
"closure_reason": "Channel closed because the channel was cooperatively closed",
"funding_generated_in_block": 2433122,
"is_outbound": true,
"is_public": false,
"is_closed": true,
"created_at": 1684083341,
"closed_at": 1684146940
}],
"limit": 10,
"skipped": 0,
"total": 1,
"total_pages": 1,
"paging_options": {
"PageNumber": 1
}
},
"id": 762
}