V4V.app cutover: new Lightning node this weekend — expect downtime Saturday 1 August

avatar
(Edited)

Vote for Brianoflondon's Witness KeyChain or HiveSigner

This is a value for value post: see the explanation in the footer.


UPDATE 13:38 UTC Saturday 1st August: I have completed the major cut-over work and all seems to be working in my testing. I've turned the site back on and I'm watching it carefully.

voltage-to-lgeion-split-over.jpg

Cutting over to a new Lightning node

TL;DR

I am moving @v4vapp off Voltage onto a new Lightning node this weekend.

Work starts in earnest tomorrow. Plan for downtime on Saturday 1 August while production is stopped, rewired, and smoke-tested. Do not start large Hive ↔ sats transfers or depend on Lightning addresses / invoice minting until I post that things are back.

This is the migration I promised after Voltage killed self-serve. Code is ready. The remaining work is ops and config — and that is still a proper chunk of work, not a config flip.


Why this weekend

Voltage still has a hard end to self-serve. My production node lives there. The path I chose is: keep @v4vapp running, point it at a Lightning node I control (Legion — alias V4VAPP Indigenous), and stop depending on Voltage for day-to-day business.

I have already done the engineering work so the backends understand:

  • which node they are talking to
  • how not to replay old Lightning history into customer balances
  • how the public API and the monitors stay on the same node (if those disagree, deposits never credit)

What is left is the careful bit: stop the pipes, archive the old live event tables, switch credentials, bring everything up in the right order, and test with real money.


Scale of the work (without the full runbook)

@v4vapp is not one box and a website. For this cutover I have to line up two codebases and a handful of long-running processes that all touch Lightning or the ledger:

PieceRough role
backend-v2gRPC to LND, invoice/payment streams, accounting, Hive monitors
api-extpublic REST for minting/checking invoices (macaroon-based, different path into LND)
lnd_monitorlive subscribe / store of Lightning events
db_monitorchange streams + opening balances + ledger side
hive_monitoroutbound pays from Hive / Keepsats
api / Magi / friendsanything else that still hits LND

If any of those still point at Voltage while others point at Legion, you get the worst kind of bug: silent split brain.

So the weekend is not “change one URL.” It is closer to:

  1. Drain the old world — finish open invoices, in-flight pays, and half-done deposits that still need the old parent invoice docs.
  2. Stop writers in order — public API first (no new invoices), then Hive pays, then monitors that insert and ledger events. Maintenance window, not a rolling restart.
  3. Archive Voltage-era Lightning event collections in Mongo (invoices / payments / htlc_events → dated archive names), leave empty live collections with the same names the code expects. Leave the ledger and Hive history alone — that is the real books.
  4. Capture floors on Legion at T0 — so we only process new Legion events forward, not a flood of history as if it were brand-new customer activity.
  5. Point every prod config at Legion — YAML + certs/macaroons on the backend host, REST URL + limited macaroon on api-ext, same node identity for ledger (legion, not “pretend we are still voltage”).
  6. Bring services up in order — monitor first, then db_monitor (opening balance under External Lightning / legion gets a deliberate look), then hive, then public API.
  7. Smoke tests with small real flows — mint, settle inbound, small outbound, decode, admin balances vs node — before I tell anyone it is open season again.

That is a full cutover checklist. It is also why Saturday is the honest day to expect downtime, even if prep runs tomorrow.


What you will notice

  • Possible / planned downtime Saturday 1 August (UTC day — I will update this post with exact windows if I can pin them tighter).
  • Invoice minting, LNURL-style deposits, and Keepsats → Lightning pays may simply fail or hang while services are stopped.
  • After go-live, new Lightning activity lands under the legion ledger identity. Old Voltage-era external Lightning history stays frozen where it is. Keepsats balances stay continuous — the ledger is still the source of truth for completed work.

If you hold Keepsats: they remain in the books through this. Still, do not park a transfer you need today until I confirm smoke tests passed.


What this is not

  • Not a new frontend feature drop.
  • Not a rewrite of Keepsats accounting.
  • Not “import all of Voltage history into the new node and hope.”
  • Not another feature branch. Code on develop is cutover-ready; production is config + archive + ordered restart.

I will not re-import old Voltage invoices into live collections for accounting. I will not leave old Voltage stream cursors sitting in live Mongo (that would skip almost everything on Legion). I will not label the new node voltage in config while pointing at Legion — that would blend two nodes under one ledger sub and make forensics miserable later.


After the cutover

  • Watch logs hard for the first hour: wrong subscribe point, permission errors, unique-index noise.
  • Confirm Voltage is no longer getting new v4vapp business traffic.
  • Then reopen deposit paths properly and keep an eye on balances.

If something looks wrong after I reopen, comment here — same as always.


Support

Moving nodes is the unglamorous half of running a bridge. Hosting and time still cost real money; fees do not cover close to it. If this service is useful to you:


Status updates

I will edit this post (or drop a short follow-up) when:

  1. Downtime starts
  2. Smoke tests pass and the gateway is open again on Legion

Tomorrow: prep and go-live work. Saturday 1 August: expect downtime.

No drama — just moving the pipes under a live system with other people’s sats in the ledger. I would rather take a clear maintenance window than a silent mess.


Value for Value

For the last few months while building @v4vapp I was generously supported by the DHF. Going forward I have a much more modest support which covers direct server costs and a little of my time.

If you appreciate the work I do on and around Hive, you can express this directly: upvoting posts on Hive is great. Also consider a direct donation (there's a Tip button on Hive or a Lightning Address) on all my posts.

Vote for Brianoflondon's Witness KeyChain or HiveSigner




0
0
0.000
3 comments
avatar
(Edited)

Great to see you found a way to continue the project. And maybe with AI you can improve it and also find new ways of lowering the costs of running such an infrastructure and app.

0
0
0.000
avatar

Congratulations @brianoflondon! You received a personal badge!

You powered-up at least 10 HIVE on Hive Power Up Day!
Wait until the end of Power Up Day to find out the size of your Power-Bee.
May the Hive Power be with you!

You can view your badges on your board and compare yourself to others in the Ranking

Check out our last posts:

Hive Power Up Month Challenge - July 2026 Winners List
Be ready for the August edition of the Hive Power Up Month!
Hive Power Up Day - August 1st 2026
0
0
0.000
avatar

I am curious about the map as now nothing appears as available in Central America.

0
0
0.000