If the failure rate triggers, you might see:
"payment_error": "TemporaryChannelFailure: channel 12345x has insufficient balance",
"payment_preimage": "",
"payment_route": null
| 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 | lnd emulator utility
| Tool | Type | Use Case | Requires Bitcoin |
|------|------|----------|------------------|
| LND Emulator | Mock/simulator | Unit tests, fast iteration | ❌ No |
| LND + Regtest | Full node | Integration, channel logic | ✅ Yes (btcd) |
| Polar | Multi-node regtest | Network topology testing | ✅ Yes (simnet) |
| Lightning Labs’ itest | Real LND nodes | End-to-end LND features | ✅ Yes | LND Emulator Utility: A Complete Write-Up Step 5:
It must implement all essential LND gRPC methods: CloseChannel (simulated) ListPeers
GetInfo, ListChannels, ClosedChannelsSendPayment, SendPaymentSync, TrackPaymentAddInvoice, LookupInvoice, SettleInvoiceOpenChannel, CloseChannel (simulated)ListPeers, ConnectPeer