Avengers Pocketdb is a crypto-native database designed for individuals who are *privacy-conscious* & who like to keep their crypto data *organized*. It’s delivered as a web app, & the hardware it needs is designed to fit in your pocket - great for the *security-conscious*!
The problem: Is your crypto data spread across long spreadsheets & many text files? Do you use diff identities for diff purposes but don’t have a reliable system to manage them?
Description below, and link to slides included as well.
=== The Solution: Avengers Pocketdb! ===
Why the name? The Avengers is made up of many superheroes, and here it represents how we each have multiple identities: with family, frends, work, etc. Pocketdb refers to the fact that the solution fits into your pocket, in the form of a flash drive or a Raspberry Pi.
What it does [ ] Track all your wallets and addresses: where they are loaded, what you did with them, who knows you have those addresses. You can use this for mundane things like tax reporting or to choose the best address to use for a specific payment/transaction/event based on your privacy preferences [ ] Record and search your transactions using keywords like “angel investment,” “hackathon,” “ETH2 staking,” “burning man camp fees” [ ] Upload contacts and mark them as knowing a specific address of mine (e.g. I invest in RamenSwap by depositing USDC into their address. I will make a note that the address from which I sent the USDC funds is doxxed to them)
Bonus (not tied to previously described pain points) [ ] Ability to calculate what you made on a certain investment. Using tags for each investment decision (e.g. “# buy May 2022 dip in 3 chunks”), track how you’ve done for the whole investment instead of per single on-chain transaction. Returns multiple on investment and annualized return for some intellectual honesty ;) [ ] Two options for running it depending on your travel habits and security concerns: run the app on a Raspberry Pi at home and access your database from anywhere. Or, run the app on your laptop, but keep the underlying data in an encrypted CSV file on a USB flash drive that you keep well-protected
Slides to explain why we built this and lots of Future Work ideas: https://docs.google.com/presentation/d/1ICPpbf_vO5_tCdcZ9IsCbTTckj0jayBDhrgsGZuieok/
=== MORE BACKGROUND ON THE PROBLEM ===
=== A preference for privacy and the problems it create ===
I will tell this story from my perspective, but I believe my experience is common to a lot of people.
Some users have a preference for privacy while transacting with different parties. In transparent blockchains, privacy is achieved via pseudonymity, where people cannot tie their knowledge of who you are IRL to the transactions that they see a particular address make.
It feels strange when I pay someone for lunch at a conference and they suddenly have info on every single tx i’ve ever made and will make. It’s embarassing letting people I work with know that I aped into some stupid NFTs… and while on work time. So, I create different addresses for different purposes. This is not the problem.
The problem arises when, in addition to protecting my privacy, I also want to be organized. I have a long spreadsheet and several text files with hundreds of entries. In each of these poor man’s database tools, I enter records of NFTs I buy, stablecoin investments into startups, staking arrangements, and much more. It’s a total mess, and don’t let me get started on notes that conflict because those files overlap in scope.
Making matters worse, I like trying out new tech and I am security conscious. So I use many devices (laptops and mobiles) and many browsers, each with their own wallet. If you’re like me, you know what I mean by not knowing exactly which wallet to use for a particular transaction :’\
=== Solutions… that don’t fully meet our needs ===
Zerion and Zapper are great. At the click of a button, they show you the tokens you have at an address. But they don’t let me track things like funds sent for angel investments. They don’t let me annotate transactions like payments to friends. Or note that I used a certain address to register for this hackathon. Or tell me who knows which addresses I hold.
That’s why I still need my spreadsheets :(
In addition, and importantly, I really do not like the idea of sending my data to external parties, whether it’s a wallet address or personal notes on transactions. I would prefer to log all this personal financial data on an app that only I can access.
The frontend is built with React, ethers.js, zustand, and Vite. The data store is designed to swappable depending on the end user's security and privacy needs. As a proof of concept, it uses the browser's localStorage. This can be replaced with a CSV import / export, a traditional web service backend, or even a decentralized peer-to-peer personal server such as Urbit.