unsubbed.co

Rotki

Rotki gives you privacy-focused portfolio manager, accounting, and analytics tool on your own infrastructure.

Open-source portfolio management, honestly reviewed. No marketing fluff, just what you get when you self-host it.

TL;DR

  • What it is: Open-source (AGPL-3.0) portfolio tracker, accounting tool, and tax reporter that stores all your data locally on your machine — never on a third-party server [1][2].
  • Who it’s for: Crypto investors who are uncomfortable handing wallet addresses, exchange API keys, and trade history to cloud SaaS providers. Also tax-conscious holders who need defensible profit/loss reports [2][5].
  • Cost savings: Competing cloud tools like Koinly start at $49/year and run to $279/year for larger portfolios. CoinTracking charges $10.99/month and up. Rotki’s free version is genuinely capable, and the Premium tier is one-time or annual — data not available in sources for exact current pricing, but the contrast is structural: you’re not paying per transaction or per wallet address [1][2].
  • Key strength: Every piece of your financial data — wallet addresses, exchange history, trade logs, tax reports — lives on your own machine, encrypted. No account required to install [2]. The testimonials on the website are unusually specific and credible: one user says they categorized an entire year of company on-chain transactions for a tax accountant in “a couple of hours” vs. “at least 2–3 days” without it [website quotes].
  • Key weakness: AGPL-3.0 license is more restrictive than MIT. The free tier has explicit limits on how many transactions, deposits, and withdrawals you can view and process. EVM chain support is strong; if you hold mostly traditional stocks and bonds without crypto, this is probably overkill [1][5].

What is Rotki

Rotki is a desktop application — with a Docker option — that aggregates your financial portfolio from exchanges, wallets, blockchains, and traditional assets into one interface that never phones home [1][2]. The name comes from the founder’s nickname; the project is led by Lefteris Karapetsas, whose presence in community discussions is visible enough that several users mention interviewing him personally [website quotes].

What actually separates it from every crypto portfolio tracker you’ve seen advertised: the data model. When you connect a Coinbase account, a MetaMask wallet, or a DeFi protocol, the data is pulled and stored locally in an encrypted database on your disk. There’s no SaaS backend receiving your Ethereum address. The application runs as a Python backend (Flask/SQLite) with a Vue.js frontend, and you authenticate with a local username and password — not an email address [2][website quotes].

As of this review, the project has 3,743 GitHub stars. The README explicitly frames its mission as “bringing transparency to the crypto and financial sectors through open source software, empowering users with a secure, self-sovereign alternative to cloud-based tracking services” [README].

The free version covers portfolio overview, transaction decoding, basic profit/loss analysis, and exchange connections. Premium unlocks extended historical graphs, advanced staking analytics, higher transaction limits, and additional analytics tools [1][website quotes].


Why people choose it

The reviews we synthesized land consistently in the same place: people come to Rotki because they don’t trust what cloud portfolio trackers do with their data, and they stay because it actually works.

The privacy argument is structural, not marketing. The website testimonial from @_smoothninja is blunt: “I don’t trust these crypto accounting SaaS providers with my data. They will literally see all your wallet addresses, including your real home address. No way I’m gonna PAY to give it to them!” [website quotes]. This is not abstract. When you connect Koinly or CoinTracking to your exchange via API key and supply your wallet addresses, that provider now has a complete map of your financial life. If they’re breached, sold, or subpoenaed, your data goes with them. Rotki’s architecture makes that impossible by design [2].

The tax reporting case is concrete. The testimonial from @pray_eth — “I was able to categorize all my company’s 2024 on-chain transactions for my tax accountant in a couple of hours. This would have taken me at least 2-3 days without rotki” — describes the core value proposition for anyone approaching tax season with a complex DeFi history [website quotes]. EVM transaction decoding (Ethereum, Optimism, and other EVM chains) is a genuine technical feat: raw blockchain transactions become human-readable events showing what actually happened — LP deposits, swap routes, yield harvests, protocol interactions [1][2].

Non-crypto use case is underrated. One anonymous testimonial stands out: “My partner and I use it to keep track of our net worth and work out what house we can afford… prior to Rotki we really had no idea where we were at, but no tools were available that allowed us to kind of combine a view of everything — stocks, crypto and fiat.” [website quotes]. The tool handles traditional assets alongside crypto, which matters if you have a mixed portfolio.

