Marius Gundersen

Bitcoin Piggybank

It's been a while since I last did any 3D printing, but with my younger brother's birthday coming up I decided it was time to create something again. This time I made a 3D printed Bitcoin piggybank.

Bitcoin is an online currency based on public key cryptography and opensource software. If you aren't familiar with Bitcoin I suggest you watch the short video over at If you want some technical information, you should watch this presentation by Brian Warner.

The Bitcoin piggybank is a small 3D printed piggybank. It only fits a single coin, but then again it's not designed to store physical money. Instead it stores digital money at a Bitcoin address, a 27-34 character alphanumeric code. This address is printed around the sides and back of the piggybank, and is needed to put money into the piggybank. Because the address is based on a public key, it can safely be given to friends and family, and they can place Bitcoins into the piggybank, for example as a birthday present. Just like a regular piggybank, this makes it easy to save Bitcoins, either your own, or money you receive as gifts.

To spend Bitcoins you need the private key, a 52 character alphanumeric code, associated with the address. This private key should be kept secret, as anyone you gets their hands on it can spend the money at the address. To make sure nobody can get to the money in your Bitcoin piggybank, the private key is printed on the inside of it. This means that you need to break open your Bitcoin piggybank to spend the money stored inside it, which is just like a regular piggybank.

The Bitcoin piggybank was printed by in fine detail plastic and is available for sale from my shop. Here you can provide your own address and private key to be printed inside and outside the piggybank. If you are sceptical about sending me your private key, you can encode it using my Bitcoin One Time Pad.

Finally, if you wish to, you may donate to the Bitcoin piggybank I gave to my brother: 1NuyTSs1eqB44LNDr6fLW2D8aG96Hax6D2.

Did you find a mistake or have a suggestion for an improvement? Let me know or fork it and send me a pull-request.