{
    "meta": {
        "title": "D-Central — Lightning BOLT 9 Feature-Bits Reference",
        "description": "All 24 assigned Lightning feature bits (BOLT 9): even/odd pair, option_* name, description, contexts and dependencies. Five widely-deployed features read \"ASSUMED\" in the spec.",
        "generated": "2026-07-26T13:20:49+00:00",
        "version": "1.0",
        "as_of": "2026-07-26",
        "license": "https://creativecommons.org/licenses/by/4.0/",
        "license_name": "CC BY 4.0",
        "source": "https://d-central.tech/bolt9-feature-bits-reference/",
        "method": "Extracted from the canonical lightning/bolts 09-features.md (raw, fetched 2026-07-26). Names, bits, contexts and dependencies are transcribed from the assigned-features table; the literal \"ASSUMED\" description is preserved for the five features so widely deployed the spec no longer advertises them.",
        "provenance": "lightning/bolts (github.com/lightning/bolts) BOLT #9.",
        "record_count": 24
    },
    "rows": [
        {
            "bits": "0/1",
            "name": "option_data_loss_protect",
            "description": "ASSUMED",
            "contexts": "",
            "dependencies": "—"
        },
        {
            "bits": "4/5",
            "name": "option_upfront_shutdown_script",
            "description": "Commits to a shutdown scriptpubkey when opening a channel",
            "contexts": "IN",
            "dependencies": "—"
        },
        {
            "bits": "6/7",
            "name": "gossip_queries",
            "description": "Peer has useful gossip to share",
            "contexts": "",
            "dependencies": "—"
        },
        {
            "bits": "8/9",
            "name": "var_onion_optin",
            "description": "ASSUMED",
            "contexts": "",
            "dependencies": "—"
        },
        {
            "bits": "10/11",
            "name": "gossip_queries_ex",
            "description": "Gossip queries can include additional information",
            "contexts": "IN",
            "dependencies": "—"
        },
        {
            "bits": "12/13",
            "name": "option_static_remotekey",
            "description": "ASSUMED",
            "contexts": "",
            "dependencies": "—"
        },
        {
            "bits": "14/15",
            "name": "payment_secret",
            "description": "ASSUMED",
            "contexts": "",
            "dependencies": "—"
        },
        {
            "bits": "16/17",
            "name": "basic_mpp",
            "description": "Node can receive basic multi-part payments",
            "contexts": "IN9",
            "dependencies": "payment_secret"
        },
        {
            "bits": "18/19",
            "name": "option_support_large_channel",
            "description": "Can create large channels",
            "contexts": "IN",
            "dependencies": "—"
        },
        {
            "bits": "22/23",
            "name": "option_anchors",
            "description": "Anchor commitment type with zero-fee HTLC transactions",
            "contexts": "INT",
            "dependencies": "—"
        },
        {
            "bits": "24/25",
            "name": "option_route_blinding",
            "description": "Node supports blinded paths",
            "contexts": "IN9",
            "dependencies": "—"
        },
        {
            "bits": "26/27",
            "name": "option_shutdown_anysegwit",
            "description": "Future segwit versions allowed in shutdown",
            "contexts": "IN",
            "dependencies": "—"
        },
        {
            "bits": "28/29",
            "name": "option_dual_fund",
            "description": "Use v2 of channel open, enables dual funding",
            "contexts": "IN",
            "dependencies": "—"
        },
        {
            "bits": "34/35",
            "name": "option_quiesce",
            "description": "Support for the stfu (quiescence) message",
            "contexts": "IN",
            "dependencies": "—"
        },
        {
            "bits": "36/37",
            "name": "option_attribution_data",
            "description": "Can generate/relay attribution data in update_fail_htlc and update_fulfill_htlc",
            "contexts": "IN9",
            "dependencies": "—"
        },
        {
            "bits": "38/39",
            "name": "option_onion_messages",
            "description": "Can forward onion messages",
            "contexts": "IN",
            "dependencies": "—"
        },
        {
            "bits": "40/41",
            "name": "zero_fee_commitments",
            "description": "Zero-fee commitment and HTLC transactions",
            "contexts": "IN",
            "dependencies": "option_channel_type"
        },
        {
            "bits": "42/43",
            "name": "option_provide_storage",
            "description": "Can store other nodes' encrypted backup data",
            "contexts": "IN",
            "dependencies": "—"
        },
        {
            "bits": "44/45",
            "name": "option_channel_type",
            "description": "ASSUMED",
            "contexts": "",
            "dependencies": "—"
        },
        {
            "bits": "46/47",
            "name": "option_scid_alias",
            "description": "Supply channel aliases for routing",
            "contexts": "INT",
            "dependencies": "—"
        },
        {
            "bits": "48/49",
            "name": "option_payment_metadata",
            "description": "Payment metadata in a tlv record",
            "contexts": "9",
            "dependencies": "—"
        },
        {
            "bits": "50/51",
            "name": "option_zeroconf",
            "description": "Understands zeroconf channel types",
            "contexts": "INT",
            "dependencies": "option_scid_alias"
        },
        {
            "bits": "60/61",
            "name": "option_simple_close",
            "description": "Simplified closing negotiation",
            "contexts": "IN",
            "dependencies": "option_shutdown_anysegwit"
        },
        {
            "bits": "62/63",
            "name": "option_splice",
            "description": "Allows replacing the funding transaction with a new one",
            "contexts": "IN",
            "dependencies": "—"
        }
    ],
    "contexts": [
        {
            "letter": "I",
            "meaning": "Presented in the init message."
        },
        {
            "letter": "N",
            "meaning": "Presented in node_announcement messages."
        },
        {
            "letter": "C",
            "meaning": "Presented in the channel_announcement message."
        },
        {
            "letter": "C-",
            "meaning": "Presented in channel_announcement, but always odd (optional)."
        },
        {
            "letter": "C+",
            "meaning": "Presented in channel_announcement, but always even (required)."
        },
        {
            "letter": "9",
            "meaning": "Presented in BOLT11 invoices."
        },
        {
            "letter": "B",
            "meaning": "Presented in the allowed_features field of a blinded path."
        },
        {
            "letter": "T",
            "meaning": "Used in the channel_type field when opening channels."
        }
    ]
}