Skip to content

No-std usage among rust-lightning dependents #4314

@joostjager

Description

@joostjager

Summary

This issue tracks the usage of rust-lightning in no_std environments to help inform decisions about continued no_std support.

Rationale

Supporting no_std adds complexity to the development process. Notable pain points include:

  • Time access: No access to system time, requiring alternative approaches
  • Send/Sync requirements: Additional constraints on types and trait bounds

A recent example of no_std-related complexity: #4309

Is it worth supporting no_std?

To answer this question, we need visibility into who actually uses rust-lightning in no_std mode.

Methodology

Determining reverse dependencies for no_std specifically isn't straightforward—GitHub's dependency graph doesn't distinguish between feature configurations. I vibe-coded a tool to scan dependents and check their Cargo.toml files for default-features = false without std re-enabled:

https://github.com/joostjager/rust-lightning/tree/ldk-dep-scanner

Note: Not all items in the table below necessarily use no_std in an unavoidable way—some projects may work fine with std enabled but simply haven't changed their configuration.

Direct no_std dependents

The table below shows all direct dependents of rust-lightning that use it in no_std mode, sorted by stars:

Repository Stars Last Updated Cargo.toml
p2pderivatives/rust-dlc 157 2025-12-13 Cargo.toml
Blockstream/lwk 93 2026-01-14 Cargo.toml
BoltzExchange/boltz-client 76 2026-01-13 Cargo.toml
bennyhodl/dlcdevkit 33 2026-01-08 Cargo.toml
MutinyWallet/bitcoin-waila 30 2025-09-01 Cargo.toml
lightning-signer/validating-lightning-signer 14 2026-01-07 Cargo.toml
rust-bitcoin/bitcoin-payment-instructions 10 2026-01-07 Cargo.toml
akitamiabtc/yuv-lightning 5 2025-09-21 Cargo.toml
BoltzExchange/bolt12-wasm 4 2026-01-08 Cargo.toml
lightning-signer/vls 1 2025-10-17 Cargo.toml
benthecarman/rust-dlc 1 2023-12-13 Cargo.toml
TheBlueMatt/libbtcwallet 0 2025-03-26 Cargo.toml
TheBlueMatt/ln-routing-replay 0 2025-05-12 Cargo.toml
fedibtc/fedimint 0 2024-07-24 Cargo.toml

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions