MCPcopy
hub / github.com/rotki/rotki

github.com/rotki/rotki @v1.43.2 sqlite

repository ↗ · DeepWiki ↗ · release v1.43.2 ↗
17,858 symbols 127,777 edges 3,561 files 5,775 documented · 32%
README

rotki Logo

rotki: The Opensource, Self-Hosted Portfolio Manager

A privacy-focused portfolio manager, accounting, and analytics tool.

GitHub release Docker Image Version GitHub commits GitHub contributors Visitors GitHub forks GitHub stars GitHub last commit GitPOAP Badge Github downloads Hiring X Follow Discord


📌 Table of Contents


📖 Overview

rotki is an opensource self-hosted portfolio management tool that puts privacy first. Unlike most competitors, which are closed-source SaaS platforms requiring you to hand over sensitive financial data, rotki keeps your data encrypted and stored locally ensuring you stay in control. Our mission is to bring transparency to the crypto and financial sectors through opensource software, empowering users with a secure, self-sovereign alternative to cloud-based tracking services.

🔹 Why choose rotki? - Open-source & Transparent 📖
- Self-hosted 🏠
- Privacy-Focused 🔒
- Multi-Platform Support 🖥
- Powerful Analytics & Reporting 📊

For advanced features, check out the Pro Version or explore the Feature Coverage Page.


Features

Portfolio Overview: Track balances across multiple platforms, blockchains, and exchanges.
Graphical Insights: Historical data visualization for better financial decision-making.
Transaction Decoding: Readable breakdown of blockchain transactions, exchange events and other history.
Data Customization: Personalize UI, main currency, language, and more.
PnL Reports: Perform detailed profit/loss analysis using customizable accounting settings.


🔧 Requirements

Before installing rotki, ensure you have the following dependencies:

📌 Required Software: - Node.js - npm (Node Package Manager) - Python 3.11 - uv (Python Package Manager) - Docker


🚀 Installation

rotki supports Windows, macOS, and Linux.

📌 Recommended Installation Method: - Download Pre-Packaged Binaries

📌 Advanced Installation (for developers): - Build from Source


📘 Usage

For detailed setup and usage guides, visit our documentation.

📌 Quick Start: - Follow the usage guide. - Configure settings & import your addresses. - Start managing and analyzing your portfolio! 🚀


📜 Changelog

Stay up to date with rotki's latest features and improvements:

📌 Full Changelog
📌 Release Notes


🤝 Contribute

We welcome contributions from the community! 🎉

🔹 Getting Started: - Read the Contribution Guide - Explore the Developer Guide - Check out Open Issues

📌 Claim Your Contributor Badge!
Contributors receive a GitPOAP Badge for each year they contribute! 🎖 Claim yours here.


Contributors

We are thankful to all the people who have contributed to rotki.


📢 Get in Touch

Need help or want to discuss features? Connect with us!

💬 Community & Support

Discord GitHub Discussions GitHub Issues

📌 Follow Us for Updates

Website Docs X (Twitter) LinkedIn


💰 Donations

If you find rotki helpful, don't want to purchase a subscription and would like to support its development, you can make a donation using the following cryptocurrency addresses 🚀

📌 Bitcoin (BTC): 1PfvkW8MC7Ns2y8zn6CE2P2t5f19KF8XiW
📌 Ethereum (ETH): rotki.eth (0x9531c059098e3d194ff87febb587ab07b30b1306)

💡 Your contribution will go directly towards enhancing the project, covering development costs, and supporting ongoing maintenance.

We appreciate every donation, no matter the size. It helps to ensure the project's sustainability and motivates us to continue delivering valuable updates and improvements.

Thank you for considering a donation to support our work!


📄 License

rotki is open-source and distributed under the AGPLv3 License.

📜 Read the Full License

Commercial licensing

If your intended use of rotki (or parts of it) would trigger AGPL obligations (for example: embedding in a proprietary product, redistributing as part of a commercial offering, or offering a hosted/SaaS version), we can offer a commercial license as an alternative to AGPL compliance.

For inquiries contact us: info@rotki.com

(🔼 Back to top)

Extension points exported contracts — how you extend this code

HAREntry (Interface)
* HAR Entry - represents a single network request * @see http://www.softwareishard.com/blog/har-12-spec/
tools/chrome-task-tracker/types/chrome.d.ts
AssetSourceConfig (Interface)
* Configuration for asset sources and identifier resolution
frontend/app/src/modules/balances/asset-summary.ts
OutputListener (Interface)
(no doc)
frontend/scripts/start-dev.ts
PromiseFunction (Interface)
(no doc)
frontend/common/src/utils/index.ts
ExtensionPanel (Interface)
(no doc)
tools/chrome-task-tracker/types/chrome.d.ts
AssetFilterConfig (Interface)
* Configuration for asset filtering
frontend/app/src/modules/balances/asset-summary.ts
BackendEnv (Interface)
(no doc)
frontend/scripts/start-dev.ts
ActionResult (Interface)
(no doc)
frontend/common/src/data/index.ts

Core symbols most depended-on inside this repo

string_to_evm_address
called by 3295
rotkehlchen/chain/evm/types.py
api_url_for
called by 1578
rotkehlchen/tests/utils/api.py
get
called by 1465
frontend/app/src/modules/core/common/validation/model.ts
execute
called by 1401
rotkehlchen/db/drivers/gevent.py
deserialize_evm_tx_hash
called by 1395
rotkehlchen/types.py
error
called by 1347
frontend/app/electron/main/log-service.ts
set
called by 1265
frontend/app/src/modules/core/common/validation/model.ts
get
called by 1223
rotkehlchen/api/v1/resources.py

Shape

Function 8,464
Method 6,357
Class 1,932
Interface 949
Route 87
Enum 69

Languages

Python72%
TypeScript28%

Modules by API surface

rotkehlchen/api/v1/resources.py486 symbols
rotkehlchen/api/v1/schemas.py456 symbols
rotkehlchen/api/rest.py287 symbols
rotkehlchen/db/filtering.py156 symbols
rotkehlchen/db/dbhandler.py136 symbols
rotkehlchen/api/v1/fields.py120 symbols
rotkehlchen/types.py110 symbols
rotkehlchen/tests/fixtures/blockchain.py87 symbols
rotkehlchen/tests/unit/test_inquirer.py82 symbols
rotkehlchen/globaldb/handler.py77 symbols
rotkehlchen/assets/asset.py76 symbols
rotkehlchen/chain/evm/node_inquirer.py67 symbols

Dependencies from manifests, versioned

@clack/promptscatalog: · 1×
@electron/notarizecatalog: · 1×
@intlify/eslint-plugin-vue-i18ncatalog: · 1×
@intlify/unplugin-vue-i18ncatalog: · 1×
@pinia/testingcatalog: · 1×
@playwright/testcatalog: · 1×
@reown/appkitcatalog: · 1×
@reown/appkit-adapter-etherscatalog: · 1×
@rotki/commonworkspace:* · 1×
@rotki/eslint-configcatalog: · 1×
@rotki/eslint-plugincatalog: · 1×
@rotki/ui-librarycatalog: · 1×

For agents

$ claude mcp add rotki \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact