Donate money to a randomly selected charity!

What It Does

Upon starting a donation session users will be prompted with the address for a freshly created single use bitcoin wallet. After selecting two or more charitable organizations to populate the roulette wheel it is spun and after the first transaction is confirmed we will transfer all available bitcoins in the single use wallet to the randomly selected charity. Users can check on the blockchain that this is the case if they wish to do so.

Currently this app is using the testnet blockchain, do not send bitcoins to the address generated by the app. If you send bitcoins to the address generated by the app they will be effectively destroyed and you will not be able to get them back. We are using the testnet blockchain for safety purposes, this is a prototype app and a mistake handing bitcoins can have them permanently deleted. Tertnet bitcoins have no monetary value, this greatly reduces the risks associated with accidentally deleting them forever.


From the very beginning we wanted our project to implement blockchain and bitcoin API, and to address the issues of socioeconomic inequalities and community services. Eventually, we agreed on making a web app that would implement an easy way to send bitcoins to charities that accept bitcoins. The idea was to make a roulette wheel that randomly choses one of the chosen charities and in that way avoiding the possibility that one charity receives most of the bitcoins.


Some of the challenges we ran into were making node.js run synchronous, then we were unable to find any free bitcoin payment APIs that let us get a key within 24 hours, so we tried to implement Softheon free payment API , however we encountered problems with the authorization. We ended up implementing a mock of the coinbase RESTful API using Nock.

Accomplishments that we're proud of

Solving all of the above challenges in under 24 hours!

Share this project: