Rotki - the local first portfolio management tool that protects your privacy

Project Name

RotkiTwitterAvatarNoOutline

The name of the project is rotki!

Project Description

rotki is a fully opensource (copyleft - AGPL) portfolio tracking, accounting & management tool. It’s a local first solution to a problem we all have. When you use 5 CEXes, 4 chains and 12 protocols … what do you own and where is it? What have you done in crypto over the last years? How can you account for it? Did you have profit? Loss etc. rotki answers all these questions. The project aims to empower crypto user with the tools they need to efficiently track, analyze, and manage their crypto assets. Some key features of Rotki include:

  • Local and Open-Source: Rotki is a local application that runs on users’ computers, ensuring data privacy and control. It is released under the AGPLv3 license, making it open source and allowing anyone to inspect, modify, and contribute to the codebase.

  • Multi-Blockchain and Exchange Support: Rotki supports multiple blockchain networks, including Ethereum, Bitcoin, Kusama, Polkadot, Avalanche, and various centralized cryptocurrency exchanges like Kraken, Coinbase, and Binance. It aggregates data from these sources, providing users with a holistic view of their cryptocurrency holdings.

  • Portfolio Tracking: Users can monitor their cryptocurrency portfolios, view historical performance, and generate profit and loss reports for tax purposes. Rotki simplifies the process of keeping track of assets across multiple platforms.

  • Future Plans for Active Management: Rotki’s future plans include expanding its capabilities to enable users to actively manage their portfolios from within the application. This may include features like smart order routing for optimized trading execution and the ability to run market-neutral trading bots.

Classification as a public good

Rotki exhibits several characteristics that make it suitable for classification as a public good:

  • Open Source: Being 100% open source under the AGPLv3 license means that Rotki is freely accessible to the public. Anyone can use, modify, and redistribute the software, contributing to the development of a transparent and collaborative ecosystem.

  • Data Privacy and Sovereignty: Rotki’s emphasis on data privacy and local storage aligns with the principles of a public good. It allows users to maintain control over their data, enhancing their digital sovereignty.

  • Accessibility: By providing a free and open-source solution for cryptocurrency portfolio tracking, Rotki promotes accessibility to financial tools for a wide range of users.

  • Community-Driven Development: Rotki encourages community participation in its development, fostering a sense of shared ownership and collaboration among users and developers. What’s more multiple people and users are building on top of rotki. Some latest example are:

  • Future Expansion for Active Management: As Rotki evolves to support active portfolio management and trading automation, it may further democratize access to advanced financial tools, potentially benefiting a broader audience.

In summary, rotki is an open-source cryptocurrency portfolio management application that aligns with the principles of a public good by promoting accessibility, data privacy, community-driven developments. Its evolution and expansion could potentially provide valuable financial tools to a wide range of users in the cryptocurrency space, further justifying its classification as a public good.

Main Project Funding Sources

rotki has multiple different funding sources. It’s an opensource tool and as such trying to find the sweet spot of making enough funds to sustain the project. We have a premium subscription mode that adds extra nice to have features such as dark mode, backup of your encrypted database and higher limits. Our funding generally comes from the following sources listed by descrending order of impact (funding amounts):

  • Grants from various projects that help fund integrations with their protocol, chain etc.
  • Donations from our community
  • Premium subscription revenue

Seeking project-specific funding or funding for general operations

General operations. All funding will go exclusively for continuous development of rotki’s features and maintenance of existing code. Basically paying our developers.

Team Information, including backgrounds and roles

Lefteris Karapetsas - founder. Links: LefterisJP (Lefteris Karapetsas) · GitHub & https://twitter.com/lefterisjp

Short bio:

  • In Ethereum since 2014
  • Worked in the Ethereum Foundation. Solidity compiler and C++ ethereum client.
  • Built the DAO (sorry)
  • Dev lead at Raiden
  • Founder of rotki

Then a team of 7 more people:

Social Credibility (development progress, awards, notable GitHub commits, referrals):

The project has been around and kicking for more than 6 years.

https://twitter.com/lefterisjp
https://twitter.com/rotkiapp

We have received various grants and awards over the years and spoken in many conferences. Latest of which was dappcon Berlin 2 days ago. For more details you can check either our Twitter/discord or dive into our Github. We just made a release last night.

Discord contact: lefterisjp

