Core principles

Open source

We not only publish all our code in open source but also our designs, assets, wireframes, presentations, and content. We make sure that we document the code properly. We encourage people to copy, reuse what we do in whatever ways they see fit.

Small is beautiful

We try to keep the core as small as possible and create an environment where it’s easy for anyone to add plugins.

No software obsolescence

We make sure that people with old devices can use the Citizen Wallet. People shouldn’t be forced to update their wallet.


Not everyone has a smartphone. Not everyone has a good data connection at all times. We make sure people can interact with the Citizen Wallet with paper and NFC cards. We make sure we can enable offline transactions that can be redeemed later.


We grow horizontally, not vertically. We want to enable a wide group of people around the world to take the Citizen Wallet as a building block for their community project and to build plugins for it.

Offline first

We make sure that people can always open their wallet and see their past transactions offline. It’s their data, it should always be on their device first. We also look for solutions to enable offline transactions.


No vendor lock in. We want to enable autonomous communities with their own autonomous economy.

One private key, one device, one community

Private keys never leave the device where it has been generated and they are unique to a single community. This ensures privacy (we cannot link your actions in different communities) and recoverability. Since the community has full ownership of their community token, and since your account is only used for that token, it is ok to trust the community and allow them to recover your account. This removes one of the biggest hurdles in the adoption of crypto for citizens. They don’t have to worry about seed phrases that they have to safely keep somewhere.