The community developer Lefteris has unusual skin in the game. Multiple users specifically call out the founder by name, reference interviewing him, and cite the team’s responsiveness. One writes: “Rotki has a wholesome team providing the crypto industry with the most comprehensive accounting and portfolio tracking tool.” That’s the kind of social proof that’s hard to fake at volume [website quotes].


Features

Based on the README, documentation, and first-hand reviews:

Portfolio tracking:

  • Overview of balances across centralized exchanges, EVM wallets (Ethereum, Optimism, and more), Bitcoin, DeFi protocols [1][2]
  • Connects to “a big number of centralized exchanges” per the website — specific count not published, but includes at least Coinbase, Kraken, Binance, and others [website]
  • Assets and liabilities view showing percentage exposure per asset as a share of net worth [website]
  • NFT tracking and management included [1]
  • Airdrop detection — one user credited Rotki with finding “a couple airdrops” that paid for the license many times over [website quotes]

Transaction history and decoding:

  • Human-readable breakdown of EVM transactions — what a contract interaction actually did, not just hex data [1][2]
  • Trade history, deposits, withdrawals, exchange events in one timeline [website]
  • DeFi protocol events: LP joins/exits, staking events, yield harvests [website]
  • Historical event import and storage — not just real-time [2]

Profit/Loss and tax reporting:

  • PnL reports for any time period using customizable accounting settings [1][2]
  • Multiple accounting methods — relevant for jurisdictions with different cost basis rules [5]
  • CSV export with configurable date format, delimiter, and local vs. UTC timestamps [5]
  • Virtual profit/loss events can be auto-created during history processing [5]

Analytics (Premium):

  • Net worth over time (free tier limited to last 2 weeks; Premium is unlimited) [website]
  • Asset amount and total asset value over time [website]
  • Breakdown of net worth per location and per asset [website]
  • Advanced staking analytics: staked amount, expected APR, earned rewards across accounts [website]

Customization:

  • Profit currency configurable (defaults to USD) [5]
  • Display currency, language, floating point precision, thousands/decimal separators [5]
  • Date format fully configurable [5]
  • Anonymous usage analytics toggle — off by default or user-controlled [5]

Technical:

  • REST API available (listed in canonical features) [merged profile]
  • Docker deployment supported [1][2][merged profile]
  • Pre-packaged binaries for Windows, macOS, Linux [1][2]
  • Local SQLite database, encrypted [2]

Pricing: SaaS vs self-hosted math

Rotki itself:

  • Free tier: functional portfolio tracking, transaction history, basic PnL, limited number of events viewable/processable [website][1]
  • Premium: extended graph history, higher transaction limits, advanced staking analytics, DeFi protocol features — exact current pricing not available in sources; the website directs to a pricing page [website]
  • No per-wallet-address fees, no per-transaction fees, no “plans” based on how many assets you hold

The competition for context:

  • Koinly: Free for up to 10,000 transactions (no tax reports). Newbie plan $49/year (100 transactions for tax reports). Hodler $99/year (1,000 transactions). Prices escalate rapidly for active traders.
  • CoinTracking: $10.99/month for Pro (up to 100,000 transactions). $16.99/month for Expert.
  • CryptoCompare Portfolio / CoinGecko: Free but fully cloud-based — your wallet addresses and holdings are on their servers.
  • TokenTax: Starts at $65/year; higher tiers for DeFi.

The structural math: Cloud crypto tax tools charge per transaction or per year, and those prices climb as your activity grows. A DeFi-active user with thousands of transactions per year might spend $200–$500 annually on cloud tax tools — not including the privacy cost. Rotki’s model is a one-time or annual Premium fee against unlimited local processing. Self-hosted on a desktop you already own: the marginal cost is $0 beyond Premium if you want it, or genuinely $0 for the free tier [1][2].

If the free tier covers your use case (and for many holders it will), the total cost of ownership is a Docker command or binary download.


Deployment reality check

Rotki is unusual among self-hosted tools because its primary deployment target is your own desktop, not a server. This lowers the barrier significantly compared to tools that assume you have a VPS and know what a reverse proxy is.