Eligibility criteria

  • Do you have a commitment to open-source (i.e. every open-source license accepted by the Open-Source Initiative) technology and sharing results publicly?:
    YES!!! Everything 100% opensource. We have actually had to spend money in legal fees to defend our opensource code from being forked and used by closed source projects here in Berlin. rotki lives and breathes opensource.
  • Have you provided transparency about how exactly funding will be used?:
    Yes. It will all be used for development. That means paying the salaries of the team. Some of them are even on-chain so can be checked by looking at our public address (rotki.eth).
  • Are you advancing values of freedom and privacy (no surveillance and handling of personal data)?:
    That’s the very reason rotki was built. To manage and do accounting for your data in a local-first privacy preserving manner. Let’s all stop using SaaS for when we handle our most sensitive data, providing fuel to the next big hacker honeypot.
  • Are you supporting decentralization in various fields (for example building Web3 projects)?:
    Yes. rotki is a true dapp. Not a centrallized SaaS app masquerading as “web3” because it somehow has an obscure crypto connection.
  • Have you provided social media channels to the extent that we can confirm social proof of your project?: yes
4 Likes

We at rotki are excited to provide an update a month after having received funding from Octant.

First of all, a very big thank you to everyone who voted for us and helped us continue on our quest to build opensource tools that enable you to own your data and protect your privacy :pray:

What we worked on since the grant payment

We made two releases, 1.31.0 and 1.31.1. The first one being probably the biggest release we have ever made containing 444 commits from 22 different contibutors. For more details check the links above but the feature highlights are:

:owl: Gnosis chain support
🇧 Base chain support
:art: UI redesign
:red_circle: Velodrome protocol
:books: Accounting rules customizability
🇼 Support for Woo centralized exchange
:arrow_double_up: Users will be able to export a CSV of history events directly from the history view. Filters also applied!!

What’s on the roadmap

We are now working on bugfixes found by the users which should be released before the new year in 1.31.2. And working on 1.32.0, our next big release coming next year with support for new exchanges, more protocols and a lot of improvements. Can see more in the milestone: 1.32.0 Milestone · GitHub

Usage of funds

All funds we received in the previous epoch, along with any future funds are spent on the same thing. Paying salaries of our developers to they can keep building. We are also looking for people in order to expand the team.

A new developer has joined the team in December, though we had to let some people go to keep the team lean and performant.

Grant donations/funding

Since the last epoch we have gotten funding from:

  • Gitcoin grants: $~3k in the infra round. The matching amount is still to be determined.
  • 0.3 ETH * 2 from two participations ENS small grants
  • Have applied for ENS large grants. No result yet.
  • Participated in Optimism RPGF, no result yet.
  • Got awarded (but not paid out) an arbitrum grant of 40k $ARB. It’s a milestone based grant, tied on development of arbitrum protocol integrations and will be paid out once completed.

These sound be our grant/donations income and activity since the last epoch if memory serves.

Other sources of funding

rotki has a premium subscription tier on top of the free OSS code. From there we get different amounts per month as revenue, depending on the number of active paying users at the time.

In November this was ~3.5k EUR.


Keep in mind that all of these sources of funding, including Octant grant carry tax obligation for us which is very roughly ~30-35% in Germany for companies.

1 Like

We at rotki are excited to provide an update before the start of Epoch 3!

First of all, a very big thank you to everyone who voted for us in Epoch 2 and helped us continue on our quest to build opensource tools that enable you to own your data and protect your privacy :pray:

What we worked on since the grant payment

We made 4 releases!

  • 1.31.2. This one fixes various bugs found since 1.31.1 and responding to bittrex and coinbase unannounced API changes.
  • 1.31.3. This one is the first release of 2024! Fixes bugs found since 1.31.2, most important of which was making the NFT detection work again. Also some small performance improvements and small features.
  • 1.32.0. This one is a huge release containing months of work and356 commits from 17 different contributors! The highlights are as follows:
    • :euro: Monerium support - EVM transactions decorated with SEPA transfer data
    • :fr: rotki is now translated in French - you can change the language from the settings
    • 🇵 Paraswap support - all swaps properly decoded
    • :cut_of_meat: Ethereum staking - big revamp in the staking page. Also ability to use your own beacon node.
    • :parachute: Airdrops rework - data will be pulled remotely so we can add new airdrops without releasing. Starknet airdrop is now added.
    • 🇧 Bybit support - The Bybit exchange is now supported. Balances in Bybit will be tracked and your trades, deposit/withdrawals pulled.
    • :flight_departure: Aerodrome support - Base chain support for Aerodrome is now active. All pool balances detected and transactions decoded.
    • :fox_face: Metamask swaps - All metamask swaps should be now properly decoded
    • :dagger: Kill long running tasks - If a task is taking too long you can now cancel it by clicking the “X” button
  • 1.32.1. A release with bugfixes found by our users since 1.32.0. Most important fixes are regarding airdrops, starknet and also this adds the DEGEN airdrop.

What’s on the roadmap

We are now working on two releases simultaneously.

  • 1.32.2, a bugfixes release to fix bugs found by the users in the past weeks. More details here
  • 1.33.0, our next big feature release. Many big things coming there such as frontend and UI improvements, ZKSync lite, matcha/0x support and more!. More details here.

