Skip to main content

Documentation Index

Fetch the complete documentation index at: https://utexo-e7ed9bd0-bridge-mint-0.mintlify.app/llms.txt

Use this file to discover all available pages before exploring further.

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.
Support for a remote signer in the RGB Lightning Node is currently under active development and should be considered experimental — not yet available for production use.Progress is tracked at: github.com/RGB-Tools/rgb-lightning-node/issues/43

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

ComponentDescription
Policy EngineCustomizable rules ensuring no suspicious requests are signed
UTXO Oracle (optional)Provides chain data to detect remote breaches
State StorageSecure cloud storage with anti-rollback protection

Validation Flow

[Lightning Node] --> proposes transaction/state update
        |
        v
[VLS Signer] --> checks protocol correctness + local policy
        |
        +-- valid --> returns signature
        |
        +-- invalid --> rejects request
  1. The Lightning Node proposes a transaction or state update.
  2. VLS checks protocol correctness and local policy.
  3. 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