Desktop install (recommended for most users):

  • Download pre-packaged binary from the releases page
  • Windows, macOS, Linux all supported [1][2]
  • Runs as a local application; no external server needed
  • Realistic time: 10–20 minutes including download

Docker install (for server or headless deployment): The medevel review [2] shows the minimal command:

docker run -d \
  --name rotki \
  -p 5000:5000 \
  -v rotki-data:/data \
  rotki/rotki:latest

Realistic time for someone comfortable with Docker: 20–30 minutes including data volume setup. For a non-technical user following documentation: add an hour.

What you actually need:

  • Python 3.11 (if building from source or running the backend separately)
  • Node.js and npm (for source builds only — not needed for binary installs)
  • Docker (for containerized deployment)
  • At minimum 2–4 GB RAM for running with active DeFi history processing
  • An API key per exchange you want to connect (read-only permissions sufficient)

What can go sideways:

  • The free tier’s transaction limits aren’t prominently documented upfront. You may hit a wall on large portfolio histories before you’ve decided whether to pay for Premium [website][5].
  • EVM chain support is deep, but the depth of support varies by chain and protocol. If you’re using an obscure L2 or new DeFi protocol, expect some manual event categorization [1][2].
  • The backend is Python and the requirements chain (Python 3.11, uv, specific versions) can cause friction on non-standard systems, particularly if you’re building from source [README].
  • Source [4] is not directly relevant to Rotki and was included in the research set but doesn’t contain usable Rotki-specific information.
  • The project has 3,743 stars — healthy but not enormous. Community breadth is smaller than Koinly’s user base. For obscure exchange integrations, you may need to file a GitHub issue and wait.

Pros and cons

Pros

  • True local-first architecture. Your wallet addresses, trade history, and tax reports never leave your machine. No email required to create an account [2][website quotes]. This is not a marketing claim — it’s an architectural constraint that cloud tools structurally cannot offer.
  • EVM transaction decoding is genuinely good. Blockchain transactions rendered as human-readable events with protocol context is hard to build and harder to maintain as protocols update. The user testimonials specifically cite this as the time-saving feature [1][website quotes].
  • Airdrop detection. One user credits Rotki with finding missed airdrops that “paid for itself 100x over” [website quotes]. This is an edge feature that most tracking tools ignore entirely.
  • No per-transaction pricing. Process 10,000 transactions or 10 — the cost doesn’t change based on activity volume [1][2].
  • Multi-asset, multi-chain. Covers centralized exchanges, EVM chains, Bitcoin, staking, DeFi protocols, and traditional assets in one interface [1][2][website].
  • Active development. The README badge shows frequent commits; the changelog is referenced as extensive [README].
  • Founder is present and accessible. Multiple users mention direct interaction with Lefteris Karapetsas and cite it as a trust signal [website quotes].

Cons

  • AGPL-3.0 license. Stricter than MIT or Apache. You can self-host freely, but if you build a commercial product on top of Rotki, you must open-source your modifications. Not a problem for personal or business internal use, but relevant if you’re building a product [merged profile][1].
  • Free tier transaction limits are real. If you have years of active trading history, you’ll hit the processing cap and face a Premium decision before you’ve fully evaluated the tool [website][5].
  • Not for traditional-only portfolios. If your portfolio is 100% stocks and bank accounts with no crypto, Rotki is technically capable but designed for crypto-heavy users. Dedicated personal finance tools may serve you better [1][3].
  • Smaller integration count than cloud tools. No specific exchange count is published, but Koinly and CoinTracking have invested years in building integrations. Obscure exchanges or newer DeFi protocols may require manual CSV import [1][website].
  • Desktop-first UX means no mobile. You access your portfolio from the machine where it’s installed. No native mobile app as of this review [1][2].
  • Python dependency chain can be painful. Source builds require Python 3.11 and specific package management tools. Binary installs avoid this, but advanced configuration still requires comfort with the stack [README][1].
  • No collaborative or multi-user features in the free tier. If you need to share access with an accountant or financial advisor, that workflow isn’t built-in [website].

Who should use this / who shouldn’t

