After publishing my BIP39 mnemonic article, a few people asked how my Bitcoin donation widget worked and whether it used BTCPay Server.
It doesn’t. I love BTCPay, but for a little website like mine, it’s overkill.
So I wrote up a guide on how to build a self-custodial, privacy-friendly donation setup using nothing but an XPUB, a serverless function, and some frontend JS. The full source code is on GitHub, so it can be cloned and modified freely. Not sure how many folks need something this minimal, but I figured I can’t be the only one.