Inspiration

Open source developers power the internet but have no frictionless way to receive Bitcoin tips directly where their work lives. GitHub Sponsors exists but requires platform approval and fiat rails. Lightning addresses are already public, they just needed a trigger.

What it does

GitHub has 100 million developers. There is no native way to tip them in Bitcoin. Zaptip fixes that. Zaptip is a Chrome extension that detects Lightning addresses on GitHub profiles and repo descriptions and injects a Zap button. Anyone with the extension installed can tip a developer instantly with Bitcoin over Lightning. No backend, no custody, no accounts.

How we built it

  • Vanilla JS content script running on github.com
  • Detects Lightning addresses (LNURL-pay) in profile bios and repo About sections
  • Resolves the address via two fetches to the LNURL endpoint to get a real invoice
  • Pays via WebLN if the user has a compatible wallet installed (Alby etc.)
  • Falls back to a QR code the user can scan with any Lightning wallet
  • Validates minSendable/maxSendable from the LNURL response before creating an invoice
  • No backend, no build step, no framework. Manifest V3, 200 lines of vanilla JS

Challenges we ran into

  • LNURL-pay providers set different minimum sendable amounts, so preset buttons needed to be validated and disabled dynamically against the live response
  • Injecting UI into GitHub's DOM cleanly without conflicting with their styles
  • Testing WebLN end to end

Accomplishments that we're proud of

Built a fully working Lightning tipping flow solo in a short time, no framework, and no external dependencies beyond a QR library. The extension detects Lightning addresses, resolves invoices via LNURL-pay, and handles both WebLN and QR fallback cleanly in under 200 lines of vanilla JS.

What we learned

The full LNURL-pay flow and WebLN as a browser standard

What's next for Zaptip

  • Support for other browsers, including Firefox and Brave
  • LNURL-pay comment support so tippers can attach a message to their payment
  • Native GitHub FUNDING.yml integration so repo owners can register their Lightning address as an official funding source

Built With

Share this project:

Updates