Hey stackers,
I’m helping a non-profit organization figure out how to hold a meaningful amount of bitcoin for the very long term, and I’d really appreciate some guidance from people who’ve actually done something like this.
There are some main goals to achieve:
- Be able to receive donations in bitcoin in a way that’s transparent and auditable to the public.
- Possible off-ramp solutions to convert fiat donations to bitcoin.
- Optionally, setup lightning solution in existing platform to send crossborder funds where needed.
- Set up a long-term Bitcoin “reserve” or "treasury" in cold storage, ideally multisig, with solid internal governance structure.
I am also a bit unsure about terminology, so let me know if I’m off here:
A Bitcoin strategic reserve feels to me like “this is our deep cold, almost-never-touched stash,” meant for decades, only used in extreme circumstances.
A Bitcoin treasury feels instead sounds like: “this is our overall BTC balance,” including funds that might be used for operations, runway, or periodic spending.
In our case, the non-profit is leaning more toward the “strategic reserve” concept. However they’ll obviously also need some way to receive donations and potentially move part of those funds into the reserve while keeping some for shorter-term use.
What I’m looking for:
- Resources or guides for organizational cold storage
- Long-form guides, videos, repos, or writeups that walk through setting up cold storage for an organization (not just a single person).
- Other NPO we can refer to as leading example
- Multisig setups that work well for orgs
- Transparent donation flow, even in case donations are anonymous
- Common mistakes and things to avoid
- Anything specifically about non-profits, clubs, associations in the bitcoin space would be especially interesting.
- Any other useful and inspiring story, article, reference, etc.
Context:
This is a non-profit organization—not a company or government agency—with three independent registered entities in the USA, Europe, and Africa. It focuses on providing meals and clean water solutions in regions where children are often affected by waterborne diseases. Since contaminated water is the leading cause of death among children in these areas, donations are managed with a long-term approach to ensure the sustainability of each mission and the organization’s future.
They’re willing to invest time in learning and documentation, but they don’t have a full-time “Bitcoin infra” person. So here I'm, volunteering for a good cause.
Also curious:
Do you think the “strategic reserve” vs “treasury” distinction actually matters in practice for a non-profit, or is it more of a framing/communication thing?
Thanks in advance for any pointers, stories, or critiques.
Hmmm that's a lot of touch points to hit, I doubt one single service or software can manage it all, and you'll have to either make some consessions or you'll have to play the middle man between all the software in play
I have worked with 1 non-profit and while they wanted to accept Bitcoin, they didnt' actually care too much about it, it was just an add on and they are more focused ont he cash and there isn't anyone technical to manage it so they went with - https://thegivingblock.com/ and for LN they're using a local payment provider that is linked up to moneybadger but on their end all they get is cash
For the front end its going to depend on how involved you want to be you can use something like BTCpay or Zaprite https://zaprite.com/ - if you're running a node yourself or something like https://paywithflash.com/flash-automated-treasury-early-access/ that you can hook up to a node or albyhub for example
As for the holding of funds, you'll need a few technical people onboard to each manage their key which is a ball ache if you do it DIY
Or you can look at something like unchained
https://www.unchained.com/donor-advised-funds
Who can at least come in an advice
but for every company you bring into the stack theirs costs involved! More DIY is cheaper but a lot of time involved in upkeep
Thank you, theGivingBlock is really useful and I did not know about it. Same as that Zaprite requires self-custodial, I'll learn more about it.
I'm not expecting one tool to fix the whole flow, the NPO is already using a tool to receive "crypto", ideally I
d like that tool to be just as backup, it could turn useful to swap crypto to bitcoin in the future
Maybe you want to contact Btrust to ask them how they operate.
While they're a trust as opposed to a charity, I would expect many operational pieces to be very, very similar.
Great suggestion, thank you. I'll reach out and ask. Any other organization you thik I could reach out for advice and inspiration?
Interesting, these are great questions. I am no expert but I know BTCPayserver has tools built in for crowdfunding and donations. If I remember correctly, it allows you to set a fundraiser goal and publish the total amount received. Also, it can be used in a self-hosted manner with one's own bitcoin/lightning node.
As far as organizational cold storage, I don't know, but I would be interested to see what others say about it.
Good idea, thank you. BTCpay could be the server to receive directly in the multisig cold storage. The NPO is and will run multiple fundraisers campaigns simultaneously, I'll check if that's an option.
"receive donations in bitcoin in a way that’s transparent and auditable to the public."
On-chain is trackable but you may harm senders privacy by reusing address (if they don't know how to maintain their own on-chain privacy.
Lightning is private by default but you can simply share a CSV of donations with each audit.
On Geyser Fund you also see all transactions coming in, both on-chain, LN and Fiat
"Possible off-ramp solutions to convert fiat donations to bitcoin."
Instead, pay people in bitcoin, staff bonuses etc.
You can check things like bitwage, bitrefill as well, other than that, any local exchange does, (USA River, Strike, EU Relai, 21bitcoin etc etc)
"Optionally, setup lightning solution in existing platform to send crossborder funds where needed."
You need a Lightning Wallet, either use a custodial or non-custodial wallet. It depends on your jurisdiction. I would say test Phoenix, Wallet of Satoshi, Blink and Coinos. Also Alby Hub would be interesting because it has sub wallets and more functionality.
I'm sure other people here will have even more ideas, definitely see the guides by @DarthCoin
"Set up a long-term Bitcoin “reserve” or "treasury" in cold storage, ideally multisig, with solid internal governance structure."
Nunchuck, Sparrow, Electrum, Theya come to mind. But it's a learning curve and things can go wrong, so would probably start to "outsource" that responsibility initially and go custodial first, while relentlessly training non-custodial processes with the board.
<br>
Here are a number of resources that could help:
Accepting Bitcoin donations with Blink and Flash
https://lightning.news/how-to-accept-bitcoin-donations/
How Mi Primer Bitcoin runs "bitcoin-only"
https://lightning.news/bitcoin-only-non-profit/
For donations, I'd say check out the features here
Geyser https://geyser.fund
BTC Pay Server https://btcpayserver.org
Flash https://paywithflash.com
Other NGOs, definitely MiPimer but there are plenty of others, perhaps Human Rights Foundation could be good resource as well.
"Do you think the “strategic reserve” vs “treasury” distinction actually matters in practice for a non-profit, or is it more of a framing/communication thing?""
No who cares, you can also just call it savings or "emergency funds" - you keep cold hard sats and don't spend it until you really need or really want to. It's that simple. Of course accounting rules are a different story.
"they don’t have a full-time “Bitcoin infra” person. So here I'm, volunteering for a good cause." That's amazing!
Thank you for taking the time and share all this information, L'll take the time to learn more about all your mentions.
Geyser is probably excluded, there are already many intermediaries in the current process and adding another intermediary with a 5% fee seem unnecessary, especially for NPO at this scale. Those sats could save many children lifes. Pay with flash sound's interesting too, for a more humble 1,5% fee.
You mention BTCpay again, so I'll be prone to explore how they could implement it in their existing system and evaluate if it has some APIs.
Lighting will be used mostly internally and to send sats abroad to final destination. In this step would be interesting to connect with local communities so they can take care of educating the donation beneficiaries in loco. Custodial solution may not work, I was thinking more about a federated solution where the NPO keep the sats in case beneficiaries loose access etc.
https://opennode.com is used by nonprofits and some political fundraising efforts. it does most of what you have in the bullet points. you'd still want to set up multisig cold storage off platform and could configure opennode autowithrawals to that wallet
thanks I'll check this out too