Start Building with VLS

VLS is a Rust library for secure, self-custodial Lightning signers. It is the only solution that keeps private keys off your Lightning node and validates every transaction before signing, so funds stay safe even if the node is compromised. Protect your funds from node breaches while maintaining true self-custody.

It’s designed to help you:

  • Secure your own Lightning funds with stronger guarantees than standard Lightning nodes
  • Provide non-custodial Lightning services to users, avoiding the risks of holding their keys

🧠 New to VLS? Learn why validation matters:


Not Sure Where to Start?

You can start in two ways β€” by choosing based on your goal, or based on your stack.


1. What kind of setup are you looking for?

  • βœ… I’m a business or app developer who just wants a secure Lightning setup without deep infrastructure work
    β†’ Use a hosted non-custodial provider powered by VLS:
    πŸ‘‰ Greenlight by Blockstream or Breez SDK

  • πŸ› οΈ I want to control my own Lightning node, but don’t want to build everything from scratch
    β†’ Use CLN + VLS β€” secure and flexible, without full custom integration.

  • πŸ§ͺ I want full control and deep integration flexibility
    β†’ Use LDK + VLS β€” great for custom deployments.


Already Know Your Lightning Stack?

Choose your stack to get started:

  • πŸ‘‰ CLN + VLS
    Use our vls-hsmd plugin to forward signing requests from Core Lightning.

  • πŸ› οΈ LDK + VLS
    Integrate via the vls-proxy crate inside your LDK-based node.

  • 🐳 Docker Sandbox
    Run CLN + VLS + Bitcoind locally using Docker. Great for testing.

  • ❌ LND or Eclair
    Not yet supported. Help move things forward by reaching out to LND or Eclair to encourage VLS support:


Learn From Other Builders


Want to Understand How Signing Works?

Check out our Sequence Diagrams for:

🀝 Need Help?