I randomly stumbled upon an example of a channel for which one of the two sides does not have a channel policy. What could be the reason for that? For example, lncli getchaninfo 620048691895336960 returns this (and node1_policy here is null):

    "channel_id": "620048691895336960",
    "chan_point": "4857421490e50d3ffed1e31346c8cc56f229f70ad93d800d647db794cc09bb59:0",
    "last_update": 1550695804,
    "node1_pub": "03b9c09d8522d6d6ca3c4fe3e635b65e962fade78437ef2ac46f37df4c0119aa03",
    "node2_pub": "03bb88ccc444534da7b5b64b4f7b15e1eccb18e102db0e400d4b9cfe93763aa26d",
    "capacity": "2000000",
    "node1_policy": null,
    "node2_policy": {
        "time_lock_delta": 144,
        "min_htlc": "1",
        "fee_base_msat": "0",
        "fee_rate_milli_msat": "1",
        "disabled": false

If that is relevant, node1 here runs eclair, and node2 runs lnd.


Each channel participant sets their own policy for forwarding HTLCs through the channel. They broadcast a channel_update message containing the policy, which is received and forwarded over the gossip network, and also received by the channel's counter party. The channel_update has a bit flag indicating whether the update belongs to node1 or node2.

A missing policy could mean that one party has not yet broadcast any policy, or that you've missed the broadcast message if you went offline at some point. In the latter case, your node should be able to query the policy over the gossip network with a query_short_channel_ids message.

If it is one of your own channels, it may just be that the channel is private and your node sets a policy regardless of whether or not the node is announced. I'm not sure about the specifics of any implementation in that regard.

| improve this answer | |
  • Thanks for the helpful information. It has been a day and the gossip protocol does not deliver the updates. Neither of the nodes is private and the channels is also not private (from my point of view). So seems like the problem is with broadcasting. – Dmitry Laptev Feb 21 '19 at 20:43

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.