Use Rotki if:

  • You hold crypto across multiple exchanges, wallets, and DeFi protocols and need to reconcile them at tax time without handing that data to a SaaS provider.
  • You’re a privacy-conscious investor who already understands that “free” portfolio tracking tools monetize your financial data.
  • You want a defensible, auditable profit/loss report generated from locally-verified data — not a number from a cloud service you can’t inspect.
  • You’re comfortable downloading a binary application or running Docker.
  • You want airdrop detection across your wallet history as a passive feature.

Skip it (use Koinly or CoinTracking) if:

  • You need hand-holding through tax filing with a polished SaaS UI and customer support.
  • Your exchange list includes several obscure platforms and you need guaranteed integrations without debugging.
  • You need mobile access to your portfolio on the go.
  • Your transaction volume is low (under a few hundred trades/year) and you don’t care about the privacy difference — the free tier of any cloud tool will cover you.

Skip it (use a general personal finance tool) if:

  • Your portfolio is predominantly traditional assets — stocks, bonds, savings accounts — with minimal crypto. Tools like Firefly III or even a well-structured spreadsheet may be more appropriate [3].

Skip it (stay on cloud) if:

  • Your compliance or employer IT policy prohibits running financial applications on non-managed infrastructure.

Alternatives worth considering

  • Koinly — the most polished cloud crypto tax tool. Supports 700+ exchanges and wallets. Pricing starts at $49/year for basic tax reports. Fully closed-source; your data lives on their servers.
  • CoinTracking — long-established (2012), deep exchange integrations, strong reporting. $10.99–$16.99/month. Cloud-based.
  • CryptoCompare Portfolio — free, cloud-based. Good for casual tracking; no serious tax reporting.
  • Accointing (now part of Glassnode) — crypto portfolio and tax tool, cloud-based, acquired and direction has changed.
  • Firefly III — open-source, self-hosted personal finance manager. Not crypto-specific; covers bank accounts, budgets, bills. Good complement to Rotki if you want traditional finance tracked separately with open-source tooling [3].
  • GnuCash — old-school double-entry bookkeeping, fully offline and open-source. No crypto support, but genuinely powerful for traditional accounting [3].

The realistic shortlist for a crypto-active user is Rotki vs Koinly: privacy-first self-hosted vs. polished cloud SaaS. If you have a complex DeFi history and care where your wallet addresses go, Rotki. If you want someone else to handle the UX and you’re comfortable with a cloud provider having your data, Koinly.


Bottom line

Rotki is the right tool for a specific kind of user: someone with a meaningful crypto portfolio — especially DeFi activity — who has looked at Koinly’s privacy policy and decided they’d rather not hand over their entire transaction history. The privacy argument isn’t theoretical. Your wallet addresses, exchange API keys, and complete trade history in a cloud provider’s database is a real risk. Rotki’s local-first architecture eliminates that risk structurally, not by policy.

The trade-offs are honest: smaller exchange integration catalog than cloud tools, no mobile app, free tier transaction limits that will push active traders toward Premium, and a Python dependency chain that can frustrate non-technical installs. But for the target user — a crypto-active investor hitting tax season with years of DeFi history and no appetite for sharing their financial map with a SaaS provider — Rotki delivers what nothing else does. The EVM transaction decoding alone, turning raw contract calls into human-readable accounting entries, saves hours that cloud tools also save but at the cost of data sovereignty.

If the install is the blocker, that’s exactly what upready.dev deploys for clients. One-time, you own it.


Sources

  1. medevel.com“Rotki is a Free Self-hosted Open-source Investment and Finance Asset Portfolio Manager”. https://medevel.com/rotki/
  2. medevel.com“rotki: Your Crypto Portfolio’s Best Friend, That Actually Respects Your Privacy”. https://medevel.com/rotki-app/
  3. medevel.com“Top 10 Open-Source Accounting Apps You Can Host Yourself in 2025”. https://medevel.com/10-open-source-self-hosted-accounting-apps-for-personal-accounting-and-agencies-2025-2/
  4. medevel.com“Governance Models in DeFi: A Comprehensive Overview”. https://medevel.com/governance-models-in-defi-a-comprehensive-overview/
  5. docs.rotki.com“General Settings | rotki Documentation”. https://docs.rotki.com/usage-guides/customization.html

Primary sources:

Features

Integrations & APIs

  • REST API