This object represents the number of blocks required for an on-chain lightning-related transaction to be confirmed.
It is used for estimating the transaction fee rate (feerate) for different transaction types in the context of permissionless transactions performed by the node. Different target types are background, normal, and high_priority.
Parameter
Type
Required
Description
background
integer
✓
Used for transactions that can tolerate slower confirmation times when the transaction fee rate decreases. These transactions are not time-sensitive and can afford to wait longer for confirmation. The recommended range is 12 to 144 blocks to ensure a low feerate.
normal
integer
✓
Used for transactions that we want to confirm promptly, without significant delay (e.g, transactions for opening payment channels). These transactions are important but not critical. Suggested value is 6 blocks to ensure a moderate feerate.
high_priority
integer
✓
Used for transactions that require quick confirmation to prevent potential loss of funds (e.g. redeeming a Hashed Time Lock Contract (HTLC) on the blockchain before it times out). These transactions are time-critical and must be confirmed promptly to ensure the security of funds. Recommended value for high_priority is 1-2 blocks to ensure a high feerate.
Optional, defaults to true. When setting an outbound channel, it can be used straight away without waiting for any on-chain confirmations.
force_announced_channel_preference
boolean
–
true
Optional, defaults to true. Set to force an incoming channel to match our announced channel preference in ChannelOptions announced_channel.
outbound_channels_confirmations
integer
–
144
Optional, defaults to 144. Confirmations we will wait for before considering an inbound channel locked in.
our_locktime_limit
boolean
–
2016
Optional, defaults to 2016. Set to the amount of blocks we're willing to wait to claim money back to us.
min_funding_sats
boolean
–
0
Optional, defaults to 0. Minimum allowed satoshis when an inbound channel is funded.
max_funding_sats
boolean
–
16777215
Optional, defaults to 16777215. Maximum allowed satoshis when an inbound channel is funded.
max_htlc_minimum_msat
boolean
–
18446744073709551615
Optional, defaults to 18446744073709551615. The remote node sets a limit on the minimum size of HTLCs we can send to them. This allows us to limit the maximum minimum-size they can require.
min_max_htlc_value_in_flight_msat
boolean
–
0
Optional, defaults to 0. The remote node sets a limit on the maximum value of pending HTLCs to them at any given time to limit their funds exposure to HTLCs. This allows us to set a minimum such value.
max_channel_reserve_sats
boolean
–
18446744073709551615
Optional, defaults to 18446744073709551615. The remote node will require us to keep a certain amount in direct payment to ourselves at all time, ensuring that we are able to be punished if we broadcast an old state. This allows us to limit the amount which we will have to keep to ourselves (and cannot use for HTLCs).
min_max_accepted_htlcs
boolean
–
0
Optional, defaults to 0. The remote node sets a limit on the maximum number of pending HTLCs to them at any given time. This allows us to set a minimum such value.
Optional, defaults to 6. Should be set in coins file, and applies to all channels. Confirmations we will wait for before considering an inbound channel locked in.
max_inbound_in_flight_htlc_percent
integer
–
10
Optional, defaults to 10. Should be set in coins file, and applies to all channels. Sets the percentage of the channel value we will cap the total value of outstanding inbound HTLCs to.
our_htlc_minimum_msat
integer
–
1
Optional, defaults to 1. The smallest value HTLC we will accept to process. The channel gets closed any time our counterparty misbehaves by sending us an HTLC with a value smaller than this.
announced_channel
boolean
–
false
Optional, defaults to false. Set to announce the channel publicly and notify all nodes that they can route via this channel. GUIs and wallet apps should be set to false.
commit_upfront_shutdown_pubkey
boolean
–
true
Optional, defaults to true. When true (and the counterparty agrees), the user must use the same key for cooperative closing. This prevents a user from changing the destination address in a cooperative close, which slightly increases security (however, this option is not required if the counterparty does not support it and a channel can be accepted regardless). Note that the key for forced closing is always fixed when opening a channel and is different from shutdown_pubkey.
counterparty_locktime
integer
–
144
Optional, defaults to 144. The number of blocks we require our counterparty to wait to claim their money on chainif they broadcast a revoked transaction. We have to be online at least once during this time to punish our counterparty for broadcasting a revoked transaction. We have to account also for the time to broadcast and confirm our transaction, possibly with time in between to RBF (Replace-By-Fee) the spending transaction.
negotiate_scid_privacy
integer
–
false
Optional, defaults to false. If true, we attempt to negotiate the scid_privacy (referred to as scid_alias in the BOLTs) option for outbound private channels. This provides better privacy by not including our real on-chain channel UTXO in each invoice and requiring that our counterparty only relay HTLCs to us using the channel's SCID alias.
their_channel_reserve_sats
boolean
–
10000
Optional, defaults to 10000. The minimum balance that the other node has to maintain on their side, at all times. This ensures that if our counterparty broadcasts a revoked state, we can punish them by claiming at least this value on chain.
Optional, defaults to 0. Amount (in milli-satoshi) charged for payments forwarded outbound over the channel, in excess of proportional_fee_in_millionths_sats.
base_fee_msat
integer
–
1000
Optional, defaults to 1000. Amount (in milli-satoshi) charged for payments forwarded outbound over the channel, in excess of proportional_fee_in_millionths_sats.
A hexadecimal string identifying a counterparty node.
funding_tx
string
–
A transaction ID which added funds.
from_funding_value_sats
integer
–
The minimum value of channel funding in satoshis.
to_funding_value_sats
integer
–
The maximum value of channel funding in satoshis.
is_outbound
boolean
–
If true, limits the response to outbound channels only.
from_balance_msat
integer
–
The minimum channel balance in millisatoshis.
to_balance_msat
integer
–
The maximum channel balance in millisatoshis.
from_outbound_capacity_msat
integer
–
The minimum outbound capacity of the channel balance in millisatoshis.
to_outbound_capacity_msat
integer
–
The maximum outbound capacity of the channel balance in millisatoshis.
from_inbound_capacity_msat
integer
–
The minimum inbound capacity of the channel balance in millisatoshis.
to_inbound_capacity_msat
integer
–
The maximum inbound capacity of the channel balance in millisatoshis.
confirmed
boolean
–
If true, only channels with channel opening transactions that passed the number of confirmations required for the channel to be usable will be returned.
is_usable
boolean
–
If true, only channels that are confirmed and the counterparty is online, meaning that these channels can be used for payments will be returned.
is_public
boolean
–
If true, only channels that our node announces to the lightning network, these channels are visible on lightning explorers will be returned.
Optional, defaults to false. The user may override this preference in the channel opening request method call.
their_to_self_delay
integer
–
1008
Optional, defaults to 1008. The time that we require our counterparty to wait to claim their money, if they broadcast a revoked transaction. This can be increased to provide more punishment for broadcasting old states, but will result in higher fees (since emergency transactions will be larger).
our_to_self_delay
integer
–
1008
Optional, defaults to 1008. The time that our counterparty requires us to wait to claim our money, if we broadcast a revoked transaction.
our_htlc_minimum_msat
integer
–
0
Optional, defaults to 0. The smallest value HTLC we will accept to forward from the counterparty.
max_accepted_htlcs
integer
–
483
Optional, defaults to 483. The maximum number of HTLCs we will accept from the counterparty.
min_max_htlc_value_in_flight_msat
boolean
–
0
Optional, defaults to 0. The remote node sets a limit on the maximum value of pending HTLCs to them at any given time to limit their funds exposure to HTLCs. This allows us to set a minimum such value.
max_channel_reserve_sats
boolean
–
18446744073709551615
Optional, defaults to 18446744073709551615. The remote node will require us to keep a certain amount in direct payment to ourselves at all time, ensuring that we are able to be punished if we broadcast an old state. This allows us to limit the amount which we will have to keep to ourselves (and cannot use for HTLCs).
min_max_accepted_htlcs
boolean
–
0
Optional, defaults to 0. The remote node sets a limit on the maximum number of pending HTLCs to them at any given time. This allows us to set a minimum such value.