Hey all! Lefteris here, founder of rotki, disclosing my affiliation up front.
After my reply in the “Any privacy focused Crypto Tracker?” thread, this seemed like the right category to properly introduce the project.
What is rotki and why does it exist?
rotki is a portfolio tracker and accounting tool that runs entirely on your own machine. It’s focused on crypto but through manual balances and history can handle virtually anything. We want to make it a more generic financial tool than just crypto (eventually). You install the app, connect your wallets and exchange accounts, and your data lives in an encrypted local SQLite database on your computer. No sensitive financial data touches our servers.
It is multiplatform. Runs on Windows, Macos and Linux. Also has a docker package. It supports many chains (Ethereum and its L2s, Bitcoin, Solana, Polkadot, Kusama and others), exchange integrations (Kraken, Binance, Coinbase, Bitstamp, and more), and decoding for major DeFi protocols (Aave, Uniswap, Compound, Curve, Lido, etc.). End-of-year tax reports can be generated for various jurisdictions.
It exists to serve a need that I had back in 2017. I needed to do my taxes and I was tired of cloud crypto trackers wanting all my data and I wanted something local. So I started it as a side project. It has been opensource from the start (you can see ~20k commits on GitHub). Since 2020 it’s been a small OSS company based in Berlin, currently 3 developers. The monetization model is a mix of paid subscription for advanced features and grants/donations.
What “privacy-preserving” means for us
The most important privacy angle for us is self-hosting and keeping all sensitive financial data on your local machine. Your wallet addresses, balances, transaction history, cost basis, tax events … none of it leaves your computer. With the rise of crypto kidnappings, wrench attacks, and targeted attacks on people suspected to hold significant crypto, this matters more than it did a few years ago. Cloud portfolio trackers and tax tools concentrate exactly the data an attacker would want: addresses linked to identity, total holdings, transaction patterns. A single breach at a centralized provider exposes all of it. rotki’s architecture means there’s nothing centralized to breach.
Highlights
- Free to use, no account required (for free tier).
- Encrypted local database. All your data is in a local encrypted sqlcipher DB. Essentially an encrypted version of sqlite.
- We do not phone home by default. If the user chooses to share some data then we use it to understand usage and improve the product. All shared data is naturally anonymized.
- Code is public and copyleft (AGPL v3). If we disappear tomorrow your data and the tool still work.
- We support many different chains, protocols and are even making attempts to sync with more “traditional” finance.
Limitations
These are the most common criticisms we have been getting and indeed some limitations of the tool. We are trying hard to improve on them within our constraned resources.
- First sync takes a long time unlike the SaaS alternatives as it’s your local tool that does the heavy lifting and nothing is pre-indexed. After that everything is saved/cached in your local machine and retrievals are near-instant from the DB.
- Learning curve could be an issue. Local-first crypto accounting requires reconciliation work. Marking spam tokens, adding missing prices, fixing edge cases and more. With thousands of crypto protocols, hundreds of chains and exchanges It’s not a plug n play tool. We’re working on improving this but it’s an honest gap today. I don’t think it can ever be truly “fixed” but improvements can definitely be made.
- A lot of blockchain providers, indexers etc. are queried. Theoretically they would have the ability to log your queries and compromise your privacy. To combat that you can run and use your own nodes as data providers. But that quickly becomes impossible for most use cases.
- No formal external security audit. Code is public under AGPL, the database is encrypted, and we don’t custody anything. But we haven’t paid for a third-party audit.
- A paid tier exists for higher limits and some features. Core local functionality is free.
Links
- Website: https://rotki.com
- GitHub: GitHub - rotki/rotki: A portfolio tracking, analytics, accounting and management application that protects your privacy · GitHub
- Discord: https://discord.rotki.com
- X: https://x.com/rotkiapp
I am very happy to answer questions, take criticism, or hear what’s missing. If anyone here has tried rotki and bounced off, I’d genuinely like to know why. That feedback is very useful to us.
On the flipside if you like and use rotki we would appreciate if you spread the word about it, use it, star it in Github and support us in any way possible.