Groundwire

Enter your access token to continue.

Logout
System
Total Capacity
Out: · In: ·
Onchain Balance
Channels
Failed HTLCs (24h)
Channel Classification
Revenue & Costs
Metric24h7d30d
Routing Volume
Routing Revenue
Rebalancing Cost
Net Profit
Book vs market:
Peer Type Capacity Balance Local % Our PPM Remote PPM Mkt PPM vs Mkt UP% Inbound PPM Volume (7d) Direct Assisted Rebal Cost Net Net 30d

Showing of channels. Revenue/costs from 7-day classification window. Click column headers to sort.

Routed Payments
Time In Out Amount Nominal Discount Actual PPM
Auto-rebalancer
Refill advice (LNDg AR coordination — read-only)
Rebalances

all-time rebalances broke the breakeven discipline (paid more than 65% of the refilled channel's outbound fee — they lose money once that liquidity routes out).

Time First hop Last hop Amount Fee PPM Last hop PPM
Top Failed Destinations
DestinationFailuresVolume (sat)
Top Failed Routes
SourceDestinationFailuresVolume (sat)
Recent Failures
Time Source Destination Amount Dest PPM Potential Fee Failure
Recent Fee Changes
Time Peer Reason Old PPM New PPM Change Inbound

← Back to Channels

Offline Private ⚠ drift
· · capacity
Local: sat Remote: sat
Our PPM
Inbound PPM
Remote PPM
Remote In PPM
Pending HTLCs
Flow Direction
Lifetime Sent
Lifetime Received
Channel Settings
Profitability
PeriodOut VolIn Vol Out #In # DirectAssisted Rebal CostNet
Fee Change History
Recent Forwards
Own Payments (first hop)
Recent Failed HTLCs
Peer Policy Changes
Node Operations
Scheduler Jobs

Status of the background jobs that power data collection, fee decisions, graph refresh, and backups.

Job Last Run Duration Status Last Success
Connect to Peer

Enter a full address (pubkey@host:port) or just a pubkey to auto-lookup the address. Clearnet is preferred over Tor.

Sign Message

Sign a message with the node's private key to prove ownership (e.g. for Amboss, liquidity rings).

Signature (click to copy):
Copied!
Open Channels

Open one or more channels in a single on-chain transaction. Enter pubkeys (or pubkey@host:port) and amounts.

Pubkey Amount (sat)
Total sat
On-chain balance
Remaining after open
Fee rate (sat/vB)
Channels opening! Pending:
Open Candidates

Our betweenness rank: of nodes

Reciprocal-Open Asks

Existing peers whose channels routed real volume in 30 days while our side is mostly depleted — our routing record justifies asking them for an inbound channel.

Close Candidates

Dead links, persistent net losses, or long-offline peers — the local capital a close would free up. Recommendations only; closing stays manual.

Decision Engine Settings

Changes take effect on the next decision run (~1 minute). Values are stored in the database.

Dry Run
When enabled, fee changes are logged but not applied to LND. Use for testing new parameters safely.
General
Minimum outbound fee rate enforced on all channels except feeders. Prevents the spiral to zero. Feeders are exempt because low outbound fees help natural rebalancing.
Maximum outbound fee rate. Fee increases and probes will not exceed this value. Set to 0 for no limit. Can be overridden per-channel in Channel Settings.
Channels younger than this are classified as NEW and exempt from stale fee decreases and probing. Depletion increases still apply. Default: 24 hours.
Depletion Response
Outbound balance ratio (after reserves) below which a channel is considered depleted. Channels above this threshold won't trigger fee increases even with many failed HTLCs. E.g. 0.15 = channels with less than 15% local liquidity qualify.
Percentage to increase outbound fee when a depleted channel has enough failed HTLCs. Part of the 3%/5% price discovery oscillation — raised fee gets tested by the market, stale-decrease reverts if traffic stops.
Minimum absolute increase per depletion adjustment. Prevents tiny 1-2 PPM bumps on low-fee channels that take forever to have any effect.
Number of failed outbound HTLCs needed to trigger a fee increase on a depleted channel. Higher = less reactive, lower = more aggressive protection.
Look-back window for counting failed HTLCs. Only failures within this window count toward the threshold.
Minimum interval between depletion-driven fee increases on the same channel. Without it a persistently in-demand depleted channel would ratchet its fee every run.
Reprice Rate Limit
Per-channel minimum interval between ANY two applied fee-policy changes — the general emission window. LND peers accept at most ~1 gossip update per minute per channel and silently drop the excess; fewer, larger changes propagate better.
Shorter emergency window for outbound INCREASES (depletion, probe starts). Clamped to never exceed the general window.
Suppress outbound fee changes smaller than this — anti-chatter epsilon. The settling step onto the min-fee floor or market floor is exempt.
Hard cap on applied policy emissions (fee and max_htlc together) per channel per rolling 24 hours, counted from the audit tables. Backstop for the intervals above: peers rate-limit channel_update gossip and silently drop the excess, so a channel that keeps hitting its windows still cannot flap. Safety corrections exempt from the reprice windows bypass the budget but still count against it.
Idle-Full Down-Step
A channel qualifies for the idle-full fee decrease when its local balance percentage exceeds its target by this margin — idle near-full capital gets priced to move without waiting for total silence.
Token routing at or below this count in the stale window still counts as idle for the idle-full down-step.
Stale Channel Decrease
Percentage to decrease outbound fee when a channel has no routing activity. Part of the price discovery oscillation — if the market rejects the current fee, we lower it.
Minimum absolute decrease per stale adjustment. Prevents tiny 1 PPM drops on low-fee channels that take forever to find the right price.
How long a channel must have zero routing before stale-decrease fires. BALANCED channels get 3x this window since quiet periods are normal for bidirectional channels.
Minimum outbound capacity percentage for stale decrease to apply. Channels below this are depleted — lowering fees won't help since they can't route anyway.
Inbound Fee Incentives
Maximum inbound discount as percentage of outbound fee, reached when local balance hits 0. At 65%, the incentive costs the same as circular rebalancing — never go higher.
Replaces the cap above on channels the target recompute marked as breakeven-clearing drains — ones whose routing revenue already covers what refilling them costs, so a deeper discount is worth paying for. Only ever raises: a value below the global cap leaves that channel on the global cap. Rides on the auto target and dies with it.
Global target local-balance percentage. Below it, the inbound discount deepens linearly from 0 (at the target) to the max discount (at 0% local). At or above it, no discount. Per-channel target_local_ratio overrides win. Small drifts are suppressed by the change threshold below; repricing is also rate-limited per channel.
Suppress inbound fee updates when the change is at most this percentage of the outbound fee. Prevents chatter from minor balance drift.
Automatic Target Recompute

Weekly job that classifies each channel's routed flow and writes an auto-managed target_local_ratio — the balance target the inbound discount above works towards. Operator-set targets are never touched. Writes database overrides, not LND policy, so it runs regardless of dry run.

Enable Target Recompute
Off by default. When on, the job ticks hourly but throttles itself to one successful run every 7 days. Turning it off freezes existing auto targets in place rather than clearing them.
Rolling window of routed forwards the classification reads. Rebalances are excluded by construction — only real forwards count.
Noise floor: a channel moving less than this in the window gets no auto target at all, and an existing one is cleared. Keeps quiet channels on the global default instead of steering them off a handful of forwards.
How lopsided the flow must be before a channel counts as draining or filling, as an absolute ratio between 0 and 1. Inside the band the channel is balanced and gets no auto target.
Target local balance for a net-draining channel whose fees cover what refilling it costs. A high target arms the inbound discount earlier, buying passive refill — worth paying for only when the routing revenue repays it.
Target local balance for channels that refill themselves, and for drains whose fees do not repay a refill. No discount for liquidity that arrives free or that cannot pay for itself.
Anti-flap: an existing auto target is only rewritten when the new value moves at least this far. A change in the raised-discount verdict always writes through the deadband, so that marker cannot go stale behind a small target move.
Centrality Analysis

Hourly job that scores open candidates by simulating a channel to each and measuring how much our node's betweenness centrality would improve. CPU-only analysis — it writes nothing to LND and never opens channels; results feed the Intelligence tab's open-candidate ranking.

Enable Centrality Analysis
Off by default. Each evaluated candidate costs one full Brandes run over the stored graph — seconds of CPU — so the job spreads the candidate list over hourly batches.
Candidates evaluated per hourly tick. The full top-50 list refreshes in list-size ÷ batch ticks once results pass their TTL.
Concurrent BFS workers inside one betweenness computation. Keep low on a small VPS — the job competes with LND for cores.
Brandes–Pich approximation: run BFS from only this many sampled sources instead of every node. Cuts CPU proportionally at some accuracy cost; 0 computes exactly.
A candidate's stored result is reused until it is this old, then recomputed against the current graph. Default 168 = weekly per candidate.
Price Probing
Percentage to raise the fee when probing. Applied to BALANCED channels with steady traffic to test if the market bears a higher price.
Minimum absolute fee increase per probe. Prevents meaningless probes like 10→11 ppm on low-fee channels.
Wait time after raising the fee before measuring results. Fee changes propagate through the network via gossip — measuring too early sees old traffic.
Measurement window after gossip delay. Revenue during this period is compared to pre-probe revenue to decide success or failure.
Minimum time between probes on the same channel after a successful probe. Failed probes use a longer cooldown (7 days) since market conditions haven't changed.
Cooldown after a failed probe. Longer than success cooldown because the market rejected the higher price — wait before asking again.
Revenue must hold above this percentage of pre-probe revenue for the probe to succeed. 80% means up to 20% revenue drop is acceptable (could be natural variance).

Max HTLC Management

Target max_htlc as a percentage of channel capacity. Hard-capped at 95% regardless of setting (LND reserves ~1% and silently rejects higher values). Updates apply when the current value drifts more than 1% of capacity from target.
Floor for max_htlc on small channels. If the target (% of capacity) is below this, raises to the floor — but the 95% hard ceiling still wins, so tiny channels get clamped at 95% of capacity.
Balance-Aware Max HTLC
Cap the advertised max_htlc at the spendable settled balance so depleted channels stop advertising sizes they cannot forward. Hysteresis (75%/125%) prevents chatter on balance wiggles.
Classification Thresholds
A channel with zero traffic for this many days is classified DEAD (feeds the close-candidates report).
Channels moving less than this percentage of capacity in the revenue window classify as STAGNANT.
Flow-direction ratio (inbound-dominant) above which a channel classifies FEEDER. Feeders are exempt from the min-fee floor and the idle-full down-step.
Flow-direction ratio (outbound-dominant) above which a channel may classify DRAIN.
Local balance ratio below which an outbound-dominant channel classifies DRAIN.
Probe Limits
Upper bound on new price probes started in one decision run.
Maximum share of channels allowed to hold an active probe at once.
Auto-Rebalancer

Circular self-payments that refill economically-draining channels. A separate subsystem from the fee engine with its own two gates — the Dry Run switch at the top of this page does not cover it. Refills only ever target channels whose routing revenue already exceeds what refilling them costs.

Enable Auto-Rebalancer
Starts the scheduling loop. On its own this only plans — whether anything is paid for is the switch below. Manually triggered attempts bypass this gate entirely.
Rebalance Dry Run
On (the default) records what it would have done as SIMULATED attempts and pays nothing. Turning this off spends real sats. A simulated attempt still starts the peer cooldown, so shadow mode plans each target at most once per cooldown rather than once per tick.
Refill a channel once its local-available ratio drops to or below this. Measured against movable balance after reserves, not raw capacity.
A channel may only fund someone else's refill if it still holds at least this local-available ratio afterwards. Same movable-balance denominator as the trigger, so a source can never be drained into becoming the next target.
A refill may pay at most this percentage of the target channel's current outbound ppm — so raising a channel's fee raises what its refill may cost, and a decrease lowers it. This is the economic rule; the absolute cap below only catches pathological routes.
Hard ppm ceiling on any single attempt, applied on top of the breakeven percentage above. Set it below your Max Fee times the breakeven percentage and it — not the economic rule — decides the ceiling for every channel priced above that crossover.
Rolling 24-hour cap on rebalance fees, counting both paid and reserved in-flight amounts. Zero stops all spending including manual attempts.
Size of one refill as a percentage of the target channel's capacity.
Random plus/minus jitter on the refill amount, so repeated attempts to the same peer are not identically sized.
How long to wait before retrying a peer after a failed attempt. Simulated attempts start this cooldown too.
Pathfinding deadline handed to LND for one refill payment.
Maximum shards per refill payment. Keeping this at 1 makes cost attribution exact — a split payment can settle over sibling channels to the same peer.
Recent Config Changes

Audit trail of accepted changes (newest first).

Notifications (Telegram)

Get a Telegram message when a channel opens or closes. Create a bot with @BotFather, paste its token below, and enter the chat id to send to. Settings are stored in the database.

The token @BotFather gives you. Stored in the database (Telegram needs it in cleartext), so it is included in DB backups. Currently set (). Leave blank to keep it unchanged.
Where alerts are sent — a user, group, or channel the bot can post to. Find yours by messaging @userinfobot.
Channel open / close alerts
Notify when a channel becomes active or closes, with peer alias, size, and cooperative/force-close type.
Node-health alerts
Alert on force closes, a wedged sweeper / arbitrator (matured funds not being swept), LND being unreachable, and chain-sync loss — the failure modes that can go unnoticed for hours (#35).
Weekly zombie-channel digest
Once per week, list channels that cannot route — a dead peer or a broken chan-sync — so you can cooperatively close them at a low fee before a stranded HTLC forces them to chain (#42).
Auto-rebalancer alerts
Push a message when the rebalancer changes mode — notably the flip to LIVE, where it starts spending real sats — when the rolling 24h fee budget is exhausted, and once a day while it is refilling (in shadow mode, a summary of what it would have done) (#61).