Usage of funds

All funds we received in the previous epoch, along with any future funds are spent on the same thing. Paying salaries of our developers to they can keep building. We are also looking for people in order to expand the team.

No new developers have joined the team since the last update. Hiring with limited resources is quite hard.

Grant donations/funding

Since the last epoch we have gotten funding from:

  • Gitcoin grants: $10k matching from the infra round, mentioned in the last post. This is the matching amount of the same round.
  • Got an ENS large grant. First payment is $20k. Remaining for next milestones are 30k$ for a total of $50k grant payment.
  • Optimism RPGF results are in. We got awarded 149,068 $OP. They started streaming in the middle of February via a vested stream and will be paid out (stream will end) in the middle of May.

These should be our grant/donations income and activity since the last epoch if memory serves.

Other sources of funding

rotki has a premium subscription tier on top of the free OSS code. From there we get different amounts per month as revenue, depending on the number of active paying users at the time.

In February this was ~4k EUR.


Keep in mind that all of these sources of funding, including Octant grant carry tax obligation for us which is very roughly ~30-35% in Germany for companies.

2 Likes

Thanks for sharing, Lefteris :slight_smile:
I understand that usage of funds will mostly be the same for rotki for each update so it’s great that you dive into extra detail in the work and procress rotki has had going on.

rotki has a premium subscription tier on top of the free OSS code. From there we get different amounts per month as revenue, depending on the number of active paying users at the time.

In February this was ~4k EUR.

That’s a neat alternative source of funding, you’re the only project accessing this within the projects on Octant as far as I’m aware. Nice one!

Hey it’s a-me again! Lefteris!

We at rotki are super thankful for the support the rotki community has shown us so far.
:pray:

In the 2+ months since the last post we have had a lot of very nice progress and am very excited to talk about it here.

What we worked on since the last update

We made 3 releases!

  • 1.32.2. This was a bugfixes patch release with fixes since 1.32.1. Various fixes for protocols such as monerium, and curve to exchanges such as coinbase and bitcoin.de were included.
  • 1.33.0. This was the biggest release of the period containing 360 commits from 20 different contributors! The highlights were:
    • :scroll: Scroll support - All Scroll EVM transactions will be pulled and properly decoded. Addresses with activity in scroll detected and balances pulled.
    • :cancer: ZKSync Lite support - All ZKSync lite EVM transactions will be pulled and properly decoded. Addresses with activity in zksync lite detected and balances pulled.
    • :spiral_calendar: Rotki in-app calendar. events such as ENS registration/expiration will be autodetected and added as reminders.
    • :bank: CEX mappings - Ability to map CEX symbols to rotki assets.
    • :zero: 0x - all 0x swaps should be now properly decoded
    • :golf: GMX support - GMX v1 protocol is now supported. Transactions will be decoded and balances properly pulled.
    • :ghost: aave v3 is now properly supported in all evm chains
    • :coin: compound v3 is now properly supported in all evm chains
  • 1.33.1. A big patch release with bugfixes found by the user since 1.33.0. The two most important changes is adding support for the new Coinbase API keys and deprecating all calls to the now sunset Graph hosted service while allowing for Graph API keys.

What’s on the roadmap

Short term, we are working on the next big release. 1.34.0

That will contain support for big protocols such as gearbox, hop, eigenlayer native staking and more.

We are also in parallel working on improving the application in various performance related matters. But that’s a more longer term goal.

Usage of funds

All funds we received in the previous epoch, along with any future funds are spent on the same thing. Paying salaries of our developers to they can keep building. We are also looking for people in order to expand the team.

No new developers have joined the team since the last update. Hiring with limited resources is quite hard. We had to let someone go though so at least things balance out.

Grant donations/funding

Since the last epoch we have gotten no other grant paid.

Other sources of funding

rotki has a premium subscription tier on top of the free OSS code. From there we get different amounts per month as revenue, depending on the number of active paying users at the time.

In April this was ~4.4k EUR.


Keep in mind that all of these sources of funding, including Octant grant carry tax obligation for us which is very roughly ~30-35% in Germany for companies.

1 Like

Hey all. This is my attempt at filling in the mandatory long term update for rotki.

  • Total Funds Received from Octant so far: 76.1974 ETH / (11.4614 * 3272 + 19.7553 * 3213 + 11.0643 * 2344 + 33.9164 * 1846.28) ~= $189,529
  • Funds Spent: $189,529
  • Detailed Utilization: Salaries. Our burn rate is ~$40k/month

Milestones and Deliverables

Since this section seems to refer to past milestones I refer the reader to all posts made in this thread before this response.

