./lnd-emulator --listen=0.0.0.0:10009 \
               --rest-listen=0.0.0.0:8080 \
               --num-channels=5 \
               --channel-capacity=1000000 \
               --fee-rate=1000 \
               --failure-rate=0.05

This command starts an emulated node with 5 channels (each 1M sat capacity), a routing fee rate of 1000 ppm, and a 5% random failure rate.

| Limitation | Explanation | |------------|-------------| | No real HTLCs | Does not simulate actual hash time-locked contract execution. | | No gossip sync | No channel graph propagation. | | No watchtower | Cannot test breach remedy flows. | | Simplified fees | Fee estimation may not match real routing. | | No on-chain txs | Cannot test sweeps, force-closes, or coop closes. |

For full protocol testing, use regtest + lnd + btcd or tools like Polar or Regtest Toolkit.


| Area | Capability | |------|-------------| | Performance | Handle 500+ simulated payments/sec | | Resource use | < 200 MB RAM for 10 nodes | | Portability | Linux, macOS, Windows (Go binary) | | Extensibility | gRPC server plugins for custom business logic |


  • Config file supporting scenarios and topologies.
  • | Feature | LND Emulator Utility | Regtest (Bitcoind + LND) | Testnet | |---------|----------------------|---------------------------|---------| | Startup time | < 100ms | 10–30 seconds | Minutes | | Resource usage (RAM) | 50–200 MB | 1–4 GB | >4 GB | | Deterministic failures | Yes (injectable) | No | No | | Requires blockchain sync | No | Yes | Yes | | Real crypto operations | Simulated | Yes | Yes | | Cost | Free | Free (compute heavy) | Free but scarce coins | | Multi-hop simulation | Full emulation | Full real | Full real | | Chaos testing | Excellent | Poor | Poor |

    | Service | Methods Emulated | |---------|------------------| | Lightning | GetInfo, ListChannels, SendPaymentSync, AddInvoice, LookupInvoice, PayInvoice, NewAddress | | WalletKit | ListUnspent, SendOutputs, PendingSweeps | | Router | SendPaymentV2, TrackPayment, EstimateRouteFee |

    Note: Advanced features like SubscribeEvents, HODL invoices, or AMP may be partially supported depending on the emulator implementation.