# rotki Documentation > All you need to start using rotki, or contributing to it. ## Table of Contents ### Installation - [Installation](/requirement-and-installation.md): Get started with rotki: install from pre-built binaries, run it in Docker, or build from source, plus the system requirements you need to run it locally. - [Download & Install](/requirement-and-installation/download.md): Download and install rotki on Linux, macOS, or Windows from the official pre-built binaries, with first-launch tips and troubleshooting for each platform. - [Docker & Self-Hosting](/requirement-and-installation/docker.md): Run rotki in a Docker container, with configuration, Docker Compose templates, updating, and migrating data from the desktop app. - [Verify Your Download](/requirement-and-installation/verify.md): Verify the integrity and authenticity of rotki binaries using SHA512 checksums and GitHub Artifact Attestations. - [Build from Source](/requirement-and-installation/build-from-source.md): Build rotki from source for development or to run unreleased code, with backend, frontend, and packaging instructions. ### Usage Guides - [Quick Start Guide](/usage-guides/quick-start.md): A step-by-step walkthrough to get started with rotki: install the app, create an account, add accounts, view your portfolio, and generate your first report. - [Accounts & Sync](/usage-guides.md): Set up and manage your rotki account: sign-up and sign-in, premium server sync, restoring backups, moving installations, and upgrading between versions. - [MCP](/usage-guides/mcp.md): Use rotki's Model Context Protocol (MCP) service with ChatGPT, Claude Code, and OpenCode. #### Portfolio - [Dashboard](/usage-guides/portfolio/dashboard.md): Overview of the rotki dashboard showing total balance, net value graph, balance breakdowns, and asset holdings. - [Tracking Accounts](/usage-guides/portfolio/accounts.md): Add and manage blockchain accounts across EVM chains, Bitcoin, Substrate, and Solana in rotki, and connect exchanges to track all your balances in one place. - [Balances](/usage-guides/portfolio/balances.md): View exchange and manual balances in rotki, track NFTs and airdrops, filter holdings by tags, hide small balances, and capture balance snapshots over time. #### History & Events - [History events](/usage-guides/history/events.md): Browse, filter, decode, and edit historical events from exchanges and blockchains in rotki, redecode transactions, add events by hash, and export them to CSV. - [Filtering history events](/usage-guides/history/filtering.md): Filter history events in rotki with the pill filter bar, covering every available filter, the typed date and amount syntax, exclusions, state markers and saved views. - [Resolving history event issues](/usage-guides/history/issues.md): Resolve history event issues in rotki from the actions center: unmatched asset movements, duplicate customized events, internal transaction conflicts and undecoded transactions. - [Onchain Transactions](/usage-guides/history/onchain.md): Send on-chain transactions directly from rotki by connecting a browser wallet or WalletConnect on supported EVM chains, with troubleshooting tips. - [Import CSV](/usage-guides/history/import-data.md): Import trades and transactions into rotki from exchange CSV exports or the generic import format, so your full history is tracked even without API access. #### Tax & Accounting - [Using rotki for Tax Accounting](/usage-guides/tax-accounting/guide.md): A step-by-step walkthrough for calculating your crypto taxes with rotki, from setting up your data to generating and reviewing a Profit/Loss report. - [Creating a profit/loss report](/usage-guides/history/pnl.md): Generate profit/loss reports in rotki using FIFO, LIFO, HIFO, or ACB cost-basis methods, review the cost basis breakdown, and export the results to CSV. - [Event Types and Subtypes Reference](/usage-guides/tax-accounting/event-types.md): A complete reference of all event types and subtypes in rotki, with examples, valid combinations, and the default tax treatment applied to each one. - [Accounting Rule Options Explained](/usage-guides/tax-accounting/accounting-rules.md): A detailed explanation of every accounting setting in rotki, including cost basis methods, crypto spending, gas costs, and tax-free periods for PnL. #### Tracking - [Staking](/usage-guides/staking.md): Track staking in rotki across ETH2 validators, Liquity, Kraken, and Lido CSM node operation, with per-protocol setup and the rewards each one records. - [Statistics](/usage-guides/statistics.md): Explore rotki premium statistics: net value over time, per-asset amount and value charts, value distribution by location and asset, plus event analysis. - [Snapshots](/usage-guides/statistics/snapshots.md): Manage rotki balance snapshots: take, filter, import, export, edit, reconcile, and delete saved portfolio records. #### Integrations - [Exchange API Keys](/usage-guides/integrations/exchange-keys.md): Connect centralized exchanges to rotki using read-only API keys, with step-by-step setup instructions and exchange-specific notes for each platform. - [External Services](/usage-guides/integrations/external-services.md): Add external service API keys in rotki such as Etherscan, Blockscout, CryptoCompare, and others to enable on-chain data, prices, and integrations. - [Calendar](/usage-guides/integrations/calendar.md): Use the rotki calendar to add and track events, set reminders for actions, receive automatic alerts such as ENS expiry, and sync with Google Calendar. #### Utilities - [Utilities](/usage-guides/utilities.md): Quick-access utilities in rotki, including global search for fast navigation, taking notes in-app, and monitoring long-running background tasks. - [Help & Support](/usage-guides/utilities/help.md): Access rotki's help resources, report bugs with logs attached, and submit feature requests directly through the in-app Help & Support menu in the toolbar. #### Data Management - [Assets Management](/usage-guides/data-management/assets.md): Manage rotki's supported assets: inspect the asset list, add custom tokens, fix missing mappings, merge duplicates, and ignore or whitelist spam tokens. - [Managing prices](/usage-guides/data-management/prices.md): Add manual latest and historical prices that override oracle lookups in rotki, and view or edit the prices already fetched and cached from price oracles. - [Address Book](/usage-guides/data-management/address-book.md): Manage global and private address book entries in rotki to replace blockchain addresses with readable names, and import multiple address books from CSV. - [Tag Management](/usage-guides/data-management/tags.md): Create and edit tags in rotki with custom labels, descriptions, and colors to organize and filter your blockchain accounts and manual balances. #### Settings - [General Settings](/usage-guides/settings/general.md): Configure rotki's general settings, including your profit currency, application preferences, analytics, CSV export options, and NFT display behavior. - [Interface Settings](/usage-guides/settings/interface.md): Customize the rotki interface, including language, theme, animations, balance refresh frequency, and blockchain explorer links used across the app. - [MCP Settings](/usage-guides/settings/mcp.md): Configure rotki's MCP service, privacy level, and bearer-token access. - [Accounting Settings](/usage-guides/settings/accounting.md): Configure rotki's accounting settings: cost basis method, crypto-to-crypto and spending rules, gas costs, tax-free periods, and custom event rules. - [Chains, Oracles, RPC & Modules](/usage-guides/settings/blockchain.md): Configure rotki's chain-related settings, including query exclusions, account activity detection, transaction indexers, price oracles, RPC nodes, and which DeFi modules are enabled. - [Account & Database Settings](/usage-guides/settings/account.md): Manage rotki account and security settings: change your password, configure database backups, adjust backend options, and purge stored data when needed. #### Advanced - [Troubleshooting](/usage-guides/advanced/troubleshooting.md): Fix common rotki problems such as invalid input errors on login, corrupted frontend settings, and other data issues, with step-by-step recovery instructions. - [Set the backend's arguments](/usage-guides/advanced/backend-config.md): Customize the rotki Python backend through rotki_config.json, setting log levels, the data directory, and other arguments useful for debugging and tuning. - [rotki data directory](/usage-guides/advanced/data-directory.md): Find rotki's default data directory on Linux, macOS, and Windows, learn where development builds store their data, and get recommendations for backing it up. - [Accessing the database manually](/usage-guides/advanced/database-access.md): Open and query rotki's encrypted SQLite database manually using DB Browser for SQLite or the sqlcipher CLI tool to inspect or repair your stored data. - [Using rotki from mobile](/usage-guides/advanced/mobile.md): Access rotki from a mobile device when running it via DAppNode or the Docker image, using a VPN or an authenticated reverse proxy to reach the web interface. ### Premium - [Premium Overview](/premium.md): Discover rotki premium: paid subscription tiers that unlock extra features, how to get started, and how to manage it while supporting ongoing development. - [Plans & Pricing](/premium/plans-and-pricing.md): Compare rotki premium subscription tiers and limits, understand billing cycles and custom plans, and choose or upgrade to the plan that fits your needs. - [Payment Process](/premium/payment.md): Purchase a rotki premium subscription step by step: select a plan, apply a discount or referral code, choose a payment method, and activate it in the app. - [Subscription Management](/premium/subscription.md): Manage your rotki premium subscription: view details and payment history, access API keys, create referral codes, change your plan, cancel, or renew. - [API Credentials](/premium/api-keys.md): Create, manage, and secure the rotki premium API key and secret credentials used to activate your subscription in the app, with security best practices. - [Payment Methods](/premium/payment-methods.md): Add, view, and remove saved credit and debit cards for rotki premium, set a default payment method, and update card details used for renewals. - [Device Management](/premium/devices.md): Manage the devices connected to your rotki premium subscription, rename or remove them, and understand the per-tier device limits and registration rules. - [Referral Program](/premium/referrals.md): Create and share rotki premium referral codes. People who use your code get a discount on their first subscription, and you earn account credit when they subscribe. Includes sharing, rewards, and troubleshooting. ### Contribution Guides - [rotki Contribution Guide](/contribution-guides.md): How to contribute to rotki: reporting bugs, running it in debug mode, submitting feature requests, and setting up your environment for development. - [Feature Requests](/contribution-guides/feature-requests.md): How to submit a feature request for rotki using the GitHub issue template, so the team can review, discuss, and prioritize your suggested improvements. - [Contributing as a Developer](/contribution-guides/contribute-as-developer.md): Developer contribution guide covering commit rules, linting, PR process, CLA, and development environment setup. - [Working on issues](/contribution-guides/working-on-issues.md): The rotki contributor workflow for picking up issues, opening pull requests, writing changelog entries, and finalizing work across the backend and frontend. - [Python Code Testing](/contribution-guides/python-testing.md): Run rotki's Python test suite, lint with ruff, mypy, and pylint, mock network calls, and record HTTP interactions with VCR for fast, deterministic tests. - [Vue/TypeScript](/contribution-guides/vue-typescript.md): Testing and maintaining the rotki frontend: unit tests with Vitest, end-to-end tests with Playwright, linting, and Vue/TypeScript code organization. - [Manual Testing](/contribution-guides/manual-testing.md): Manual testing checklist for rotki release binaries, covering startup, external trades, data imports, exchanges, settings, balances, and tax reports. - [Code Profiling](/contribution-guides/code-profiling.md): Profile rotki's Python code using flamegraphs and viztracer to find performance bottlenecks, with step-by-step instructions for running each profiler. - [rotki Database](/contribution-guides/rotki-database.md): Architecture of rotki's two SQLite databases (global.db and the user DB), how schema upgrades and data migrations run, and how cached data is managed. - [Docker Publishing (Manual)](/contribution-guides/docker-publishing.md): Manually build and publish rotki's multi-architecture Docker images to Docker Hub, covering the full release steps for pushing the images to hub.docker.com. - [Working with the Frontend](/contribution-guides/working-with-frontend.md): Set up rotki frontend development: editor integration, environment variables, the development proxy, running multiple instances, linting, and type checks. - [Releasing rotki](/contribution-guides/releasing.md): How rotki releases are cut from its long-lived branches: minor 1.x.0 releases from develop and patch 1.x.y releases from bugfixes, step by step. ### Other - [Frequently Asked Questions](/faq.md): Frequently asked questions about rotki covering the application, premium subscriptions, supported exchanges, roadmap, and solutions to common issues. - [What is rotki?](/index.md): rotki is an open-source, privacy-focused crypto portfolio tracker, analytics, and tax reporting app that runs locally. Start here to learn what it does.