<p>According to the <a href="https://github.com/lightning/bolts/blob/master/02-peer-protocol.md" rel="nofollow noreferrer">BOLT #2 specs</a>, the non-funding counterparty indicates which confirmation depth it is willing to accept via the <code>minimum_depth</code> field in the <a href="https://github.com/lightning/bolts/blob/master/02-peer-protocol.md#the-accept_channel-message" rel="nofollow noreferrer"><code>accept_channel</code></a> message.</p>
<p>In LDK you can configure this for inbound channels via <a href="https://docs.rs/lightning/*/lightning/util/config/struct.ChannelHandshakeConfig.html#structfield.minimum_depth" rel="nofollow noreferrer"><code>ChannelHandshakeConfig::minimum_depth</code></a> and the opening counterparty can limit what maximum value it is willing to accept via <a href="https://docs.rs/lightning/*/lightning/util/config/struct.ChannelHandshakeLimits.html#structfield.max_minimum_depth" rel="nofollow noreferrer"><code>ChannelHandshakeLimits::max_minimum_depth</code></a>.</p>
<p>Note that you may also want to enable zero confirmation channels. For outbound channels you can simply enable this via setting <a href="https://docs.rs/lightning/*/lightning/util/config/struct.ChannelHandshakeLimits.html#structfield.trust_own_funding_0conf" rel="nofollow noreferrer"><code>ChannelHandshakeLimits::trust_own_fundings_0conf</code></a>. As inbound zero confirmation channels are a risk for the accepting party, LDK requires you to manually check and accept each such channel. You can enable this by setting <a href="https://docs.rs/lightning/*/lightning/util/config/struct.UserConfig.html#structfield.manually_accept_inbound_channels" rel="nofollow noreferrer"><code>UserConfig::manually_accept_inbound_channels</code></a>, upon which you'll start receiving an <a href="https://docs.rs/lightning/*/lightning/util/events/enum.Event.html#variant.OpenChannelRequest" rel="nofollow noreferrer"><code>OpenChannelRequest</code></a> event for each inbound channel. For each request you want to accept you then need to call <a href="https://docs.rs/lightning/*/lightning/ln/channelmanager/struct.ChannelManager.html#method.accept_inbound_channel_from_trusted_peer_0conf" rel="nofollow noreferrer"><code>ChannelManager::accept_inbound_channel_from_trusted_peer_0conf</code></a>, or can force-close the channel otherwise.</p>

CC BY-SA 4.0
2023-01-31T18:40:28.127Z
2023-01-31T18:40:28.127Z
tnull
<p>For testing purposes, I want to reduce the number of confirmations required until a LDK-based Lightning node deems a channel ready for operation.</p>
<p>How can I accomplish this?</p>

<lightning-network><lightning-rfc><lightning-development-kit>
How can I accept Lightning channels with fewer confirmations in LDK?
tnull
# How can I accept Lightning channels with fewer confirmations in LDK?

(Asked by: username_0 on 2023-01-31)

For testing purposes, I want to reduce the number of confirmations required until a LDK-based Lightning node deems a channel ready for operation.

How can I accomplish this?

**Tags:** lightning-network, lightning-rfc, lightning-development-kit


---

## 1 answers

### Answer by username_0 on 2023-01-31. Score: 2

According to the [BOLT #2 specs](https://github.com/lightning/bolts/blob/master/02-peer-protocol.md), the non-funding counterparty indicates which confirmation depth it is willing to accept via the `minimum_depth` field in the [`accept_channel`](https://github.com/lightning/bolts/blob/master/02-peer-protocol.md#the-accept_channel-message) message.

In LDK you can configure this for inbound channels via [`ChannelHandshakeConfig::minimum_depth`](https://docs.rs/lightning/*/lightning/util/config/struct.ChannelHandshakeConfig.html#structfield.minimum_depth) and the opening counterparty can limit what maximum value it is willing to accept via [`ChannelHandshakeLimits::max_minimum_depth`](https://docs.rs/lightning/*/lightning/util/config/struct.ChannelHandshakeLimits.html#structfield.max_minimum_depth).

Note that you may also want to enable zero confirmation channels. For outbound channels you can simply enable this via setting [`ChannelHandshakeLimits::trust_own_fundings_0conf`](https://docs.rs/lightning/*/lightning/util/config/struct.ChannelHandshakeLimits.html#structfield.trust_own_funding_0conf). As inbound zero confirmation channels are a risk for the accepting party, LDK requires you to manually check and accept each such channel. You can enable this by setting [`UserConfig::manually_accept_inbound_channels`](https://docs.rs/lightning/*/lightning/util/config/struct.UserConfig.html#structfield.manually_accept_inbound_channels), upon which you'll start receiving an [`OpenChannelRequest`](https://docs.rs/lightning/*/lightning/util/events/enum.Event.html#variant.OpenChannelRequest) event for each inbound channel. For each request you want to accept you then need to call [`ChannelManager::accept_inbound_channel_from_trusted_peer_0conf`](https://docs.rs/lightning/*/lightning/ln/channelmanager/struct.ChannelManager.html#method.accept_inbound_channel_from_trusted_peer_0conf), or can force-close the channel otherwise.


---

