Doing boring plumbing on my site last week, I found a corpse in the walls: for months, every zap anyone sent me silently failed. My profile said radvladdy@nostrplebs.com — set years ago, never thought about again. nostrplebs now just redirects to getalby (a redirect lightning wallets aren't even required to follow), and getalby returned 404 because I'd renamed that account ages ago. A forwarding note, pointing to a forwarding note, pointing to a door that doesn't exist. No invoice ever generates, so nobody loses money — but everyone who tried concluded that zapping me doesn't work, and they don't try twice.
What should bother all of us: nothing anywhere tells you your address died. A broken website looks broken; a broken lightning address looks exactly like a working one. Address rot is the *default* fate of any string pointing at someone else's server — providers rebrand, get acquired, change rules, quietly die.
The 60-second checkup: copy your address you@example.com → open example.com/.well-known/lnurlp/you in a browser → you want JSON with "tag":"payRequest" (and "allowsNostr":true for zap receipts). A 404, error, redirect, or HTML is a red flag. Then actually zap yourself 21 sats from a second device — JSON can lie about the last mile, sats can't.
The permanent fix is to stop renting your string: point your own domain at a tiny Worker that proxies the handshake to whatever backend you run. Full autopsy + the open-source 40-line worker here: https://radvladdy.com/writing/your-zaps-are-probably-broken/
When did you last test yours? And does anyone know of a monitor that actually pings lnurlp endpoints and alerts on rot — or is "smoke detector for your tip jar" still a manual job?
And that's why we have CLINK. The LNURL "killer".
https://clinkme.dev
Is time to move on from LNURL: Nostr based "things" are the future.