Overview
Validating Lightning Signer (VLS) is an open-source Rust library for secure, self-custodial Lightning signers. Unlike hot wallets or blind signers, VLS keeps your private keys off the node and validates each signing request, ensuring only legitimate channel operations are approved.RGB Lightning Node includes generic remote external-signer support introduced in UTEXO-Protocol/rgb-lightning-node#95. The VLS-specific integration described on this page remains tracked in RGB-Tools/rgb-lightning-node#43 and should still be considered experimental until its compatibility and production-readiness are confirmed.
System Architecture
VLS splits Lightning key management into two primary components:Lightning Node
Runs the standard LN logic — channel opening, routing, HTLC management. No private keys are stored here.Remote Validating Signer
Stores private keys in a secure environment and validates each request before generating a signature. If the request fails policy checks, it denies signing.Additional Components
Validation Flow
- The Lightning Node proposes a transaction or state update.
- VLS checks protocol correctness and local policy.
- If valid, the signer returns a signature. Otherwise, it rejects the request.
Why This Matters
Traditional Lightning nodes require private keys to be on the same machine that handles routing and channel logic. VLS decouples these concerns:- Reduced attack surface — a compromised node cannot access signing keys
- Policy enforcement — custom rules prevent unauthorized channel operations
- Self-custody — keys never leave the secure signing environment