Derek Ross

derekross@grownostr.org

The purple pill helps the orange pill go down.

Developer Relations at Soapbox.

🪺 NostrNests.com 🎙️ YakBak.app 🖼️ Zappix.app 🗓️ Plektos.app 🎶 ZapTrax.app 📈 Zaplytics.app 🎧 Podstr.org

  1. Buy computer parts because pre-builts are fiat
  2. Assemble computer (don't forget thermal paste this time)
  3. Install Ubuntu Server because you're not a degenerate
  4. sudo apt update && sudo apt upgrade (pray)
  5. Configure static IP on your router
  6. Forward port 8333 (call ISP if CGNAT, they'll say no, cry)
  7. Install Bitcoin Core from source because you verify everything
  8. Wait 3 days for IBD (initial blockchain download, not insomnia)
  9. bitcoin-cli getblockcount (compare to mempool.space, panic if different)
  10. Wait 3 more days
  11. Create bitcoin.conf with txindex=1 because you'll need it later
  12. Install Tor because privacy isn't just for criminals Karen
  13. Configure Bitcoin Core to use Tor hidden service
  14. Install LND (Lightning Network Daemon)
  15. Create lnd.conf with bitcoind backend
  16. Generate wallet seed (write it down, NOT in a .txt file on your desktop)
  17. Wait for LND to sync (another day of your life, gone)
  18. lncli getinfo — confirm channels = 0, feel empty inside
  19. Send BTC to your LND wallet on-chain (pay $4 in fees)
  20. Open your first Lightning channel (pay another $2 in fees)
  21. Channel is pending. Wait 6 blocks. Go outside. Touch grass.
  22. Channel is open! You have 0 inbound liquidity. Cool.
  23. Open MORE channels with balanced liquidity
  24. Buy inbound liquidity from a peer because of course that's a thing
  25. Install RTL (Ride the Lightning) to manage your node
  26. Configure RTL with LND macaroons
  27. Generate a Tor hidden service for RTL
  28. Now install LNURL
  29. Clone lnurl-poole repo from GitHub
  30. npm install (it works first try, you lucky bastard)
  31. Configure LNURL with LND backend
  32. Create LNURL-pay endpoint
  33. Set up Nginx reverse proxy
  34. Install Certbot for SSL (Let's Encrypt, not your Let's Not)
  35. Configure DNS records (A record, AAAA record, TXT because why not)
  36. Wait for DNS propagation (1-48 hours, spin the wheel)
  37. Test LNURL endpoint (it fails)
  38. Debug for 2 hours
  39. It was a typo in the config
  40. Test again — it works!
  41. Now install Nostr Wallet Connect (NWC)
  42. Clone nwc-payserver or use Alby's NWC implementation
  43. Configure NWC to connect to your LND node
  44. Generate NWC connection string (this is the magic string)
  45. Format it as nostr+walletconnect://...
  46. Copy the string
  47. Open your Nostr client (Damus, Amethyst, or whatever)
  48. Settings → Wallet → Connect Wallet
  49. Paste the string
  50. It doesn't work
  51. Check LND logs
  52. Check NWC logs
  53. Check firewall rules
  54. The port was closed. Open it.
  55. Try again
  56. It works!
  57. Post a note on Nostr
  58. Someone zaps you 21 sats
  59. You cry tears of joy
  60. The lightning invoice settles
  61. Check your balance — 21 sats!
  62. Channel management: rebalance because all your liquidity went one direction
  63. Install Balance of Satoshis for rebalancing
  64. Run bos rebalance and pay more in fees than the zap was worth
  65. Install HTLC insurance (this is made up but you'd believe it by now)
  66. Watch your node 24/7 like a newborn child
  67. Set up monitoring with Prometheus + Grafana
  68. Configure alerts for channel closures
  69. Set up backup script for channel state
  70. Test backup restore on another machine (you won't, but you should)
  71. Update Bitcoin Core (compile from source again, 45 minutes)
  72. Update LND (another 20 minutes)
  73. Pray the updates don't break anything
  74. They broke something
  75. Roll back, try again
  76. Successfully updated
  77. Someone zaps you 1000 sats!
  78. You made $0.77!!!
  79. Calculate ROI on the $500 computer, $10/month electricity, 40 hours of setup
  80. At this rate you'll break even in 7 years
  81. Worth it
  82. Write a shitpost about the experience
  83. Get zapped for the shitpost
  84. 2100 sats
  85. NOW we're talking
  86. Configure auto-rebalance cron job
  87. Set up watchtower for backup channel monitoring
  88. Install charge-lnd for automated fee management
  89. Realize you've become a full-time Lightning Network administrator
  90. Quit your job
  91. Start a Lightning node management consulting business
  92. Charge 10,000 sats/month per node
  93. Get 3 clients
  94. 30,000 sats/month revenue
  95. That's $23
  96. But you're your own boss
  97. And you can accept zaps
  98. Copy paste one string
  99. Satoshi's vision achieved
Derek Ross
Apr 22, 2026 17:16

Introducing Ditto Self Sovereign Zaps:

How to Accept Zaps on Nostr (99 Easy Steps)

  1. Buy computer parts because pre-builts are fiat
  2. Assemble computer (don’t forget thermal paste this time)
  3. Install Ubuntu Server because you’re not a degenerate
  4. sudo apt update && sudo apt upgrade (pray)
  5. Configure static IP on your router
  6. Forward port 8333 (call ISP if CGNAT, they’ll say no, cry)
  7. Install Bitcoin Core from source because you verify everything
  8. Wait 3 days for IBD (initial blockchain download, not insomnia)
  9. bitcoin-cli getblockcount (compare to mempool.space, panic if different)
  10. Wait 3 more days
  11. Create bitcoin.conf with txindex=1 because you’ll need it later
  12. Install Tor because privacy isn’t just for criminals Karen
  13. Configure Bitcoin Core to use Tor hidden service
  14. Install LND (Lightning Network Daemon)
  15. Create lnd.conf with bitcoind backend
  16. Generate wallet seed (write it down, NOT in a .txt file on your desktop)
  17. Wait for LND to sync (another day of your life, gone)
  18. lncli getinfo — confirm channels = 0, feel empty inside
  19. Send BTC to your LND wallet on-chain (pay $4 in fees)
  20. Open your first Lightning channel (pay another $2 in fees)
  21. Channel is pending. Wait 6 blocks. Go outside. Touch grass.
  22. Channel is open! You have 0 inbound liquidity. Cool.
  23. Open MORE channels with balanced liquidity
  24. Buy inbound liquidity from a peer because of course that’s a thing
  25. Install RTL (Ride the Lightning) to manage your node
  26. Configure RTL with LND macaroons
  27. Generate a Tor hidden service for RTL
  28. Now install LNURL
  29. Clone lnurl-poole repo from GitHub
  30. npm install (it works first try, you lucky bastard)
  31. Configure LNURL with LND backend
  32. Create LNURL-pay endpoint
  33. Set up Nginx reverse proxy
  34. Install Certbot for SSL (Let’s Encrypt, not your Let’s Not)
  35. Configure DNS records (A record, AAAA record, TXT because why not)
  36. Wait for DNS propagation (1-48 hours, spin the wheel)
  37. Test LNURL endpoint (it fails)
  38. Debug for 2 hours
  39. It was a typo in the config
  40. Test again — it works!
  41. Now install Nostr Wallet Connect (NWC)
  42. Clone nwc-payserver or use Alby’s NWC implementation
  43. Configure NWC to connect to your LND node
  44. Generate NWC connection string (this is the magic string)
  45. Format it as nostr+walletconnect://…
  46. Copy the string
  47. Open your Nostr client (Damus, Amethyst, or whatever)
  48. Settings → Wallet → Connect Wallet
  49. Paste the string
  50. It doesn’t work
  51. Check LND logs
  52. Check NWC logs
  53. Check firewall rules
  54. The port was closed. Open it.
  55. Try again
  56. It works!
  57. Post a note on Nostr
  58. Someone zaps you 21 sats
  59. You cry tears of joy
  60. The lightning invoice settles
  61. Check your balance — 21 sats!
  62. Channel management: rebalance because all your liquidity went one direction
  63. Install Balance of Satoshis for rebalancing
  64. Run bos rebalance and pay more in fees than the zap was worth
  65. Install HTLC insurance (this is made up but you’d believe it by now)
  66. Watch your node 24/7 like a newborn child
  67. Set up monitoring with Prometheus + Grafana
  68. Configure alerts for channel closures
  69. Set up backup script for channel state
  70. Test backup restore on another machine (you won’t, but you should)
  71. Update Bitcoin Core (compile from source again, 45 minutes)
  72. Update LND (another 20 minutes)
  73. Pray the updates don’t break anything
  74. They broke something
  75. Roll back, try again
  76. Successfully updated
  77. Someone zaps you 1000 sats!
  78. You made $0.77!!!
  79. Calculate ROI on the $500 computer, $10/month electricity, 40 hours of setup
  80. At this rate you’ll break even in 7 years
  81. Worth it
  82. Write a shitpost about the experience
  83. Get zapped for the shitpost
  84. 2100 sats
  85. NOW we’re talking
  86. Configure auto-rebalance cron job
  87. Set up watchtower for backup channel monitoring
  88. Install charge-lnd for automated fee management
  89. Realize you’ve become a full-time Lightning Network administrator
  90. Quit your job
  91. Start a Lightning node management consulting business
  92. Charge 10,000 sats/month per node
  93. Get 3 clients
  94. 30,000 sats/month revenue
  95. That’s $23
  96. But you’re your own boss
  97. And you can accept zaps
  98. Copy paste one string
  99. Satoshi’s vision achieved

Or you know, use Spark.