Challenges

  • Previous Challenges:
    • Description: One of the major challenges in rotki is hiring and finding the right people that can build the software. Also talent retention so that we don’t lose people due to churn and with them have knowledge lost.

    • Updates: This is an ongoing problem that’s not faced only by rotki but by all software teams.

    • Resolution: Wouldn’t say this is a solved problem. But ways to make it a bit easier is better compensation and ensuring both the work itself but also the work culture is rewarding, friendly and fulfilling.

    • Lessons Learned: Hiring is hard.

    • Description: Technical challenges of building a native application and getting users to use it. Building a native self-hosted app for 3 different operating system families (Windows, OSX, Linux) is an insane challenge. Debugging problems at the user level is also hard. You need to have detailed logs and have the user trust you to send them to you to study and try to guess what’s happening. In contrast a centralized app is written in one language, runs in one machine, and debugging is done on the same machine since users have no privacy and everything is visible. Finally users are getting more used to webapps than native apps so it’s harder to ask them to run a native app.

    • Updates: This is an ongoing challenge for rotki.

    • Resolution: Wouldn’t say this is a solved problem. But we have improved a lot on methodologies to building the native app easily, improved our tech stack and created processes to be able to easily do QA testing of our app on the different OSes.

    • Lessons Learned: We now know why there is no other app doing what rotki does as a local app. It’s too hard and not easy to monetize. But this enforces our belief that rotki needs to exist and continue to be built. If nobody else is crazy enough to tackle it we need to be twice as determined to do so.

Outputs and Outcomes

Outputs (Last Epoch):

  • Output 1: Released rotki 1.34.0

  • Output 2: Released rotki 1.34.1

  • Output 3: Released rotki 1.34.2

Short-term Outcomes:

  • Outcome 1: Got more than 8k downloads in first weeks and positive feedback from users Describe the short-term outcomes resulting from the outputs, e.g., increased user engagement, higher retention rates, immediate feedback from users, increase in transaction volume]

  • Outcome 2: Users were very happy since it fixed rotki support for some low-powered CPUs among other things.

  • Outcome 3: Users were happy since it adjusted rotki to the new etherscan changes requiring an API key for any query among other things…

Long-term Outcomes:

  • Outcome 1: Support for many new protocols such as Eigenlayer, Gearbox, Hop etc. Performance improvements thanks to utilizing AVX extensions. Support for HTX exchange.

  • Outcome 2: Less work for the next big release since the bugs are fixed early. Happier users, thus increased user retention.

  • Outcome 3: Less work for the next big release since the bugs are fixed early. Happier users, thus increased user retention.

Metrics for Outcomes:

  1. User Engagement: Hard to measure. Rotki is a local application focused on privacy and does not track you.

  2. Adoption and Usage: Like above. Hard to measure. But with a combined number of downloads and premium subscriptions we can see we have about 4-5k users.

  3. Community Impact: Community and usage is the same for us so not sure how to answer this. Perhaps discord: ~200 users and twitter: 11.7k followers?.

  4. Financial Metrics: Premium subscription revenue for July was 4.2k EUR.

  5. User Satisfaction: We have had multiple positive reviews in Twitter and discord.

  6. Innovation and Development: 3 new releases. With 73 features implemented and bugs fixed…

Plans for Potential Funds Raised in the Next Octant Allocation Window

Other Funding

  • Grant Funding Received Since the Last Epoch: $7,500 by Eigenlabs to partly cover Eigenlayer integration in rotki. Awarded (but not yet paid) $25,000 for the ENS large grants for public goods.
  • Other Non-Grant Funding Sources: Premium subscription revenue. ~4k EUR / month totalling about 12k EUR.

Future Plans for Financial Sustainability

Rotki is a project that has been going on since 2017 in various capacities. We are mostly grant funded.

Our source of revenues are:

  • User donations
  • Grants from companies for integrations
  • Public goods grants
  • User revenue from premium subscriptions

The long term goal, like with any project, is to indeed be able to survive only with user revenue. We are slowly working towards that goal but are not yet there.

The user revenue is increasing but we also need to rethink pricing and change from a flat plan to a tier/usage based plan. At the same time we are always in contact with exchanges, users, protocols to find agreements/grant/deals, that can increase our revenue.

This is where we are always looking for a really good BD person who can join the team and help us with figuring this out. The challenge is figuring out while preserving the nature of rotki and not turning it into another centralized tool.

2 Likes

@LefterisJP Hey, thanks for sharing this!
I can tell you’ve been pushing through some serious challenges, but it’s great to see the progress you’re making.
Appreciate the transparency on funds and the hurdles, especially with hiring and tech issues. The positive user feedback is great—your hard work is definitely showing. The plans for the next releases sound exciting. Looking forward to seeing how it all comes together. Keep it up :slight_smile:

1 Like