diff options
| author | Adam Soltys <[email protected]> | 2026-08-17 23:44:31 -0700 |
|---|---|---|
| committer | Adam Soltys <[email protected]> | 2026-08-17 23:44:31 -0700 |
| commit | abf96d89ceb6070bb490cbce2cf374bcc21a9daf (patch) | |
| tree | 2971a2033650e1822a143d6fce9413507aed1ecb | |
| parent | 1d37b6ef3b633e04c2b27d01ec3ceb47a9a79fa9 (diff) | |
| download | coinosv3-abf96d89ceb6070bb490cbce2cf374bcc21a9daf.tar.gz coinosv3-abf96d89ceb6070bb490cbce2cf374bcc21a9daf.zip | |
Staging LNURL declines what it cannot deliver: only the recipient wallet mints for @staging names — our mainnet node will not take real sats it can only strand
Co-Authored-By: Claude Fable 5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01JtaatFfAbx91Nh3xqKVqKz
| -rw-r--r-- | names/server.js | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/names/server.js b/names/server.js index c6b092b..df823f9 100644 --- a/names/server.js +++ b/names/server.js @@ -816,6 +816,11 @@ Bun.serve({ const pr = await requestInvoiceFromWallet(rec.offerPk, { amountSat: sat, description: comment, zap }); if (pr) { log(`lnurl ${key}: recipient minted ${sat} sat`); return json({ pr, routes: [] }); } } + // Staging names are mutinynet wallets: only their own wallet can mint a + // right-network invoice. Minting on our mainnet node would take real + // sats for play money and strand them (the forwarder can't deliver to + // a testnet ark address). + if (domain === 'staging.coinos.io') return json({ status: 'ERROR', reason: 'recipient is offline' }, 503); // 2. our node, forwarded on settle if (!ln || !fwd) return json({ status: 'ERROR', reason: 'recipient is offline' }, 503); try { |
