<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>Robin's Blog</title>
        <link>https://blog.rotki.com/</link>
        <description>This is the Rotki blog at which Robin, the accounting bird, is writing about finance, accounting, analytics, DeFi, cryptoeconomics and more!</description>
        <lastBuildDate>Fri, 05 Jun 2026 16:08:09 GMT</lastBuildDate>
        <docs>https://validator.w3.org/feed/docs/rss2.html</docs>
        <generator>https://github.com/jpmonette/feed</generator>
        <language>en-us</language>
        <image>
            <title>Robin's Blog</title>
            <url>https://blog.rotki.com/public/rotkehlchen_logo.png</url>
            <link>https://blog.rotki.com/</link>
        </image>
        <copyright>© 2019-2026 Rotki Solutions GmbH</copyright>
        <atom:link href="https://blog.rotki.com/rss.xml" rel="self" type="application/rss+xml"/>
        <item>
            <title><![CDATA[How we shield rotki against supply chain attacks]]></title>
            <link>https://blog.rotki.com/2026/05/22/rotki-security/</link>
            <guid isPermaLink="false">https://blog.rotki.com/2026/05/22/rotki-security</guid>
            <pubDate>Fri, 22 May 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[With the increasing number of attacks, it is important to ensure integrity and secure the whole development pipeline. This is how we do it at rotki.]]></description>
            <content:encoded><![CDATA[<blockquote>
<p>Update: This post was updated after initial publishing to mention our 7-day cooldown period before updating dependencies.</p>
</blockquote>
<p>rotki is a local app that helps you to keep track of your crypto activity both as transactions on different chains and on CEXes like Coinbase, Kraken, Binance, etc. This information is quite sensitive and there are <a href="https://github.com/jlopp/physical-bitcoin-attacks/blob/master/README.md" target="_blank" rel="noreferrer">reasons to not leak it</a>. It is <strong>critical</strong> for us that what reaches your computer is exactly what we built. Anything less puts our users at risk.</p>
<p>For this reason, after the recent attacks <sup class="footnote-ref"><a href="#fn1" id="fnref1">[1]</a></sup> <sup class="footnote-ref"><a href="#fn2" id="fnref2">[2]</a></sup> <sup class="footnote-ref"><a href="#fn3" id="fnref3">[3]</a></sup>, we reviewed our dependency supply chain and the measures we've had in place since day one. rotki has many moving parts and its architecture spans different stacks and layers: package managers, CI, packaging pipelines, distribution. All of them need to be secure.</p>
<p>There is no magic solution that makes the process 100% secure. But you can make attacks harder, reduce the places where trust is implicit, and make releases easier to verify. This is what we currently do.</p>
<h2 id="locked-dependencies-everywhere" tabindex="-1">Locked dependencies everywhere <a class="header-anchor" href="#locked-dependencies-everywhere" aria-label="Permalink to “Locked dependencies everywhere”">&#8203;</a></h2>
<p>The first rule is that builds should not decide dependency versions on their own.</p>
<p>All the ecosystems we use have lockfiles and we treat them as part of the source code. If a dependency changes, the lockfile has to change too and that change has to be reviewed. This gives us a clear place to see what was added, removed, or upgraded.</p>
<p>In practice this means:</p>
<ul>
<li><strong>Frontend</strong>: we use <code>pnpm install --frozen-lockfile</code>, so <code>pnpm-lock.yaml</code> must already contain the exact dependency graph.</li>
<li><strong>Backend</strong>: we use <code>uv sync --locked</code>, so Python dependencies must match what is in <code>uv.lock</code>.</li>
<li><strong>Rust service</strong>: we use <code>cargo fetch --locked</code>, so Cargo will not resolve any unexpected version.</li>
</ul>
<p>This is important because package registries are mutable environments. A maintainer account can be compromised, a package can be transferred, or a new version can be published with malicious code. If CI installs &quot;whatever is latest that satisfies the range&quot;, then an attacker only needs to influence dependency resolution once.</p>
<p>With locked installs, CI installs what we reviewed before. If someone wants to update a package, that becomes an explicit code change.</p>
<p>Also for the <code>node</code> ecosystem we use <code>pnpm</code> instead of <code>npm</code> since it offers additional protections and most of the recent attacks haven't affected pnpm users.</p>
<h2 id="release-builds-do-not-use-dependency-caches" tabindex="-1">Release builds do not use dependency caches <a class="header-anchor" href="#release-builds-do-not-use-dependency-caches" aria-label="Permalink to “Release builds do not use dependency caches”">&#8203;</a></h2>
<p>Our CI for tests and on-demand builds runs entirely on GitHub, and we use caches because they save a lot of time. We make several PRs per day and waiting for every dependency to be downloaded from scratch on every branch would be painful.</p>
<p>Releases are different. They happen less often and they are what the user will receive. For releases we prefer the slower and cleaner path.</p>
<p>For release workflows we disable package manager caches:</p>
<div class="language-yaml line-numbers-mode"><button title="Copy Code" class="copy"></button><span class="lang">yaml</span><pre><!--::markdown-it-async::rv4ctcoyk3ld3adhhs3lz::--><code># rotki_release.yaml
enable-cache: false          # uv
package-manager-cache: false # pnpm</code></pre>
<div class="line-numbers-wrapper" aria-hidden="true"><span class="line-number">1</span><br><span class="line-number">2</span><br><span class="line-number">3</span><br></div></div><p>The reason is cache poisoning. If a malicious dependency, binary, or intermediate artifact lands in a cache, the release job could reuse it without ever pulling the legitimate version. That kind of failure is hard to notice because everything can still look reproducible from the outside.</p>
<p>So for releases we build from scratch, using the locked dependency versions and fresh downloads. It costs more CI time, but this is one of those cases where speed is not the priority.</p>
<h2 id="github-actions-are-pinned-to-commit-hashes" tabindex="-1">GitHub Actions are pinned to commit hashes <a class="header-anchor" href="#github-actions-are-pinned-to-commit-hashes" aria-label="Permalink to “GitHub Actions are pinned to commit hashes”">&#8203;</a></h2>
<p>CI configuration is code too. In many projects this part is overlooked, but the actions used in GitHub workflows have a lot of power. They can read the repository, access secrets depending on the job, upload artifacts, and influence what gets released.</p>
<p>For that reason we pin GitHub Actions to full commit SHAs instead of tags:</p>
<div class="language-yaml line-numbers-mode"><button title="Copy Code" class="copy"></button><span class="lang">yaml</span><pre><!--::markdown-it-async::a2nuvx8k4pxz2mzg49cv::--><code>uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd  # v6.0.2</code></pre>
<div class="line-numbers-wrapper" aria-hidden="true"><span class="line-number">1</span><br></div></div><p>Using tags like <code>@v6</code> or <code>@v6.0.2</code> is more convenient than pointing to commits but tags are also more dangerous. If a tag is moved, or if an upstream project is compromised, the same workflow file can suddenly execute different code. A commit hash is immutable and explicit: it points to exactly which code we are trusting.</p>
<h2 id="build-provenance-attestations" tabindex="-1">Build provenance attestations <a class="header-anchor" href="#build-provenance-attestations" aria-label="Permalink to “Build provenance attestations”">&#8203;</a></h2>
<p>Users should be able to ask: &quot;Was this binary built by rotki, from the rotki source code, in the expected CI environment?&quot;</p>
<p>To help answer that, we generate build provenance attestations for release artifacts using <code>actions/attest-build-provenance</code>. This attaches verifiable metadata to the artifact.</p>
<p>The attestation links the binary to the workflow that produced it and to the source revision used for the build. This is useful because it narrows the trust problem. Instead of only trusting a file that appeared on a release page, users and downstream distributors can verify where it came from.</p>
<p>This matters especially for desktop applications like rotki since people download a binary and run it locally. If an attacker manages to replace an artifact after the build, provenance checks give us and users another way to detect that the file is not the expected output of our release process.</p>
<p>You can read more in our <a href="https://docs.rotki.com/requirement-and-installation/verify.html#verify-your-download" target="_blank" rel="noreferrer">guide on verifying your download</a>.</p>
<blockquote>
<p>Note: In the case of the Windows version we are forced to sign the binary locally with a YubiKey and reupload it. The Github attestation will fail because of that.</p>
</blockquote>
<h2 id="trusted-publishing-instead-of-tokens" tabindex="-1">Trusted publishing instead of tokens <a class="header-anchor" href="#trusted-publishing-instead-of-tokens" aria-label="Permalink to “Trusted publishing instead of tokens”">&#8203;</a></h2>
<p>Publishing credentials are dangerous. An npm or PyPI token can leak from a developer machine, CI logs, a misconfigured secret, or an old environment nobody remembers. For packages we publish ourselves, we avoid that model completely and use trusted publishing with OpenID Connect (OIDC).</p>
<p>With trusted publishing, the registry does not use a token at all. Instead it verifies that the publishing request comes from the GitHub Actions workflow we configured. The permission is tied to the repository, the workflow, and the release process.</p>
<p>This has two advantages:</p>
<ul>
<li>There is no secret to steal.</li>
<li>Publishing is constrained to the CI path we control.</li>
</ul>
<h2 id="new-dependencies-go-through-quarantine" tabindex="-1">New dependencies go through quarantine <a class="header-anchor" href="#new-dependencies-go-through-quarantine" aria-label="Permalink to “New dependencies go through quarantine”">&#8203;</a></h2>
<p>The easiest way to reduce dependency risk is to have fewer dependencies. Of course we cannot write everything ourselves and good libraries save time and prevent bugs. But every new dependency is also new code that runs in our application, new maintainers we trust, new transitive dependencies, and a new update stream to monitor.</p>
<p>So we do not add dependencies casually. Before adopting a new package we look at things like:</p>
<ul>
<li>Who maintains it?</li>
<li>Is the project active?</li>
<li>Does it have a history of suspicious releases?</li>
<li>How many transitive dependencies does it bring?</li>
<li>Is the package doing something simple enough that we should implement it ourselves?</li>
<li>Is vendoring a small piece of code safer than depending on the whole package?</li>
</ul>
<p>When a dependency is accepted, it is always added with locked versions. As an extra precaution, we also apply a 7-day cooldown period before updating dependencies to newly released versions, giving the ecosystem time to detect and report suspicious releases. We have to be honest about the fact that maintainers are themselves attack targets and that dependency graphs grow fast.</p>
<h2 id="closing-thoughts" tabindex="-1">Closing thoughts <a class="header-anchor" href="#closing-thoughts" aria-label="Permalink to “Closing thoughts”">&#8203;</a></h2>
<p>Securing the supply chain for any software is hard and no single measure shields you. It takes several layered steps and even then nothing is perfect. The practices above are some of the most important ones we take to ensure that the software you receive from rotki is exactly what you expect from us.</p>
<p>None of this means we are done. Security work is never finished. But we think this is the right direction: less implicit trust, more reviewable state, and release artifacts that are easier to reason about.</p>
<hr class="footnotes-sep">
<section class="footnotes">
<ol class="footnotes-list">
<li id="fn1" class="footnote-item"><p><a href="https://www.microsoft.com/en-us/security/blog/2026/05/20/mini-shai-hulud-compromised-antv-npm-packages-enable-ci-cd-credential-theft/" target="_blank" rel="noreferrer">Mini Shai-Hulud: Compromised AntV npm packages enable CI/CD credential theft</a> <a href="#fnref1" class="footnote-backref">↩︎</a></p>
</li>
<li id="fn2" class="footnote-item"><p><a href="https://www.microsoft.com/en-us/security/blog/2026/04/01/mitigating-the-axios-npm-supply-chain-compromise/" target="_blank" rel="noreferrer">Mitigating the Axios npm supply chain compromise</a> <a href="#fnref2" class="footnote-backref">↩︎</a></p>
</li>
<li id="fn3" class="footnote-item"><p><a href="https://vercel.com/kb/bulletin/vercel-april-2026-security-incident#what-we-know" target="_blank" rel="noreferrer">Vercel April 2026 security incident</a> <a href="#fnref3" class="footnote-backref">↩︎</a></p>
</li>
</ol>
</section>
]]></content:encoded>
            <author>The rotki team</author>
        </item>
        <item>
            <title><![CDATA[Why we’re changing rotki’s pricing after more than 7 years]]></title>
            <link>https://blog.rotki.com/2025/10/13/rotki-tiers/</link>
            <guid isPermaLink="false">https://blog.rotki.com/2025/10/13/rotki-tiers</guid>
            <pubDate>Mon, 13 Oct 2025 00:00:00 GMT</pubDate>
            <description><![CDATA[Keeping rotki independent, self-sustainable and aligned with our users.]]></description>
            <content:encoded><![CDATA[<p>rotki has had the same subscription price since our founding at the end of 2017. That’s more than seven years without a single price change, through rising costs, rampant inflation, new integrations, countless DeFi upgrades, and the growth of our small team maintaining an ever-expanding codebase.</p>
<p>During that time, the app evolved massively.</p>
<p>We’ve added support for dozens of new protocols and chains, onchain data decoding, new accounting features, reporting exports, analytics, active management of funds and many improvements to the local app itself: all while staying fully privacy-preserving, open source, and independent.
But our pricing never moved. That’s not sustainable anymore.</p>
<p>We don’t sell user data. We don’t take a cut from transactions. We don’t inject analytics or tracking. Our entire income comes from people who choose to support us directly. That’s what keeps rotki independent and what makes it very different from most modern “cloud apps.”</p>
<p>To keep developing at the quality and pace users expect, we’re introducing a new tiered subscription system.</p>
<h2 id="the-new-structure" tabindex="-1">The new structure <a class="header-anchor" href="#the-new-structure" aria-label="Permalink to “The new structure”">&#8203;</a></h2>
<ul>
<li><strong>Free</strong> - stays exactly as it is today. All core local functionality remains free forever.</li>
<li><strong>Basic</strong> - is now priced at <strong>€25/month (VAT included)</strong> and replaces today’s “Premium” tier.</li>
<li><strong>Advanced</strong> - for power users with more heavy needs. This tier raises all limits(devices, DB size etc.) and is tailored for people managing more diverse portfolios.</li>
<li><strong>Custom</strong> - For businesses, family offices, high net worth individuals whose needs go beyond the advanced tier. Includes tailored limits, dedicated support, and more.</li>
</ul>
<p>All current Premium subscribers will automatically move to the <strong>Basic</strong> tier starting from <strong>November 10th, 2025</strong> and onwards. As part of this update, we’re also simplifying subscription periods. All existing plans that renew every 3 or 6 months <strong>will automatically switch to monthly billing at the Basic tier price</strong> (€25/month, VAT included) starting November 10th, 2025.</p>
<p>If you prefer not to continue, you can cancel your subscription before that date. Otherwise, no action is needed, your next billing cycle will switch to the new plan and price.</p>
<h2 id="why-we-made-this-change" tabindex="-1">Why we made this change <a class="header-anchor" href="#why-we-made-this-change" aria-label="Permalink to “Why we made this change”">&#8203;</a></h2>
<p>rotki was built with one goal: to give users full control of their financial data without having to share it with third parties or store it in other people’s servers.
That goal doesn’t change but building and maintaining such software isn’t cheap. Far from it.</p>
<p>Over the years:</p>
<ul>
<li>Admin expenses, inflation, devops has all become much more expensive.</li>
<li>Our workload grew as DeFi exploded: hundreds of new chains, thousands of protocols, token standards, and quirks to handle. We are downstream of all these and have to adjust things continuously and respond to dev changes made many times by amateur teams.</li>
<li>We’ve been running on a shoestring budget for years, kept alive largely by passion and community goodwill.</li>
</ul>
<p>Until now, rotki’s revenue has mostly come from grants for integrations, followed by donations through campaigns like Gitcoin and Giveth, and lastly from premium subscriptions. The problem is that both grants and donations are unpredictable. They depend on third parties and changing funding cycles. To build rotki sustainably and plan long-term, we need a more stable foundation, and that means making user-supported revenue the main driver of our growth. rotki is not a mass-market app, it's a precision tool for people who care about control and privacy.</p>
<p>We price accordingly, to build something that lasts.</p>
<p>This update simply aligns pricing with the reality of what it takes to keep rotki alive, reliable, and improving.</p>
<p>We know price increases are never pleasant, but this is what allows us to:</p>
<ul>
<li>Continue offering an OSS, self-hosted privacy-preserving app.</li>
<li>Keep all data processing on your machine: not ours.</li>
<li>Fund ongoing maintenance and new feature development without having to resort to shady business practices and exploit the data of our users.</li>
<li>Add extra tools, such as indexers for our premium users which will speed things up and make data retrieval for prices and events faster. A commonly mentioned pain point for rotki as it currently stands</li>
</ul>
<p>Our commitment to <strong>openness, privacy, and user alignment</strong> stays absolute.</p>
<p>If you’ve been supporting us, thank you. You are literally the reason rotki exists. If you haven’t yet, or you paused your sub, now is a good moment to rejoin and help us keep building independent, self-hosted software in a world moving toward the cloud.</p>
<ul>
<li>Try out rotki's <a href="https://rotki.com/download" target="_blank" rel="noreferrer">latest release</a></li>
<li><a href="https://rotki.com/products" target="_blank" rel="noreferrer">Buy</a> premium, unlock all features and support our development.</li>
<li><a href="https://github.com/rotki/rotki" target="_blank" rel="noreferrer">Check out</a> our Github repo and <a href="https://x.com/rotkiapp" target="_blank" rel="noreferrer">follow</a> us in X.</li>
<li>Chat with us and other users of Rotki in <a href="https://discord.rotki.com/" target="_blank" rel="noreferrer">Discord</a></li>
</ul>
]]></content:encoded>
            <author>The rotki team</author>
        </item>
        <item>
            <title><![CDATA[The Power of Open Source: Why rotki’s Transparency Is Essential for Trust]]></title>
            <link>https://blog.rotki.com/2024/10/09/the-power-of-open-source-why-rotki-s-transparency-Is-essential-for-trust/</link>
            <guid isPermaLink="false">https://blog.rotki.com/2024/10/09/the-power-of-open-source-why-rotki-s-transparency-Is-essential-for-trust</guid>
            <pubDate>Wed, 09 Oct 2024 00:00:00 GMT</pubDate>
            <description><![CDATA[In an era where data privacy and security are at the forefront of our digital lives, transparency has become a key factor in building trust.]]></description>
            <content:encoded><![CDATA[<img class="post_image_not_set_size with_border" src="/public/post16/october-week-2-blog-post-cover-image.png" />
<p>In an era where data <a href="https://blog.rotki.com/2024/09/10/the-importance-of-privacy-in-a-crypto-portfolio-management-tool/" target="_blank" rel="noreferrer">privacy</a> and security are at the forefront of our digital lives, transparency has become a key factor in building trust. For individuals managing cryptocurrency portfolios, trust is not just a preference—it’s a necessity. This is where <a href="https://rotki.com/" target="_blank" rel="noreferrer">rotki</a>, an open-source portfolio tracking and management tool, sets itself apart from competitors by emphasizing transparency as a core value.</p>
<h2 id="what-does-open-source-mean" tabindex="-1">What Does Open Source Mean? <a class="header-anchor" href="#what-does-open-source-mean" aria-label="Permalink to “What Does Open Source Mean?”">&#8203;</a></h2>
<p>An open-source project makes its source code public so that any person can see it, alter it, or even go so far as to contribute to the codebase. An important part of being open source means allowing others to build their products on top of yours. For more check the <a href="https://opensource.org/osd" target="_blank" rel="noreferrer">OSI definition</a>. In the context of rotki, this means everything in terms of the inner workings of the software being open to anyone who wants to inspect them. This means that users do not have to take the word of the company for anything; they can inspect the code independently or use independent, third-party reviews by security researchers to ensure there are no hidden vulnerabilities or data-handling practices that might compromise their privacy.</p>
<h2 id="why-transparency-is-important-in-crypto-portfolio-management" tabindex="-1">Why Transparency is Important in Crypto Portfolio Management <a class="header-anchor" href="#why-transparency-is-important-in-crypto-portfolio-management" aria-label="Permalink to “Why Transparency is Important in Crypto Portfolio Management”">&#8203;</a></h2>
<p>Cryptocurrency was founded on decentralization and user empowerment. Crypto users usually want tools that enable full control over their money and data. Open source allows complete transparency where no decision-making about your security or information will be hidden from you; everything is in the open for you to see and understand. Transparency is of utmost importance in software like rotki for the following reasons:</p>
<ol>
<li><strong>Trust Through Code Inspection:</strong> Because it is open source, everybody has the opportunity to inspect said software for its intended workings without any backdoors or hidden security risks. In this case, users of rotki can verify that their financial data will stay on their device and not be sent to third parties. That alone gives peace of mind to the user as their sensitive information is safe.</li>
<li><strong>No hidden backdoors:</strong> Open-source software means removing any threat of hidden backdoors that can leak your data. With closed-sourced software, users are not sure their information will be secure. Even companies that you can trust can fall prey to security breaches. Rotki being open-source by nature makes everything at least visible, and hence there's little room for doubt about its integrity.</li>
<li><strong>Community Contributions:</strong> The success of any open-source project is dependent on community contributions. Bug reporting, active improvement suggestions, and even code contributions mean rotki is constantly improving. This will keep the software updated, secure, and receptive to the users' needs. The more eyes look at the code, the faster bugs can be found and fixed, hence rotki gets more bullet-proof with time.</li>
<li><strong>Innovation through Transparency:</strong> Free and open-source software allows any developer to start working on projects based on code that already exists. Using the case of rotki, for example, people can build new features and even completely new tools on top. That means rotki evolves with the community, updating at every turn based on the input and ideas of its users.</li>
<li><strong>Aligned with Decentralization:</strong> Decentralization is central to cryptocurrency, and open-source software aligns with this principle. Rotki’s transparency ensures users aren’t tied to one company. They can access the code, modify it, and develop it independently. This gives users more control and freedom, so they’re not limited by one company's rules.</li>
</ol>
<h2 id="rotki-example-of-open-source-done-right" tabindex="-1">Rotki: Example of Open Source Done Right <a class="header-anchor" href="#rotki-example-of-open-source-done-right" aria-label="Permalink to “Rotki: Example of Open Source Done Right”">&#8203;</a></h2>
<p>Rotki goes beyond being a typical portfolio management tool by fully embracing open-source principles to empower its users. Here's what makes it unique:</p>
<ol>
<li><strong>Data Privacy:</strong> All your financial data remains on your device. Rotki does not store or process your data on its servers, and this promise can be independently verified by taking a look at its source code.</li>
<li><strong>Community-driven:</strong> Contributions come in from users all over the world. Be it feature requests, bugs, or even writing code, the community drives how <a href="https://rotki.com/" target="_blank" rel="noreferrer">rotki</a> evolves.</li>
<li><strong>Security by Transparency:</strong> The basis of security in rotki lies in the very fact that the community can always audit and verify the codebase so no malicious practice goes unnoticed, including data siphoning and unauthorized access.</li>
</ol>
<p>Try it out here — <a href="https://rotki.com/" target="_blank" rel="noreferrer">rotki.com</a></p>
<h2 id="key-takeaway" tabindex="-1">Key Takeaway <a class="header-anchor" href="#key-takeaway" aria-label="Permalink to “Key Takeaway”">&#8203;</a></h2>
<p>The power of open-source software is in its transparency, and this is invaluable for a crypto portfolio manager like rotki. In an industry built on decentralization and trust, the open-source nature of rotki assures users that their financial data is secure, private, and fully under their control. With the code open to all users, you will have the ability to inspect it, contribute to its improvement, and benefit from the oversight provided by the community at large. With rotki, you will join a community that embodies transparency, innovation, and the user's empowerment.</p>
<p>If you want more info on rotki:</p>
<ul>
<li>Try out rotki's <a href="https://github.com/rotki/rotki/releases" target="_blank" rel="noreferrer">latest release</a></li>
<li><a href="https://rotki.com/products" target="_blank" rel="noreferrer">Buy</a> premium, unlock all features and support our development.</li>
<li><a href="https://github.com/rotki/rotki" target="_blank" rel="noreferrer">Check out</a> our Github repo and <a href="https://twitter.com/rotkiapp" target="_blank" rel="noreferrer">follow</a> us in Twitter.</li>
<li>Chat with us and other users of Rotki in <a href="https://discord.rotki.com/" target="_blank" rel="noreferrer">Discord</a></li>
</ul>
]]></content:encoded>
            <author>The rotki team</author>
        </item>
        <item>
            <title><![CDATA[How to Build a Balanced Crypto Portfolio]]></title>
            <link>https://blog.rotki.com/2024/09/24/how-to-build-a-balanced-crypto-portfolio/</link>
            <guid isPermaLink="false">https://blog.rotki.com/2024/09/24/how-to-build-a-balanced-crypto-portfolio</guid>
            <pubDate>Tue, 24 Sep 2024 00:00:00 GMT</pubDate>
            <description><![CDATA[Building a balanced crypto portfolio is important for managing risk and maximizing potential returns in the volatile world of digital assets.]]></description>
            <content:encoded><![CDATA[<img class="post_image_not_set_size with_border" src="/public/post15/september-week-4-blog-post-cover-image.png" />
<p>Building a balanced crypto portfolio is important for managing risk and maximizing potential returns in the volatile world of digital assets. Here’s a step-by-step guide to help you create a diversified and well-rounded <a href="https://blog.rotki.com/2024/08/30/what-is-a-crypto-portfolio-and-how-to-manage-it/" target="_blank" rel="noreferrer">crypto portfolio</a>.</p>
<h2 id="_1-understand-your-risk-tolerance" tabindex="-1">1. Understand Your Risk Tolerance <a class="header-anchor" href="#_1-understand-your-risk-tolerance" aria-label="Permalink to “1. Understand Your Risk Tolerance”">&#8203;</a></h2>
<p>Before diving into any asset, you must define your risk tolerance. Cryptocurrencies are notoriously volatile, so it’s crucial to determine how much risk you’re willing to take. High-risk investors might invest more funds in emerging, high-growth tokens, while conservative investors might focus on more established cryptocurrencies like Bitcoin (BTC) and Ethereum (ETH).</p>
<h2 id="_2-diversify-across-different-types-of-assets" tabindex="-1">2. Diversify Across Different Types of Assets <a class="header-anchor" href="#_2-diversify-across-different-types-of-assets" aria-label="Permalink to “2. Diversify Across Different Types of Assets”">&#8203;</a></h2>
<p>A balanced crypto portfolio isn’t just about holding different cryptocurrencies. You should consider including different asset types:</p>
<ul>
<li><strong>Large-Cap Cryptocurrencies:</strong> These are well-established digital assets with substantial market capitalizations, such as Bitcoin (BTC) and Ethereum (ETH). Due to their scale and widespread adoption, they tend to offer more stability and are generally less volatile compared to smaller, emerging cryptocurrencies.</li>
<li><strong>Mid-Cap and Small-Cap Cryptocurrencies:</strong> These include newer or less established digital assets that have the potential for significant growth. While they can offer substantial returns, they also come with increased risk and volatility compared to larger, more established cryptocurrencies.</li>
<li><strong>Stablecoins:</strong> To reduce volatility in your portfolio, consider including stablecoins like Tether (USDT) or USD Coin (USDC). These assets are pegged to fiat currencies, such as the US dollar, offering stability and minimizing exposure to market fluctuations.​</li>
</ul>
<h2 id="_3-regularly-rebalance-your-portfolio" tabindex="-1">3. Regularly Rebalance Your Portfolio <a class="header-anchor" href="#_3-regularly-rebalance-your-portfolio" aria-label="Permalink to “3. Regularly Rebalance Your Portfolio”">&#8203;</a></h2>
<p>Cryptocurrency prices can change rapidly, leading to an unbalanced portfolio over time. Regularly review and rebalance your portfolio by adjusting your asset allocations to align with your pre-defined risk tolerance and investment goals.</p>
<h2 id="_4-use-tools-like-rotki-for-privacy-focused-management" tabindex="-1">4. Use Tools Like <a href="https://rotki.com/" target="_blank" rel="noreferrer">rotki</a> for Privacy-Focused Management <a class="header-anchor" href="#_4-use-tools-like-rotki-for-privacy-focused-management" aria-label="Permalink to “4. Use Tools Like rotki for Privacy-Focused Management”">&#8203;</a></h2>
<p>Managing a diverse crypto portfolio can be complex, but tools like <strong><a href="https://rotki.com/" target="_blank" rel="noreferrer">rotki</a></strong> make it easier. Rotki is an open-source, privacy-focused portfolio management platform that allows you to track your assets while keeping your data secure. Unlike many other platforms, <strong><a href="https://rotki.com/" target="_blank" rel="noreferrer">rotki</a></strong> stores all data locally on your machine, ensuring complete control over your financial information.</p>
<img class="post_image_not_set_size with_border" src="/public/post15/assets-view-in-the-rotki-app.png" />
<p>Try it out here — <a href="https://rotki.com/" target="_blank" rel="noreferrer">rotki.com</a></p>
<h2 id="_5-stay-informed-and-adapt" tabindex="-1">5. Stay Informed and Adapt <a class="header-anchor" href="#_5-stay-informed-and-adapt" aria-label="Permalink to “5. Stay Informed and Adapt”">&#8203;</a></h2>
<p>The crypto market is constantly evolving. You need to stay updated on market trends, technological developments, and regulatory changes. Being adaptable and informed allows you to make better decisions and adjust your portfolio proactively.</p>
<p>By diversifying across different asset types and regularly rebalancing, you can build a <a href="https://blog.rotki.com/2024/09/10/the-importance-of-privacy-in-a-crypto-portfolio-management-tool/" target="_blank" rel="noreferrer">crypto portfolio</a> that balances risk and reward, positioning you for long-term success in the dynamic world of digital assets.</p>
<h2 id="key-takeaway" tabindex="-1">Key Takeaway <a class="header-anchor" href="#key-takeaway" aria-label="Permalink to “Key Takeaway”">&#8203;</a></h2>
<p>A balanced portfolio can mean all the difference in a highly volatile market like the crypto market. You need to make sure that your trading strategy includes balancing out your crypto portfolio to mitigate risks and improve your returns.</p>
<p>If you want more info on rotki:</p>
<ul>
<li>Try out rotki's <a href="https://github.com/rotki/rotki/releases" target="_blank" rel="noreferrer">latest release</a></li>
<li><a href="https://rotki.com/products" target="_blank" rel="noreferrer">Buy</a> premium, unlock all features and support our development.</li>
<li><a href="https://github.com/rotki/rotki" target="_blank" rel="noreferrer">Check out</a> our Github repo and <a href="https://twitter.com/rotkiapp" target="_blank" rel="noreferrer">follow</a> us in Twitter.</li>
<li>Chat with us and other users of Rotki in <a href="https://discord.rotki.com/" target="_blank" rel="noreferrer">Discord</a></li>
</ul>
]]></content:encoded>
            <author>The rotki team</author>
        </item>
        <item>
            <title><![CDATA[The Importance of Privacy in a Crypto Portfolio Management Tool]]></title>
            <link>https://blog.rotki.com/2024/09/10/the-importance-of-privacy-in-a-crypto-portfolio-management-tool/</link>
            <guid isPermaLink="false">https://blog.rotki.com/2024/09/10/the-importance-of-privacy-in-a-crypto-portfolio-management-tool</guid>
            <pubDate>Tue, 10 Sep 2024 00:00:00 GMT</pubDate>
            <description><![CDATA[In a world where digital footprints are as valuable as gold, privacy has become a precious commodity - especially in the crypto space.]]></description>
            <content:encoded><![CDATA[<img class="post_image_not_set_size with_border" src="/public/post14/september-week-2-blog-post-cover-image-1.png" />
<p>In a world where digital footprints are as valuable as gold, privacy has become a precious commodity - especially in the crypto space. Managing your crypto portfolio involves sensitive financial information, and the idea that this data could be exposed to third parties is unsettling. As cryptocurrency adoption grows, so does the need for privacy-conscious tools that protect user data.</p>
<p>Privacy in a crypto portfolio management tool is not just a feature - it's a necessity. Unlike traditional finance, where bank statements and investment portfolios are somewhat shielded by regulatory protections and financial institutions' infrastructure, cryptocurrencies' decentralized nature often means your financial activities can be more exposed than you'd like. Every transaction on a blockchain is recorded publicly, and visible to anyone who knows where to look. Without proper privacy measures, your portfolio could be vulnerable to unwanted scrutiny, or worse, targeted attacks on your person if you are deemed to be a high net-worth individual just by your on-chain footprint.</p>
<p>In the crypto world, your financial information is directly tied to your wallet addresses, and if these addresses are linked to your identity, your entire portfolio can be reconstructed. This transparency, while beneficial for organizations such as governments, is not something an individual should have to face. Nobody has read access to all your bank's transactions. With crypto they do and that can lead to risks such as hacking, phishing attempts, or even extortion and <strong><a href="https://github.com/jlopp/physical-bitcoin-attacks?tab=readme-ov-file" target="_blank" rel="noreferrer">physical assault</a></strong>. That's why crypto users must carefully consider how they manage and protect their portfolio data.</p>
<p>A good portfolio management tool should prioritize your privacy by ensuring your data remains fully controlled by you, and you alone. This means no cloud storage of sensitive information, no sharing of your financial activities with third parties, and strong encryption to keep your data safe from breaches. However, almost every portfolio management tool is a cloud-based web app, leaving its users vulnerable to data leaks or breaches that could compromise their financial security.</p>
<p>This is where <strong><a href="https://rotki.com/" target="_blank" rel="noreferrer">rotki</a></strong> stands out. rotki is an open-source, privacy-focused portfolio management tool that puts the user in control of their data. Unlike many other platforms, rotki ensures that all your data stays local, on your device. This fundamental approach to privacy means that none of your financial information is stored on external servers, and you're not dependent on third parties to protect your data. With rotki, your crypto holdings, transaction history, and portfolio performance reports remain entirely within your control.</p>
<p>The importance of this cannot be overstated. By keeping all data local, rotki eliminates the risks associated with cloud storage and third-party servers. Cloud-based portfolio management tools often claim to offer convenience, but that convenience comes at the cost of surrendering control over your data. Even the most secure cloud platforms can be vulnerable to hacking, leaks, or even simple human error. What's more, centralized services can be compelled to share data with government authorities, regulators, or other third parties.</p>
<p><strong><a href="https://rotki.com/" target="_blank" rel="noreferrer">rotki</a></strong>'s commitment to privacy extends beyond just local data storage. The platform is open source, which means that its code is publicly available for anyone to inspect. This level of transparency is crucial in a world where closed systems often leave users in the dark about how their data is being handled. With open-source software, you can trust that there are no hidden backdoors or secret data-sharing agreements. If you're technically inclined, you can even contribute to the development of the platform, ensuring it evolves to meet the highest privacy and security standards. Open source also leaves you with a promise. The promise is that no matter what happens to the company you will always be able to use the latest version of the tool. And that even if the team stops developing it, anyone else is free to pick it up and continue working on it.</p>
<p>What's more? rotki supports a wide range of crypto assets, CEX, and DeFi investments. This means you can manage your entire portfolio in one place while maintaining full control over your data. The platform also offers powerful reporting tools that allow you to track your investments, and analyze your portfolio's performance - all without ever compromising your privacy.</p>
<p>Privacy and security are important to the essence of cryptocurrency. The whole point of decentralized finance is to take control away from centralized institutions and give it back to the individual. However, this empowerment comes with responsibility. It's up to each user to safeguard their assets and their data. <strong><a href="https://rotki.com/" target="_blank" rel="noreferrer">rotki</a></strong> helps to make that responsibility a little easier by providing a comprehensive, open-source portfolio management tool that keeps your financial data private, secure, and under your full control, without relying on third-party services or exposing sensitive information.</p>
<p>In an age where data breaches and privacy invasions are increasingly common, having a portfolio management tool that respects and protects your privacy isn't just important - it's essential.</p>
<p>If you want more info on rotki:</p>
<ul>
<li>Try out rotki's <a href="https://github.com/rotki/rotki/releases" target="_blank" rel="noreferrer">latest release</a></li>
<li><a href="https://rotki.com/products" target="_blank" rel="noreferrer">Buy</a> premium, unlock all features and support our development.</li>
<li><a href="https://github.com/rotki/rotki" target="_blank" rel="noreferrer">Check out</a> our Github repo and <a href="https://twitter.com/rotkiapp" target="_blank" rel="noreferrer">follow</a> us in Twitter.</li>
<li>Chat with us and other users of Rotki in <a href="https://discord.rotki.com/" target="_blank" rel="noreferrer">Discord</a></li>
</ul>
]]></content:encoded>
            <author>The rotki team</author>
        </item>
        <item>
            <title><![CDATA[What is a Crypto Portfolio and How to Manage It]]></title>
            <link>https://blog.rotki.com/2024/08/30/what-is-a-crypto-portfolio-and-how-to-manage-it/</link>
            <guid isPermaLink="false">https://blog.rotki.com/2024/08/30/what-is-a-crypto-portfolio-and-how-to-manage-it</guid>
            <pubDate>Fri, 30 Aug 2024 00:00:00 GMT</pubDate>
            <description><![CDATA[As the world of cryptocurrency continues to expand, more investors are venturing into digital assets, building what’s known as a crypto portfolio.]]></description>
            <content:encoded><![CDATA[<img class="post_image_not_set_size with_border" src="/public/post13/week-4-blog-post-cover-image.png" />
<p>As the world of cryptocurrency continues to expand, more investors are venturing into digital assets, building what’s known as a crypto portfolio.</p>
<p>Like a traditional investment portfolio that might include stocks, bonds, and real estate, a crypto portfolio is a collection of various cryptocurrencies and blockchain-based assets owned by an individual or institution.</p>
<h2 id="what-is-a-crypto-portfolio" tabindex="-1">What is a Crypto Portfolio? <a class="header-anchor" href="#what-is-a-crypto-portfolio" aria-label="Permalink to “What is a Crypto Portfolio?”">&#8203;</a></h2>
<p>A crypto portfolio represents your entire digital asset holdings. It includes a range of different types of assets you currently hold. Understanding the components of a crypto portfolio is essential for managing risk, tracking performance, and making informed investment decisions.</p>
<h2 id="key-components-of-a-crypto-portfolio" tabindex="-1">Key Components of a Crypto Portfolio <a class="header-anchor" href="#key-components-of-a-crypto-portfolio" aria-label="Permalink to “Key Components of a Crypto Portfolio”">&#8203;</a></h2>
<ol>
<li><strong>Cryptocurrencies:</strong> The foundation of any crypto portfolio, cryptocurrencies are digital or virtual currencies that use cryptography for security. The most well-known examples are Bitcoin (BTC) and Ethereum (ETH), but there are thousands of others.</li>
<li><strong>Tokens:</strong> Tokens are a type of cryptocurrency built on top of an existing blockchain, typically representing more than just currency. They can grant access to a service, represent ownership in a project, or even act as a form of voting rights in decentralized governance. For instance, ERC-20 tokens are built on the Ethereum blockchain.</li>
<li><strong>Stablecoins:</strong> These are cryptocurrencies pegged to the value of a stable asset, such as the US dollar. Stablecoins like Tether (USDT) and USD Coin (USDC) are designed to minimize volatility, making them useful for transactions and as a store of value during periods of market instability.</li>
<li><strong>NFTs (Non-Fungible Tokens):</strong> NFTs are unique digital assets that represent ownership of specific items or content, such as digital art, music, or virtual real estate. Unlike traditional cryptocurrencies, which are fungible and can be exchanged on a one-to-one basis, NFTs are distinct and often used in the context of collectibles and digital ownership.</li>
<li><strong>DeFi (Decentralized Finance) Assets:</strong> DeFi assets are part of a rapidly growing sector in the crypto world that aims to replicate traditional financial services — like lending, borrowing, and trading — without intermediaries such as banks. These assets often provide opportunities for earning interest or participating in governance, and they play a significant role in the portfolios of investors looking to engage in more complex financial strategies.</li>
<li><strong>Staking and Yield Farming Assets:</strong> Staking involves holding a cryptocurrency in a wallet to support the operations of a blockchain network, such as transaction validation, in exchange for rewards. Yield farming, on the other hand, involves lending or borrowing assets through decentralized finance protocols to earn returns. Both practices are popular among investors looking to generate passive income from their crypto holdings.</li>
</ol>
<h2 id="the-importance-of-managing-a-crypto-portfolio" tabindex="-1">The Importance of Managing a Crypto Portfolio <a class="header-anchor" href="#the-importance-of-managing-a-crypto-portfolio" aria-label="Permalink to “The Importance of Managing a Crypto Portfolio”">&#8203;</a></h2>
<p>Managing a crypto portfolio effectively is crucial for several reasons:</p>
<ol>
<li><strong>Diversification:</strong> Just as with traditional investments, diversification is key to managing risk in a crypto portfolio. By holding a variety of assets, investors can reduce their exposure to the volatility of any single cryptocurrency or protocol. This approach helps to minimize potential losses and stabilize returns over time.</li>
<li><strong>Tracking Performance:</strong> Keeping track of the performance of each asset in your portfolio is essential. Regularly monitoring your portfolio allows you to see how each investment is performing, helping you decide when to buy, sell, or hold. This continuous oversight is crucial in the fast-moving crypto markets, where prices can fluctuate rapidly.</li>
<li><strong>Risk Management:</strong> Different assets in a crypto portfolio come with varying levels of risk. A well-balanced portfolio takes this into account, blending high-risk, high-reward investments with more stable assets like stablecoins. Managing risk helps protect against significant losses while still offering growth opportunities. There are multiple types of risk. There is volatility risk but also smart contract or protocol risk. With hacks being frequent in crypto an investor needs to take care of both.</li>
<li><strong>PnL Analysis:</strong> Generate information that can make it easier to understand how much profit or loss you have had in a given period. These can also be used for taxes.</li>
</ol>
<h2 id="tools-for-managing-a-crypto-portfolio" tabindex="-1">Tools for Managing a Crypto Portfolio <a class="header-anchor" href="#tools-for-managing-a-crypto-portfolio" aria-label="Permalink to “Tools for Managing a Crypto Portfolio”">&#8203;</a></h2>
<p>Given the complexity of managing a diverse set of digital assets, many investors turn to portfolio management tools. These platforms offer a range of features, including:</p>
<ol>
<li><strong>Real-Time Tracking:</strong> Get up-to-the-minute updates on the value of your holdings.</li>
<li><strong>Comprehensive Dashboards:</strong> View all your assets in one place, even if they’re spread across multiple exchanges and wallets.</li>
<li><strong>Analytics and Insights:</strong> Access detailed reports on portfolio performance, including profits, losses, and historical data.</li>
</ol>
<p>One example of such a tool is <strong><a href="https://rotki.com/" target="_blank" rel="noreferrer">rotki</a></strong>, an open-source, privacy-focused portfolio management platform. Unlike many other tools that rely on cloud storage, rotki operates locally on your device, ensuring that your financial data remains private and under your control.</p>
<p>It integrates with various exchanges, wallets, blockchains, and protocols, making it easier to track a wide range of assets and stay on top of your portfolio.</p>
<p>Try it out here — <a href="https://rotki.com/" target="_blank" rel="noreferrer">rotki.com</a></p>
<h2 id="key-takeaway" tabindex="-1">Key Takeaway <a class="header-anchor" href="#key-takeaway" aria-label="Permalink to “Key Takeaway”">&#8203;</a></h2>
<p>It is normal for non-investors to assume that a portfolio is just another complex term used in financial markets. In truth, a crypto portfolio is simply a collection of digital currencies that contains assets that, if managed effectively, can lead to significant financial growth. Whether you’re a seasoned investor or new to digital assets, effective portfolio management, performance tracking, and risk management will be key to your success in the crypto space.</p>
<p>If you want more info on rotki:</p>
<ul>
<li>Try out rotki's <a href="https://github.com/rotki/rotki/releases" target="_blank" rel="noreferrer">latest release</a></li>
<li><a href="https://rotki.com/products" target="_blank" rel="noreferrer">Buy</a> premium, unlock all features and support our development.</li>
<li><a href="https://github.com/rotki/rotki" target="_blank" rel="noreferrer">Check out</a> our Github repo and <a href="https://twitter.com/rotkiapp" target="_blank" rel="noreferrer">follow</a> us in Twitter.</li>
<li>Chat with us and other users of Rotki in <a href="https://discord.rotki.com/" target="_blank" rel="noreferrer">Discord</a></li>
</ul>
]]></content:encoded>
            <author>The rotki team</author>
        </item>
        <item>
            <title><![CDATA[rotki year in review - 2022]]></title>
            <link>https://blog.rotki.com/2022/12/31/year-in-review/</link>
            <guid isPermaLink="false">https://blog.rotki.com/2022/12/31/year-in-review</guid>
            <pubDate>Sat, 31 Dec 2022 00:00:00 GMT</pubDate>
            <description><![CDATA[Looking back at what rotki achieved in 2022]]></description>
            <content:encoded><![CDATA[<h1 id="introduction" tabindex="-1">Introduction <a class="header-anchor" href="#introduction" aria-label="Permalink to “Introduction”">&#8203;</a></h1>
<p>rotki is the opensource portfolio tracker and accounting tool that protects your privacy. It started in 2017 as a small CLI tool to cater for my own portfolio tracking and tax reporting needs as a technical crypto user in Germany. Since then it has grown a lot and into its own project with thousands of users, 100 code contributors and a dedicated and passionate userbase.</p>
<h1 id="year-in-review" tabindex="-1">Year in review <a class="header-anchor" href="#year-in-review" aria-label="Permalink to “Year in review”">&#8203;</a></h1>
<p>This post is a look back in the year that passed, recounting what we did at rotki since the start of 2022. We are gonna look at both what happened in the app and the code, but also how did the team itself grow and evolve. I (Lefteris), am writing here using the first person as this is my personal outlook on how rotki grew this year.</p>
<h2 id="january" tabindex="-1">January <a class="header-anchor" href="#january" aria-label="Permalink to “January”">&#8203;</a></h2>
<p>We released two rotki patch releases. 1.23.1 and 1.23.2</p>
<img class="post_image_not_set_size with_border" src="/public/post12/v1_23_1.png" />
<img class="post_image_not_set_size with_border" src="/public/post12/v1_23_2.png" />
<p>Also <a href="https://github.com/lukicenturi" target="_blank" rel="noreferrer">Luki Centuri</a>, the frontend developer who had just joined us at the end of the previous year completed his first month. Our team was finally more than just 3 people!</p>
<img class="post_image_not_set_size with_border" src="/public/post12/luki.png" />
<h2 id="february" tabindex="-1">February <a class="header-anchor" href="#february" aria-label="Permalink to “February”">&#8203;</a></h2>
<p>In February we released another patch release, 1.23.3</p>
<img class="post_image_not_set_size with_border" src="/public/post12/v1_23_3.png" />
<p>And our team <a href="https://github.com/rotki/rotki/graphs/contributors?from=2022-02-01&amp;to=2022-03-01&amp;type=c" target="_blank" rel="noreferrer">kept working</a> dilligently toward making 1.24.0.</p>
<img class="post_image_not_set_size with_border" src="/public/post12/february_commits.png" />
<h2 id="march" tabindex="-1">March <a class="header-anchor" href="#march" aria-label="Permalink to “March”">&#8203;</a></h2>
<p>In March we released yet another patch release, 1.23.4, making 1.23.xx release series the longest patch release series of 2022.</p>
<img class="post_image_not_set_size with_border" src="/public/post12/v1_23_4.png" />
<p>Also we had our first non-tech hire! <a href="https://twitter.com/celina_celka" target="_blank" rel="noreferrer">Celina</a> joined our team.</p>
<img class="post_image_not_set_size with_border" src="/public/post12/celina.png" />
<p>Celina has handled all non-developer related tasks such as HR, accounting, all organizational matters and even a bit of communications!</p>
<h2 id="april" tabindex="-1">April <a class="header-anchor" href="#april" aria-label="Permalink to “April”">&#8203;</a></h2>
<p>April was a really interesting month as we had two new hires who were onboarded to the backend team.</p>
<p>The first was <a href="https://github.com/prettyirrelevant" target="_blank" rel="noreferrer">Isaac</a>.</p>
<img class="post_image_not_set_size with_border" src="/public/post12/isaac.png" />
<p>Isaac is a developer from Nigeria who joined the backend team and has so far helped us with various issues on the backend.</p>
<p>The second was <a href="https://github.com/nebolax" target="_blank" rel="noreferrer">Alexey</a>.</p>
<img class="post_image_not_set_size with_border" src="/public/post12/alexey.png" />
<p>Alexey was our youngest hire, an enthusiastic 18yo developer from Russia who has since helped us with various rotki backend matters.</p>
<img class="post_image_not_set_size with_border" src="/public/post12/april_commits.png" />
<p>And the team kept on grinding towards the long awaited 1.24.0 release while at the same time trying to onboard the new hires.</p>
<h2 id="may" tabindex="-1">May <a class="header-anchor" href="#may" aria-label="Permalink to “May”">&#8203;</a></h2>
<p>At the end of May we finally managed to release v1.24.0.</p>
<img class="post_image_not_set_size with_border" src="/public/post12/v1_24_0.png" />
<p>That was the biggest release we have ever made (and I hope to not do it again) and contained among others:</p>
<ul>
<li>The start of the ethereum transactions decoding</li>
<li>Kraken staking</li>
<li>Support for ftx.us</li>
<li>ens reverse resolution</li>
<li>ability to manipulate balance snapshots</li>
<li>uniswap price oracle</li>
</ul>
<h2 id="june" tabindex="-1">June <a class="header-anchor" href="#june" aria-label="Permalink to “June”">&#8203;</a></h2>
<p>In June we released a quick patch release to fix bugs found in 1.24.0</p>
<img class="post_image_not_set_size with_border" src="/public/post12/v1_24_1.png" />
<p>And we also kept grinding and coding towards 1.25.0 and trying to learn how to work as a bigger backend team now that we have had Isaac and Alexey.</p>
<img class="post_image_not_set_size with_border" src="/public/post12/june_commits.png" />
<h2 id="july" tabindex="-1">July <a class="header-anchor" href="#july" aria-label="Permalink to “July”">&#8203;</a></h2>
<p>July was quite a busy month!</p>
<h3 id="ethbarcelona" tabindex="-1">EthBarcelona <a class="header-anchor" href="#ethbarcelona" aria-label="Permalink to “EthBarcelona”">&#8203;</a></h3>
<p>It started with a trip to Barcelona for <a href="https://ethbarcelona.com/" target="_blank" rel="noreferrer">EthBarcelona</a> where we <a href="https://www.youtube.com/watch?v=RhYiOWrFKVs" target="_blank" rel="noreferrer">presented</a> about rotki and the benefits of opensource software.</p>
<img class="post_image_not_set_size with_border" src="/public/post12/ethbarcelona-persentation.jpg" />
<p>It was a very moving moment for me as it was the first time I met with <a href="https://github.com/yabirgb" target="_blank" rel="noreferrer">Yabir</a> in real life.</p>
<img class="post_image_not_set_size with_border" src="/public/post12/ethbarcelona-yabir.jpg" />
<p>We have been working with Yabir since 2021 and getting to see him in the flesh after one and a half year was amazing.</p>
<p>What's more we got to meet Viktor (left)!</p>
<img class="post_image_not_set_size with_border" src="/public/post12/ethbarcelona-viktor.jpg" />
<p><a href="https://github.com/vnavascues" target="_blank" rel="noreferrer">Viktor</a> used to work with rotki for a few months from the end of 2020 until Q2 2021! He is a native of Barcelona and after rotki, he stayed in the crypto field so it was really cool to meet him too in real life!</p>
<h3 id="v1-25-0" tabindex="-1">v1.25.0 <a class="header-anchor" href="#v1-25-0" aria-label="Permalink to “v1.25.0”">&#8203;</a></h3>
<p>After Barcelona we released v1.25.0.</p>
<img class="post_image_not_set_size with_border" src="/public/post12/v1_25_0.png" />
<p>It was a French-themed release as we were also heading to Paris for EthCC.</p>
<p>Among others it contained support for:</p>
<ul>
<li>Bitcoin cash</li>
<li>LiFo accounting</li>
<li>Management of multiple ethereum nodes</li>
<li>Mac M1 support</li>
<li>Ethereum address book</li>
<li>Filtering of ethereum transactions</li>
<li>Zoom in charts</li>
</ul>
<h3 id="ethcc" tabindex="-1">EthCC <a class="header-anchor" href="#ethcc" aria-label="Permalink to “EthCC”">&#8203;</a></h3>
<p>In July we also travelled to Paris for <a href="https://ethcc.io/" target="_blank" rel="noreferrer">EthCC</a> where we <a href="https://www.youtube.com/watch?v=FY5o3W4hSBM&amp;list=PLhM7rBgpVV-JnmRLUbd10ELntN3LFfmKH&amp;index=17" target="_blank" rel="noreferrer">presented</a> about rotki's progress and how opensource is a core of what we do.</p>
<img class="post_image_not_set_size with_border" src="/public/post12/ethcc-presentation.jpg" />
<p>EthCC is a very important conference for us as it is in <a href="https://www.youtube.com/watch?v=oIT0L9GDYEg" target="_blank" rel="noreferrer">EthCC 2019</a> that I first presented about rotki to an audience.</p>
<p>Both <a href="https://github.com/yabirgb" target="_blank" rel="noreferrer">Yabir</a> and <a href="https://github.com/kelsos" target="_blank" rel="noreferrer">Kelsos</a> travelled to Paris for EthCC so this was the first time those two managed to meet in person.</p>
<img class="post_image_not_set_size with_border" src="/public/post12/ethcc-all3.jpg" />
<p>Another really cool meeting in EthCC was meeting with the first user in the wild, <a href="https://twitter.com/jimjim_eth" target="_blank" rel="noreferrer">jimjim.eth</a>, who used the rotki dappnode package at his home and connected and used it from his mobile phone! rotki mobile was already a reality!</p>
<img class="post_image_not_set_size with_border" src="/public/post12/ethcc-jimjim.jpg" />
<h3 id="v1-25-1" tabindex="-1">v1.25.1 <a class="header-anchor" href="#v1-25-1" aria-label="Permalink to “v1.25.1”">&#8203;</a></h3>
<p>We closed this very busy month with a patch release, 1.25.1, that fixed bugs our users saw with 1.25.0.</p>
<img class="post_image_not_set_size with_border" src="/public/post12/v1_25_1.png" />
<p>Fun fact is that this release was implemented while we were trying to figure out our hotels and flights. That trip to Paris was cursed. Both flights to/from Paris were delayed/canceled and our hotels/airbnbs all presented problems 😄</p>
<h2 id="august" tabindex="-1">August <a class="header-anchor" href="#august" aria-label="Permalink to “August”">&#8203;</a></h2>
<p>In August, recovering from the busy month of July, we released 1.25.2 that fixed yet more issues and added improvements on top of 1.25.1.</p>
<img class="post_image_not_set_size with_border" src="/public/post12/v1_25_2.png" />
<p>What's more the team kept working dilligently towards our next big milestone, 1.26.0.</p>
<img class="post_image_not_set_size with_border" src="/public/post12/august_commits.png" />
<h2 id="september" tabindex="-1">September <a class="header-anchor" href="#september" aria-label="Permalink to “September”">&#8203;</a></h2>
<p>September was also a busy month! Most of the team travelled to Berlin, for the Berlin blokchain week.</p>
<h3 id="dappcon" tabindex="-1">Dappcon <a class="header-anchor" href="#dappcon" aria-label="Permalink to “Dappcon”">&#8203;</a></h3>
<p>We <a href="https://www.youtube.com/watch?v=MelJrpKyyl4" target="_blank" rel="noreferrer">presented</a> at <a href="https://www.dappcon.io/" target="_blank" rel="noreferrer">dappcon</a> about rotki and what its strengths are but also what the challenges with making an opensource application are, especially related to funding.</p>
<img class="post_image_not_set_size with_border" src="/public/post12/dappcon-presentation1.jpg" />
<img class="post_image_not_set_size with_border" src="/public/post12/dappcon-presentation2.jpg" />
<p>Dappcon was an amazing experience for us as it was the very first time the biggest part of the team was in the same place. We met Alexey in real life for the first time after working together for almost 5 months!</p>
<img class="post_image_not_set_size with_border" src="/public/post12/dappcon-all.jpg" />
<p>From left to right: <a href="https://github.com/kelsos" target="_blank" rel="noreferrer">Kelsos</a>, <a href="https://github.com/yabirgb" target="_blank" rel="noreferrer">Yabir</a>, <a href="https://github.com/LefterisJP" target="_blank" rel="noreferrer">Lefteris</a>, <a href="https://github.com/celkacelka" target="_blank" rel="noreferrer">Celina</a>, <a href="https://github.com/nebolax" target="_blank" rel="noreferrer">Alexey</a>.</p>
<h3 id="ethberlin" tabindex="-1">EthBerlin <a class="header-anchor" href="#ethberlin" aria-label="Permalink to “EthBerlin”">&#8203;</a></h3>
<p>We also participated in <a href="https://ethberlin.ooo/" target="_blank" rel="noreferrer">ETHBerlin 3</a>!</p>
<img class="post_image_not_set_size with_border" src="/public/post12/ethberlin1.jpg" />
<p>We hacked on various rotki related things and had some workshops.</p>
<img class="post_image_not_set_size with_border" src="/public/post12/ethberlin3.jpg" />
<p>Also took this chance to enjoy team lunches together, including with Celina 😃</p>
<img class="post_image_not_set_size with_border" src="/public/post12/ethberlin2.jpg" />
<p>Finally we bonded together through the entire event and even met external rotki contributors, like Pablo pictured here on the left.</p>
<h3 id="v1-25-3" tabindex="-1">v1.25.3 <a class="header-anchor" href="#v1-25-3" aria-label="Permalink to “v1.25.3”">&#8203;</a></h3>
<p>In September we also released rotki v1.25.3, a bugfix release that was building on top of 1.25.2 adding lots of improvements but also fixing bugs our users found.</p>
<img class="post_image_not_set_size with_border" src="/public/post12/v1_25_3.png" />
<h2 id="october" tabindex="-1">October <a class="header-anchor" href="#october" aria-label="Permalink to “October”">&#8203;</a></h2>
<p>October was also a very busy month. Including a major release and the trip to Bogota, for Devcon.</p>
<h3 id="bogota-ethbogota" tabindex="-1">Bogota - EthBogota <a class="header-anchor" href="#bogota-ethbogota" aria-label="Permalink to “Bogota - EthBogota”">&#8203;</a></h3>
<p>Kelsos, Alexey and I flew to Bogota, Colombia to participate in a few events there. First was the EthBogota hackathon</p>
<img class="post_image_not_set_size with_border" src="/public/post12/ethbogota1.jpg" />
<img class="post_image_not_set_size with_border" src="/public/post12/ethbogota2.jpg" />
<p>There we met many like-minded hackers, hacked on rotki related issues and tried to get more people involved with rotki. Hackathons are a great place to find new contributors and to shill an opensource project.</p>
<h3 id="bogota-schelling-point" tabindex="-1">Bogota - Schelling point <a class="header-anchor" href="#bogota-schelling-point" aria-label="Permalink to “Bogota - Schelling point”">&#8203;</a></h3>
<p>After that there was an one day event called <a href="https://schellingpoint.gitcoin.co/" target="_blank" rel="noreferrer">schelling point</a>, where I participated in a <a href="https://www.youtube.com/watch?v=I_JMDUo09Z0&amp;list=PLvTrX8LNPbPkQ3qDNpQDRZQClhUl_BJQp&amp;index=14" target="_blank" rel="noreferrer">panel</a></p>
<img class="post_image_not_set_size with_border" src="/public/post12/schellingpoint1.jpg" />
<img class="post_image_not_set_size with_border" src="/public/post12/schellingpoint2.jpg" />
<p>There we discussed about how opensource is a public good, what the challenges are but also what are the benefits. As usual the problem of sustainably funding opensource came up.</p>
<h3 id="bogota-devcon" tabindex="-1">Bogota - Devcon <a class="header-anchor" href="#bogota-devcon" aria-label="Permalink to “Bogota - Devcon”">&#8203;</a></h3>
<p>And finally we had our first ethereum devcon in 3 years. It was a very long time since Japan when the last devcon happened.</p>
<img class="post_image_not_set_size with_border" src="/public/post12/devcon1.jpg" />
<img class="post_image_not_set_size with_border" src="/public/post12/devcon2.jpg" />
<p>There I (Lefteris) <a href="https://archive.devcon.org/archive/watch/6/understanding-transactions-in-evm-compatible-blockchains-powered-by-opensource/?playlist=Developer%20Infrastructure&amp;tab=YouTube" target="_blank" rel="noreferrer">presented</a> about the modular opensource transaction decoding system we have in rotki and how this can be generalized and used by other applications.</p>
<img class="post_image_not_set_size with_border" src="/public/post12/devcon-lef-presentation.jpg" />
<p>Kelsos also presented about rotki in general, its architecture,  our progress and about how opensource is core to what we do.</p>
<img class="post_image_not_set_size with_border" src="/public/post12/devcon-kelsos-presentation.jpg" />
<p>All in all it was an amazing experience. We met many like-minded people, many rotki users and external contributors and got re-affirmation that what we are building is useful. What's more we got lots of feedback on things that could improve and have adjusted our future planning accordingly.</p>
<h3 id="bogota-team-building" tabindex="-1">Bogota - Team building <a class="header-anchor" href="#bogota-team-building" aria-label="Permalink to “Bogota - Team building”">&#8203;</a></h3>
<p>Since we were on the other side of the world and we are a remote team, we took this chance to do some team building events. Mostly hikes and sightseeing so we can experience a different location together and create team bonds that will hopefully last for long. In the pictures below first is <a href="https://en.wikipedia.org/wiki/Lake_Guatavita" target="_blank" rel="noreferrer">Lake Guatavita</a> where the legend of El Dorado comes from and second is <a href="http://ropewiki.com/Chorrera_(Colombia)" target="_blank" rel="noreferrer">La Chorrera</a>, the tallest watterfal in Colombia.</p>
<img class="post_image_not_set_size with_border" src="/public/post12/bogota-team1.jpg" />
<img class="post_image_not_set_size with_border" src="/public/post12/bogota-team2.jpg" />
<h3 id="v1-26-0" tabindex="-1">v1.26.0 <a class="header-anchor" href="#v1-26-0" aria-label="Permalink to “v1.26.0”">&#8203;</a></h3>
<p>Right after coming back from Colombia, we released our latest major release for which we have been working since August, 1.26.0.</p>
<img class="post_image_not_set_size with_border" src="/public/post12/v1_26_0.png" />
<p>This included among others:</p>
<ul>
<li>Internationalization</li>
<li>Bitcoin taproot support</li>
<li>Note taking</li>
<li>Convex finance support</li>
<li>Multi-chain assets</li>
<li>Custom assets and custom prices</li>
<li>LP balances in the dashboard</li>
</ul>
<h2 id="november" tabindex="-1">November <a class="header-anchor" href="#november" aria-label="Permalink to “November”">&#8203;</a></h2>
<p>November was a hands down and working month. The team was working on 3 things.</p>
<img class="post_image_not_set_size with_border" src="/public/post12/november_commits.png" />
<ul>
<li>Website Infrastructure</li>
<li>Bug fixes</li>
<li>Next major release</li>
</ul>
<p>And we also released 1.26.1, a release that fixed bugs seen since 1.26.0.</p>
<img class="post_image_not_set_size with_border" src="/public/post12/v1_26_1.png" />
<h2 id="december" tabindex="-1">December <a class="header-anchor" href="#december" aria-label="Permalink to “December”">&#8203;</a></h2>
<p>And finally we come to the last month of the year that has not even ended yet.</p>
<img class="post_image_not_set_size with_border" src="/public/post12/december_commits.png" />
<p>The team had a lot of deserved time off for the holidays but also worked hard on putting out minor improvements and bug fixes while also working on the upcoming v1.27.0 release.</p>
<p>In December we released two patch releases.</p>
<img class="post_image_not_set_size with_border" src="/public/post12/v1_26_2.png" />
<p>1.26.2 which among many other things replaced the default open ethereum nodes with modern ones which are faster and as such provided a big performance improvement for our ethereum users.</p>
<img class="post_image_not_set_size with_border" src="/public/post12/v1_26_3.png" />
<p>1.26.3 which fixed a lot of bugs our users saw and also provided minor improvements in the user experience.</p>
<p>In general the team is laser focused, as we go in the new year to release 1.27.0 which will, among other things, bring full Optimism support</p>
<h1 id="closing" tabindex="-1">Closing <a class="header-anchor" href="#closing" aria-label="Permalink to “Closing”">&#8203;</a></h1>
<p>Looking back at 2022 we did a lot more than I expected we would. Achieved so much but also spent time growing. I think, it's the year rotki &quot;grew up&quot;. Growing from 3 devs to 6 devs and 1 non-technical person is not a small feat! Neither was it easy. I hope we can continue to build rotki into the tool that you guys want and have a lot of happy users and contributors. Here is to a more productive, more succesful and happier new year 2023!</p>
<p>That's all!</p>
<p>If you want more info on Rotki:</p>
<ul>
<li>Try out Rotki's <a href="https://github.com/rotki/rotki/releases" target="_blank" rel="noreferrer">latest release</a></li>
<li><a href="https://rotki.com/products" target="_blank" rel="noreferrer">Buy</a> premium, unlock all features and support our development.</li>
<li><a href="https://github.com/rotki/rotki" target="_blank" rel="noreferrer">Check out</a> our Github repo and <a href="https://twitter.com/rotkiapp" target="_blank" rel="noreferrer">follow</a> us in Twitter.</li>
<li>Chat with us and other users of Rotki in <a href="https://discord.rotki.com/" target="_blank" rel="noreferrer">Discord</a></li>
</ul>
]]></content:encoded>
            <author>The rotki team</author>
        </item>
        <item>
            <title><![CDATA[Rotki wants you to work with us! Looking for a backend developer!]]></title>
            <link>https://blog.rotki.com/2020/10/01/job-backend-developer/</link>
            <guid isPermaLink="false">https://blog.rotki.com/2020/10/01/job-backend-developer</guid>
            <pubDate>Thu, 01 Oct 2020 00:00:00 GMT</pubDate>
            <description><![CDATA[This post describes the role of a backend developer that has opened in rotki]]></description>
            <content:encoded><![CDATA[<h1 id="introduction" tabindex="-1">Introduction <a class="header-anchor" href="#introduction" aria-label="Permalink to “Introduction”">&#8203;</a></h1>
<p><strong>Updated for 2021 - We are still looking</strong></p>
<p>Rotki is a true startup in the full sense of the word. A side-project trying to grow and get out into the world. At the moment we are a really small team and the issues and feature requests are piling up. Since rotki is opensource we have some help from amazing community volunteers but it's time to grow the core team beyond 2-3 people. To do that we are looking for a backend developer to work with us and help us create opensource financial tools.</p>
<h1 id="role-requirements" tabindex="-1">Role requirements <a class="header-anchor" href="#role-requirements" aria-label="Permalink to “Role requirements”">&#8203;</a></h1>
<p>We are looking for a backend developer to help us improve Rotki. You will work mostly with the founder (Lefteris) who is the main developer working in the backend. The task is to help in the development of new features, supporting more exchanges, more blockchains, more DeFi protocols and solving all issues/bugs that are coming our way.</p>
<p>This role is for an experienced developer who <strong>can take initiative, does not need constant monitoring and can take on a lot of responsibility</strong>. We need someone who can take ownership of a big part of rotki's backend and help us get it to the next level.</p>
<p>Since this is a startup you will probably wear a lot of hats and may need to also help with the backend/infrastructure of our website and API.</p>
<p>Technical requirements:</p>
<ul>
<li>Excellent command of python.</li>
<li>Experience in at least another programming language (Go, C/C++, Rust etc.).</li>
<li>Write tests for features you code and bugs you fix. Not strict TDD, but also not complete absence of tests.</li>
<li>Very Good technical understanding of Ethereum blockchain, interacting with it, querying it and knowing technical details of how it operates.</li>
<li>[Optional] Similar knowledge of another blockchain protocol (e.g. Bitcoin).</li>
<li>[Semi-Optional] Experience in django (should be easy to learn for a python dev).</li>
<li>[Optional] Understanding of frontend tech used in rotki: Typescript + vue.js + electron.</li>
<li>[Optional] Good understanding of docker and generally infrastructure related tech pertaining to web servers.</li>
</ul>
<p>Non-Technical requirements:</p>
<ul>
<li>Don't be an asshole.</li>
<li>Be a team player.</li>
<li>Be an independent thinker and have a proactive can-do attitude. In the start You will be guided for most tasks and there is always going to be mentoring when required but the more you manage to fend off by yourself the smoother the whole team will work. Eventually this job is a for an individual who is both willing and capable to take on a lot of responsibility and take ownership of a big part of the codebase. No hand-holding.</li>
<li>Be user-minded. The user is king. Everything we implement in Rotki, we do so that our end users are happy and have their problems solved.</li>
<li>Have excellent English speaking skills.</li>
<li>[Optional] Be located in Berlin or somewhere close. 2 other full time members of Rotki are here and meeting face to face is valuable.</li>
</ul>
<h1 id="what-we-can-offer" tabindex="-1">What we can offer <a class="header-anchor" href="#what-we-can-offer" aria-label="Permalink to “What we can offer”">&#8203;</a></h1>
<p>This position can be for either a half-time (50%) or a full-time (100%) role.</p>
<ul>
<li>WFH/Working remotely. We don't care (as long as we meet up from time to time!) where you live, if you travel all the time, if you are in your underwear when coding etc.</li>
<li>Flexible working hours. Nobody will count your hours. As long as the output is there and the result is good, we don't care.</li>
<li>Opportunity to work with some OGs in the Ethereum and general crypto space.</li>
<li>Opportunity to work in opensource, have your code visible and running at the systems of the ever-increasing Rotki userbase.</li>
<li>Potential for equity options in the company.</li>
<li>Working on a lean and mean team without micromanagement.</li>
</ul>
<h1 id="how-to-apply-more-info" tabindex="-1">How to apply / More Info <a class="header-anchor" href="#how-to-apply-more-info" aria-label="Permalink to “How to apply / More Info”">&#8203;</a></h1>
<p>Send an email to <a href="mailto:careers@rotki.com" target="_blank" rel="noreferrer">careers@rotki.com</a> with your CV, a link to your Github profile and a small text about yourself and why you are interested to work with us on Rotki. Please include a link to a project you worked on and are the most proud about. Tell us why that is. If it's opensource also include a link.</p>
<p>That's all!</p>
<p>If you want more info on Rotki:</p>
<ul>
<li>Try out Rotki's <a href="https://github.com/rotki/rotki/releases" target="_blank" rel="noreferrer">latest release</a></li>
<li><a href="https://github.com/rotki/rotki" target="_blank" rel="noreferrer">Check out</a> our Github repo and <a href="https://twitter.com/rotkiapp" target="_blank" rel="noreferrer">follow</a> us in Twitter.</li>
</ul>
]]></content:encoded>
            <author>The rotki team</author>
        </item>
        <item>
            <title><![CDATA[Decentralized Finance, the YAM fiasco and the road to DeFi sustainability]]></title>
            <link>https://blog.rotki.com/2020/08/13/sustainable-defi/</link>
            <guid isPermaLink="false">https://blog.rotki.com/2020/08/13/sustainable-defi</guid>
            <pubDate>Thu, 13 Aug 2020 00:00:00 GMT</pubDate>
            <description><![CDATA[This post explores what is the concept of Decentralized Finance (DeFi), what new possibilities does it unlock and why it's so cool and hot right now. On the other side of the coin it touches on the dark side of DeFi with the YOLO farming and unaudited contracts most recently highlighted by the YAM fiasco. Finally it takes a look on the road ahead, the lessons that the community needs to learn in order to create sustainable and responsible DeFi for decades to come that will not be used by few Twitter bros but permisionlessly by everyone around the world.]]></description>
            <content:encoded><![CDATA[<h1 id="introduction" tabindex="-1">Introduction <a class="header-anchor" href="#introduction" aria-label="Permalink to “Introduction”">&#8203;</a></h1>
<p>This post explores what is the concept of Decentralized Finance (DeFi), what new possibilities does it unlock and why it's so cool and hot right now. On the other side of the coin it touches on the dark side of DeFi with the YOLO farming and unaudited contracts most recently highlighted by the YAM fiasco. Finally it takes a look on the road ahead, the lessons that the community needs to learn in order to create sustainable and responsible DeFi for decades to come. Finacial instruments and tools that will not only be used by a few Twitter bros but permisionlessly by everyone around the world.</p>
<h1 id="what-is-defi" tabindex="-1">What is DeFi <a class="header-anchor" href="#what-is-defi" aria-label="Permalink to “What is DeFi”">&#8203;</a></h1>
<p>In one sentence, decentralized finance is the permissionless decentralized version of various traditional financial instruments such as exchanges, lending, borrowing, synthetic assets e.t.c. There has been a lot of innovation in the sector in the past 2 years.</p>
<h2 id="decentralized-exchanges" tabindex="-1">Decentralized Exchanges <a class="header-anchor" href="#decentralized-exchanges" aria-label="Permalink to “Decentralized Exchanges”">&#8203;</a></h2>
<p>We have various decentralized exchanges such as:</p>
<ul>
<li><a href="https://uniswap.org/" target="_blank" rel="noreferrer">Uniswap</a></li>
<li><a href="https://kyberswap.com/swap" target="_blank" rel="noreferrer">Kyber</a></li>
<li><a href="https://www.deversifi.com/" target="_blank" rel="noreferrer">Deversifi</a></li>
</ul>
<p>They all operate in a decentralized way and are non-custodial in stark contrast with centralized exchanges such as Binance, Kraken to which you have to first deposit and give custody of your funds.</p>
<h2 id="lending-borrowing-protocols" tabindex="-1">Lending/Borrowing Protocols <a class="header-anchor" href="#lending-borrowing-protocols" aria-label="Permalink to “Lending/Borrowing Protocols”">&#8203;</a></h2>
<p>There are protocols such as <a href="https://app.compound.finance/" target="_blank" rel="noreferrer">Compound</a> and <a href="https://app.aave.com/home" target="_blank" rel="noreferrer">Aave</a> that allow users to lend their assets to earn interest or to borrow assets after staking some collateral. MakerDAO also offers a form of borrowing via <a href="https://oasis.app/borrow" target="_blank" rel="noreferrer">vaults</a> that can mint the DAI stable token after depositing various forms of collateral.</p>
<h2 id="synthetic-assets" tabindex="-1">Synthetic Assets <a class="header-anchor" href="#synthetic-assets" aria-label="Permalink to “Synthetic Assets”">&#8203;</a></h2>
<p>Synthetic asset protocols such as <a href="https://www.synthetix.io/" target="_blank" rel="noreferrer">Synthetix</a> or <a href="https://www.tokensets.com/" target="_blank" rel="noreferrer">Token Sets</a> combine a mix of different assets into a single asset. This way you can get exposure to multiple different assets by just holding a single synthetic asset.</p>
<h1 id="what-new-possibilities-does-defi-unlock" tabindex="-1">What new possibilities does DeFi unlock? <a class="header-anchor" href="#what-new-possibilities-does-defi-unlock" aria-label="Permalink to “What new possibilities does DeFi unlock?”">&#8203;</a></h1>
<p>What DeFi does is nothing new. All of this already exist in one form or another in the world of &quot;traditional finance&quot;. What is so amazing and revolutionary about DeFi is that it's completely decentralized and permissionless. And that it is accessible to everyone regardless of location or background. It's unlocking a ton of possibilities for people around the world, building a new permisionless financial system in the process.</p>
<h1 id="the-dark-side-of-defi" tabindex="-1">The dark side of DeFi <a class="header-anchor" href="#the-dark-side-of-defi" aria-label="Permalink to “The dark side of DeFi”">&#8203;</a></h1>
<p>Just like with everything involving money this sector also attracts short-termed myopic people and projects who are driven by greed.</p>
<p>There is the concept of a yield farmer, someone who provides liquidity or stakes in a protocol in return for interest, fees or some governance token. Yield farming is not bad per se. Everyone who provides liquidity in all the DeFi protocols is essentially yield farming. There is nothing wrong with that.</p>
<br />
<img class="post_image_not_set_size with*border" src="/public/post8/defichad.jpeg" />
<br />
<br />
<p>The bad side of farming is the &quot;DeFi chad&quot; or &quot;Defi Degen&quot;. The kind of meme-driven farmer who jumps from protocol to protocol without any thought on contract safety, chasing the biggest yield, dumping their tokens to the new guys and then moving on. A practice that is obviously unsustainable.</p>
<h2 id="yam-finance" tabindex="-1">YAM finance. <a class="header-anchor" href="#yam-finance" aria-label="Permalink to “YAM finance.”">&#8203;</a></h2>
<p>A very good example of the irresponsible approach to DeFi is YAM. An experiment that did not even manage to last 2 days. It <a href="https://medium.com/@yamfinance/yam-finance-d0ad577250c7" target="_blank" rel="noreferrer">launched</a> in 19:00 UTC, August 11th, 2020 and <a href="https://medium.com/@yamfinance/yam-post-rescue-attempt-update-c9c90c05953f" target="_blank" rel="noreferrer">died</a> 36 hours later.</p>
<h3 id="what-happened" tabindex="-1">What happened? <a class="header-anchor" href="#what-happened" aria-label="Permalink to “What happened?”">&#8203;</a></h3>
<p>YAM advertised itself as an experiment from the start. It was a mashup of code from various other DeFi projects, completely unaudited and without any safety hatches or deposit limits. For all intents and purposes a completely reckless enterprise. Despite that at its peak it had over $500m locked in it!</p>
<p>For a technical explanation of the bug read <a href="https://medium.com/@yamfinance/yam-post-rescue-attempt-update-c9c90c05953f" target="_blank" rel="noreferrer">their post</a>. In short the bug made it impossible for the YAM holders to reach quorum on anything so essentially the governance part of the protocol was broken and without it the entire protocol could no longer function.</p>
<p>Once people realized that, the market cap of YAM went within minutes from $60m to 0. Everyone left holding YAM they bought took a loss as they can't sell it, so did uniswap liquidity providers as they took a loss every time someone sold YAM through them.</p>
<h3 id="could-this-have-been-avoided" tabindex="-1">Could this have been avoided? <a class="header-anchor" href="#could-this-have-been-avoided" aria-label="Permalink to “Could this have been avoided?”">&#8203;</a></h3>
<p>ABSOLUTELY</p>
<p>There were multiple warnings from many prominet people in the crypto sector including myself that this is going to end in tears. The minimum precaution that could have been taken is:</p>
<ul>
<li>Write contract tests</li>
<li>Have some sort of security audit of the code</li>
<li>IF you claim it's an experiment then treat it as such by:
<ul>
<li>Putting deposit limits in the code to protect your users</li>
<li>Put an escape hatch in the code to protect your users.</li>
</ul>
</li>
</ul>
<h3 id="ponzi" tabindex="-1">Ponzi <a class="header-anchor" href="#ponzi" aria-label="Permalink to “Ponzi”">&#8203;</a></h3>
<p>What's worse is that from the tokenomics of YAM it was obvious that this was a ponzi game. Note the difference between ponzi game and ponzi scheme as explained in <a href="https://jpkoning.blogspot.com/2018/05/ethereum-is-full-of-ponzis-is-that.html" target="_blank" rel="noreferrer">this</a> article.</p>
<p>Every 12 hours the total supply of the token increased but the amount held by each user stayed the same through a process called rebasing. The first farmers were incentivized to pump and shill YAM via social media so they can find victims onto whom to dump their tokens after the rebase. The new holders had the exact same incentives to pump it even more so they can in turn dump their bags onto the poor sods after the second rebase. And so on and so forth.</p>
<p>It was a &quot;fair&quot; and transparent ponzi, but a ponzi nonetheless. And with the amount of due dilligence people do in Crypto I am 100% certain that most of the people who got shilled into it did not realize that and lost money as a result.</p>
<h3 id="shilling-in-twitter" tabindex="-1">Shilling in Twitter <a class="header-anchor" href="#shilling-in-twitter" aria-label="Permalink to “Shilling in Twitter”">&#8203;</a></h3>
<p>What I personally found <strong>absolutely disgusting</strong> was the incessant amount of shilling of YAM in Twitter by many people in the ethereum community whom I actually respect who were also farming it.</p>
<p>It's inexcusable, reckless and irresponsible. They were shilling a protocol that had not seen any production use yet, had unaudited code, no tests, no deposit limits or anything. They were doing so only to get more people into the Ponzi game to sustain their profits and dump their bags onto them.</p>
<p>I sincerely hope lessons are now learned. If you are shilling an unaudited insecure ponzi you are part of the problem of why this sector is not taken seriously. We can't have such irresponsible behavior if we are ever going to reach mass adoption.</p>
<h3 id="what-did-it-cost-us" tabindex="-1">What did it cost us? <a class="header-anchor" href="#what-did-it-cost-us" aria-label="Permalink to “What did it cost us?”">&#8203;</a></h3>
<img class="post_image_not_set_size with*border" src="/public/post8/yamcrash.jpeg" />
<p>Some people lost a lot of money</p>
<ul>
<li>Marketcap dropped from $60m to $0.</li>
<li>People who bought YAM are left holding a hot potato, got burned and lost everything they invested.</li>
<li>Uniswap liquidity providers lost money due to providing liquidity for sellers of a dying token.</li>
<li>Lots of money in gas fees (300+ gwei) for nothing</li>
</ul>
<p>The rest of the non yam farming ethereum users were left with 300 gwei gas prices and could not really use the ethereum blockchain.</p>
<p>And finally and most importantly, outsiders roll their eyes and we lose credibility. Every nocoiner I know that I tried to explain this to just get their view that crypto is only for scams and ponzi schemes reinforced. Can you blame them?</p>
<h1 id="responsible-decentralized-finance" tabindex="-1">Responsible Decentralized Finance <a class="header-anchor" href="#responsible-decentralized-finance" aria-label="Permalink to “Responsible Decentralized Finance”">&#8203;</a></h1>
<p>If you are to keep anything from this post as a take-home message let it be this section. DeFi is good and is here to stay. We just all need to be more responsible about it.</p>
<h2 id="responsible-defi-user" tabindex="-1">Responsible DeFi user <a class="header-anchor" href="#responsible-defi-user" aria-label="Permalink to “Responsible DeFi user”">&#8203;</a></h2>
<p>As a user don't rush into every new thing that pops up and promises amazing 100%+ returns. Do you due dilligence, demand audit reports, ask people in the community about the history and portfolio of the founders of the protocol and if possible read the code and understand the tokenomics. DYOR. If something sounds too good to be true that's because it's probably a scam or a ponzi.</p>
<h2 id="responsible-defi-founder" tabindex="-1">Responsible DeFi founder <a class="header-anchor" href="#responsible-defi-founder" aria-label="Permalink to “Responsible DeFi founder”">&#8203;</a></h2>
<p>As a founder/developer for the love of god DO NOT TEST IN PRODUCTION. Be responsible. Users do not heed warnings, or disclaimers. If it's an experiment and you want to experiment in the mainnet that's fine. Then put deposit limits and centralized escape hatches for the first X months. The safety of your users is your responsibility. Avoiding that responsbility through the veil of &quot;just an experiment&quot; won't be accepted.</p>
<h2 id="towards-a-sustainable-defi-ecosystem" tabindex="-1">Towards a sustainable DeFi ecosystem <a class="header-anchor" href="#towards-a-sustainable-defi-ecosystem" aria-label="Permalink to “Towards a sustainable DeFi ecosystem”">&#8203;</a></h2>
<p>It is only through responsible development and professionalism that this sector can mature. We won't get any new users with the YOLO yield farming memes. For DeFi to fullfill its goals of a new permisionless financial system it needs to go mainstream. And it will not achieve that through ponzi games and chad memes in Twitter. This will only be achieved when the ecosystem is perceived by normies to be mature enough so that they can also come in and participante in it. Let's all then do our part to advance the ecosystem through responsible building and sustainable development and build a new financial system for the many and not for the few.</p>
<h1 id="closing-about-the-author" tabindex="-1">Closing / About the author <a class="header-anchor" href="#closing-about-the-author" aria-label="Permalink to “Closing / About the author”">&#8203;</a></h1>
<p>My name is <a href="https://twitter.com/LefterisJP" target="_blank" rel="noreferrer">Lefteris Karapetsas</a>. I am the founder of <a href="https://rotki.com/" target="_blank" rel="noreferrer">Rotki</a>. It is a project that deals with DeFi, among other things, and believes in the dream of a sustainable permissionless new financial system. We are a portfolio tracker and accounting tool that respect our users' privacy and we are in this game for the long run and not to scam our users for short term gain.</p>
<p>Here is how you can help us:</p>
<ul>
<li>Try out Rotki's <a href="https://github.com/rotki/rotki/releases" target="_blank" rel="noreferrer">latest release</a> and use it daily.</li>
<li><a href="https://rotki.com/products/" target="_blank" rel="noreferrer">Buy</a> a premium subscription to unlock awesome premium features and also support our development.</li>
<li>Provide us with <a href="https://github.com/rotki/rotki/issues" target="_blank" rel="noreferrer">feedback</a> in the form of bug reports and feature requests.</li>
<li><a href="https://github.com/rotki/rotki" target="_blank" rel="noreferrer">Star</a> our Github repo and <a href="https://twitter.com/rotkiapp" target="_blank" rel="noreferrer">follow</a> us on Twitter.</li>
<li>Chat with us and other users of Rotki in <a href="https://discord.rotki.com/" target="_blank" rel="noreferrer">Discord</a></li>
<li>Spread the word so that more people get to try and use Rotki and learn how to both manage their finances but also how to protect the privacy of their financial data.</li>
</ul>
]]></content:encoded>
            <author>The rotki team</author>
        </item>
        <item>
            <title><![CDATA[Rotki progress in Q2 of 2020]]></title>
            <link>https://blog.rotki.com/2020/06/13/rotki-2020-q2/</link>
            <guid isPermaLink="false">https://blog.rotki.com/2020/06/13/rotki-2020-q2</guid>
            <pubDate>Sat, 13 Jun 2020 00:00:00 GMT</pubDate>
            <description><![CDATA[Highlights what happened int Rotki during the second quarter of 2020]]></description>
            <content:encoded><![CDATA[<h1 id="introduction" tabindex="-1">Introduction <a class="header-anchor" href="#introduction" aria-label="Permalink to “Introduction”">&#8203;</a></h1>
<p>This post serves as an update of the work we have been doing in rotki during Q2 of 2020 and especially since the conclusion of the last gitcoin round.</p>
<p>A lot happened in those months. We have grown our community in <a href="https://discord.rotki.com/" target="_blank" rel="noreferrer">Discord</a></p>
<p>We made 2 big releases, <a href="https://github.com/rotki/rotki/releases/tag/v1.5.0" target="_blank" rel="noreferrer">v1.5.0 - Barb</a> and <a href="https://github.com/rotki/rotki/releases/tag/v1.4.0" target="_blank" rel="noreferrer">v1.4.0 - Axilla</a> containing a ton of features which will be detailed below.</p>
<p>We have also made 2 smaller releases, <a href="https://github.com/rotki/rotki/releases/tag/v1.4.1" target="_blank" rel="noreferrer">v1.4.1 - Axillaries</a> and <a href="https://github.com/rotki/rotki/releases/tag/v1.4.2" target="_blank" rel="noreferrer">v1.4.2 - Bird's back</a> adding smaller features and fixing bugs.</p>
<h1 id="userbase-and-community" tabindex="-1">Userbase and Community <a class="header-anchor" href="#userbase-and-community" aria-label="Permalink to “Userbase and Community”">&#8203;</a></h1>
<p>Our community has grown considerably. From almost non existant in the start of the year we now have 83 members in discord, 42 members in Telegram and almost 1000 followers in our Twitter account! By far the most users are in discord where interesting conversations happen between users and developers and also where many feature requests are made. Discord is also where we, the rotki developers, coordinate and discuss development so if you wanna see how we do that do <a href="https://discord.gg/aGCxHG7" target="_blank" rel="noreferrer">join in</a>!</p>
<p>Counting the actual users for a local opensource is not an exact science but the userbase of rotki has also grown considerably! Each new version gets ~300 downloads and we have almost 20 active premium users at the moment. Additionally from the users who have statistics activated we can see we get about 36 sign ins on average daily. This is a very big increase compared to last year where we had ~80 downloads per release, 4 active premium users and 5 sign ins per day.</p>
<h1 id="features" tabindex="-1">Features <a class="header-anchor" href="#features" aria-label="Permalink to “Features”">&#8203;</a></h1>
<p>A lot of new features have been added in the past months. In this section we will see a detailed rundown of the most important of them.</p>
<h2 id="support-for-gemini-exchange" tabindex="-1">Support for Gemini Exchange <a class="header-anchor" href="#support-for-gemini-exchange" aria-label="Permalink to “Support for Gemini Exchange”">&#8203;</a></h2>
<p>Release v1.4.0 introduced support for the <a href="https://gemini.com/" target="_blank" rel="noreferrer">Gemini</a> exchange.</p>
<img class="post_image_not_set_size with*border" src="/public/post7/gemini.png" />
<p>Users simply need to add a Gemini key with the &quot;auditor&quot; permission and rotki will pull all balances, trades, deposits/withdrawals and display them inside the app.</p>
<h2 id="users-can-now-maintain-manually-tracked-balances" tabindex="-1">Users can now maintain manually tracked balances <a class="header-anchor" href="#users-can-now-maintain-manually-tracked-balances" aria-label="Permalink to “Users can now maintain manually tracked balances”">&#8203;</a></h2>
<p>Release v1.4.0 introduced the ability for users to add manually tracked balances.</p>
<img class="post_image_not_set_size with_border" src="/public/post7/sc_manually_tracked_balances.png" />
<p>Users can add any type of asset in any kind of location for tracking. This feature is very important since it allows users to track their balances in exchanges or blockchains which we do not currently support.</p>
<h2 id="improvements-for-kraken-users" tabindex="-1">Improvements for Kraken users <a class="header-anchor" href="#improvements-for-kraken-users" aria-label="Permalink to “Improvements for Kraken users”">&#8203;</a></h2>
<p>Kraken users can now choose the tier of kraken account they have from the UI.</p>
<img class="post_image_not_set_size with_border" src="/public/post7/kraken_account_choice.png" />
<p>This allows them to take advantage of different API rate limits. Unfortunately kraken does not offer a way to auto-detect the account type and as such the user needs to select it from our user interface.</p>
<h2 id="support-for-compound-tokens-and-for-adai" tabindex="-1">Support for Compound tokens and for aDAI <a class="header-anchor" href="#support-for-compound-tokens-and-for-adai" aria-label="Permalink to “Support for Compound tokens and for aDAI”">&#8203;</a></h2>
<p>Rotki can now track all compound tokens and Aave's aDAI. If you hold any in your accounts they will be auto-detected and their balance will be displayed for you and taken into account in your overall net worth.</p>
<h2 id="speedup-of-blockchain-queries" tabindex="-1">Speedup of blockchain queries <a class="header-anchor" href="#speedup-of-blockchain-queries" aria-label="Permalink to “Speedup of blockchain queries”">&#8203;</a></h2>
<p>We put some work on considerably increasing the speed by which the ethereum blockchain balances are queried by utilizing a set of special contracts in order to save on RPC calls.</p>
<h2 id="redesign-of-the-welcome-screen" tabindex="-1">Redesign of the welcome screen <a class="header-anchor" href="#redesign-of-the-welcome-screen" aria-label="Permalink to “Redesign of the welcome screen”">&#8203;</a></h2>
<p>We have redesigned the welcome screen!</p>
<p>You are no longer greeted by a dull and boring background but by a patterned moving robin.</p>
<img class="post_image_not_set_size with_border" src="/public/post7/sc_newacc1.png" />
<p>Moreover the account creation screen has slightly changed in order to make it easier for you to understand what needs to be filled in when creating a new account.</p>
<img class="post_image_not_set_size with_border" src="/public/post7/sc_newacc2.png" />
<h2 id="redesign-of-the-dashboard" tabindex="-1">Redesign of the dashboard <a class="header-anchor" href="#redesign-of-the-dashboard" aria-label="Permalink to “Redesign of the dashboard”">&#8203;</a></h2>
<p>The dashboard's design has changed considerably.</p>
<img class="post_image_not_set_size with_border" src="/public/post7/dashboard.png" />
<p>It has a more modern look with a heavy focus on the user's total net worth, which comes as an aggregation of all assets over all locations.</p>
<p>Furthermore each exchange, blockchain and other location is shown in the dashboard along with how much value is saved in them. And just like before the list of all assets and their percentage of the netvalue is also present at the bottom of the dashboard.</p>
<h2 id="ability-to-change-the-password" tabindex="-1">Ability to change the password <a class="header-anchor" href="#ability-to-change-the-password" aria-label="Permalink to “Ability to change the password”">&#8203;</a></h2>
<p>You have asked for this feature and we listened!</p>
<img class="post_image_not_set_size with_border" src="/public/post7/sc_user_password_change.png" />
<p>It's now possible for a user to change their password by visiting the account &amp; security page. Simply type in a new password and you are good to go!</p>
<h2 id="privacy-changes" tabindex="-1">Privacy changes <a class="header-anchor" href="#privacy-changes" aria-label="Permalink to “Privacy changes”">&#8203;</a></h2>
<p>We have introduced a number of privacy related changes that allow users to share screenshots/videos of their rotki without actually sharing any of their sensitive data.</p>
<h3 id="data-scrambling" tabindex="-1">Data scrambling <a class="header-anchor" href="#data-scrambling" aria-label="Permalink to “Data scrambling”">&#8203;</a></h3>
<p>Users have the ability to activate data scrambling mode.</p>
<img class="post_image_not_set_size with_border" src="/public/post7/privacy1.png" />
<p>What this means is that in the dashboard and other pages real numbers are replaced by random numbers each time a page is loaded. This way you can share screenshots of your rotki app experience without sharing any of your data.</p>
<h3 id="privacy-mode" tabindex="-1">Privacy mode <a class="header-anchor" href="#privacy-mode" aria-label="Permalink to “Privacy mode”">&#8203;</a></h3>
<p>Another feature we introduced is called privacy mode.
<img class="post_image_not_set_size with_border" src="/public/post7/privacy2.png" /></p>
<p>Once privacy mode activated all numbers are blurred out.
<img class="post_image_not_set_size with_border" src="/public/post7/privacy3.png" /></p>
<p>This way you can be sure that nobody looking at your screen will see anything and you can share a screenshot or a video of a potential bug/problem with the interface and share with us without compomising any of your sensitive data.</p>
<h2 id="improvements-on-the-makerdao-dsr-page" tabindex="-1">Improvements on the MakerDAO DSR page <a class="header-anchor" href="#improvements-on-the-makerdao-dsr-page" aria-label="Permalink to “Improvements on the MakerDAO DSR page”">&#8203;</a></h2>
<p>The MakerDAO DSR page has been improved to have similar look and feel to the vaults page.</p>
<img class="post_image_not_set_size with_border" src="/public/post7/sc_dsr_premium_all.png" />
<p>You can now filter the DSR balances and how much you have earned per account. Furthermore the list of DSR actions has been greatly improved compared to previous versions. Each action has both the DAI amount and the equivalent amount in USD value at the time of the transaction. Moreover you can check out each action in etherscan by simply clicking a link. Furthermore for each action you can see how much the user has earned in DAI and USD up to the point in time the action happened.</p>
<p>Here is a small demo showcasing the usage of DSR in v1.5.0:</p>
<img class="post_image_not_set_size with_border" src="/public/post7/dsr_premium_demo.gif" />
<h2 id="support-for-makerdao-vaults" tabindex="-1">Support for MakerDAO vaults <a class="header-anchor" href="#support-for-makerdao-vaults" aria-label="Permalink to “Support for MakerDAO vaults”">&#8203;</a></h2>
<p>With v1.5.0 we have also added support for MakerDAO vaults.</p>
<img class="post_image_not_set_size with_border" src="/public/post7/sc_vaults_premium.png" />
<p>The user's vaults are now auto-detected from the tracked ethereum accounts. The aggregate deposit locked in all vaults can be seen. But also for each vault all the relevant information such as locked up collateral, liquidation rate and outstanding debt are shown.</p>
<p>Furthermore, for premium users, the list of historical actions along with how much DAI/USD is lost to paid interest is shown. Moreover they can create vault watchers.</p>
<img class="post_image_not_set_size with_border" src="/public/post7/sc_vaults_premium_watchers.png" />
<p>A watcher resides in the rotki server and watches the given vault for changes in the collateralization ratio. Users can have multiple watchers per vault. If the ratio becomes greater/less than the target ratio then an email alert is sent to the user so he can react quickly and either not be liquidated if the ratio becomes too small or not lose on potential profit if the ratio grows too big.</p>
<p>Here is a small demo showcasing the usage of vaults in v1.5.</p>
<img class="post_image_not_set_size with_border" src="/public/post7/vaults_premium_demo.gif" />
<h1 id="wrapup" tabindex="-1">Wrapup <a class="header-anchor" href="#wrapup" aria-label="Permalink to “Wrapup”">&#8203;</a></h1>
<p>Rotki has progressed a lot during Q2 of 2020. We have taken the support of our community and of the people who donated to us during the last gitcoin round and turned it into code that created a better product with many improvements and new features. Rotki's UI/UX has improved and more ethereum DeFi support has been added. Finally privacy and speed/performance improvements were made.</p>
<h1 id="conclusion-last-half-of-2020-and-beyond" tabindex="-1">Conclusion - last half of 2020 and beyond <a class="header-anchor" href="#conclusion-last-half-of-2020-and-beyond" aria-label="Permalink to “Conclusion - last half of 2020 and beyond”">&#8203;</a></h1>
<p>Heading into the next half of the year rotki is growing up!</p>
<p>We will focus on implementation of the new features requested by users, prioritizing those requested by our paid users and those features that deal with DeFi.</p>
<p>Our online presence will increase even more and so will our userbase which will allow us to perfect the software and make it the best tool for everyone by taking all of your feedback into account.</p>
<p>Stay tuned for more updates and please help us in building the best portfolio tracker and accounting tool that respects your privacy. Ways to do that are:</p>
<ul>
<li>Try out Rotki's <a href="https://github.com/rotki/rotki/releases" target="_blank" rel="noreferrer">latest release</a> and use it daily.</li>
<li>Provide us with <a href="https://github.com/rotki/rotki/issues/new/choose" target="_blank" rel="noreferrer">feedback</a> in the form of bug reports and feature requests.</li>
<li><a href="https://github.com/rotki/rotki" target="_blank" rel="noreferrer">Star</a> our Github repo and <a href="https://twitter.com/rotkiapp" target="_blank" rel="noreferrer">follow</a> us in Twitter.</li>
<li><a href="https://rotki.com/products/" target="_blank" rel="noreferrer">Buy</a> a premium subscription and/or <a href="https://github.com/rotki/rotki#financially" target="_blank" rel="noreferrer">support us financially</a>.</li>
<li>Chat with us and other users of Rotkir in <a href="https://discord.rotki.com/" target="_blank" rel="noreferrer">Discord</a>.</li>
<li>Spread the word so that more people get to try and use Rotki and learn how to both manage their finances but also how to protect the privacy of their financial data.</li>
</ul>
]]></content:encoded>
            <author>The rotki team</author>
        </item>
        <item>
            <title><![CDATA[Rotki 2019 - A year in review]]></title>
            <link>https://blog.rotki.com/2019/12/30/year-in-review/</link>
            <guid isPermaLink="false">https://blog.rotki.com/2019/12/30/year-in-review</guid>
            <pubDate>Mon, 30 Dec 2019 00:00:00 GMT</pubDate>
            <description><![CDATA[Highlights big things that happened in Rotki during the year 2019]]></description>
            <content:encoded><![CDATA[<h1 id="introduction" tabindex="-1">Introduction <a class="header-anchor" href="#introduction" aria-label="Permalink to “Introduction”">&#8203;</a></h1>
<p>What a year has this been for Rotki! With less than two days left in 2019 this post is meant to highlight the biggest things that happened in the project during the past 12 months, list what we have achieved and look to what is coming in the future.</p>
<h1 id="year-in-review" tabindex="-1">Year In Review <a class="header-anchor" href="#year-in-review" aria-label="Permalink to “Year In Review”">&#8203;</a></h1>
<h2 id="january" tabindex="-1">January <a class="header-anchor" href="#january" aria-label="Permalink to “January”">&#8203;</a></h2>
<p>January started with the publishing of <a href="https://github.com/rotki/rotki/releases" target="_blank" rel="noreferrer">Rotki v0.6.0</a>, the last release before v1.0.</p>
<img class="post_image_not_set_size with_border" src="/public/post6/release_v0_6_0.png" />
<p>It was a big release containing many bug fixes but also introducing some features like the API query caching or the tax report progress indicator that stay with Rotki even to this date.</p>
<p>Other than that development <a href="https://github.com/rotki/rotki/pulls?utf8=%E2%9C%93&amp;q=is%3Apr+created%3A2019-01-01..2019-01-31+" target="_blank" rel="noreferrer">continued</a> with a good pace.</p>
<h2 id="february" tabindex="-1">February <a class="header-anchor" href="#february" aria-label="Permalink to “February”">&#8203;</a></h2>
<p>Work on Rotki <a href="https://github.com/rotki/rotki/pulls?utf8=%E2%9C%93&amp;q=is%3Apr+created%3A2019-02-01..2019-02-28" target="_blank" rel="noreferrer">continued</a>. The project's source code was <a href="https://twitter.com/LefterisJP/status/1100327186660245504" target="_blank" rel="noreferrer">ported to Windows</a> and for the first time Rotki gets to run in a Windows environment.</p>
<img class="post_image_not_set_size with_border" src="/public/post6/rotki_windows.jpeg" />
<p>Trying to port code to Windows is not an easy thing, especially coming from a Linux background, but seeing the end result of the app running inside an all familiar looking windows themed frame is really rewarding.</p>
<p>Apart from that a lot of work on improving the experience of the application was done such as accomodating for Token upgrades starting with the <a href="https://github.com/rotki/rotki/pull/278" target="_blank" rel="noreferrer">new MLN</a> token.</p>
<h2 id="march" tabindex="-1">March <a class="header-anchor" href="#march" aria-label="Permalink to “March”">&#8203;</a></h2>
<p>Rotki participated in <a href="https://ethcc.io/" target="_blank" rel="noreferrer">ETHCC 2</a> in Paris and gave a talk on what Rotki is, what is the problem that we are trying to solve and what would v1.0 bring.</p>
<img class="post_image_not_set_size with_border" src="/public/post6/rotki_ethcc.jpg" />
<p>The reactions from the audience and the questions we got were really encouraging. People wanted to learn more about Rotki's mission, how can they try it but most of all when would it be available in Windows and when would v1.0 be released?
To see the full recording of the talk check <a href="https://www.youtube.com/watch?v=oIT0L9GDYEg" target="_blank" rel="noreferrer">here</a>.</p>
<p>Meanwhile development steadily <a href="https://github.com/rotki/rotki/pulls?utf8=%E2%9C%93&amp;q=is%3Apr+created%3A2019-03-01..2019-03-31+" target="_blank" rel="noreferrer">continued</a> with sneak peeks of the <a href="https://twitter.com/rotkiapp/status/1106129114388406272" target="_blank" rel="noreferrer">premium graphs</a> and among other things a lot of <a href="https://github.com/rotki/rotki/pull/305" target="_blank" rel="noreferrer">UI improvements</a>.</p>
<h2 id="april" tabindex="-1">April <a class="header-anchor" href="#april" aria-label="Permalink to “April”">&#8203;</a></h2>
<p>Development <a href="https://github.com/rotki/rotki/pulls?utf8=%E2%9C%93&amp;q=is%3Apr+created%3A2019-04-01..2019-04-30" target="_blank" rel="noreferrer">continued</a> in April but rather slowly. This month was dominated by events in Lefteris' personal life as he became a father!</p>
<img class="post_image_not_set_size with_border" src="/public/post6/hania.jpeg" />
<h2 id="may" tabindex="-1">May <a class="header-anchor" href="#may" aria-label="Permalink to “May”">&#8203;</a></h2>
<p>Slowly development <a href="https://github.com/rotki/rotki/pulls?utf8=%E2%9C%93&amp;q=is%3Apr+created%3A2019-05-01..2019-05-31+" target="_blank" rel="noreferrer">picked up its pace</a> again with various bug fixes done to the app but also some features being implemented. Most notable change that got implemented in May was a complete change in the way assets are handled by Rotki. The application no longer trusted any single token/asset symbol it is given. Instead from here and on it maintains <a href="https://github.com/rotki/rotki/pull/342/" target="_blank" rel="noreferrer">a list of known asset symbols</a> along with their conversions from/to external services. Any asset not in that list is not supported by Rotki. This lets us stop the guessing games about what assets the user has and instead allows us to know all details about each token in question and how it translates in each exchange or price querying website.</p>
<div class="language-json line-numbers-mode"><button title="Copy Code" class="copy"></button><span class="lang">json</span><pre><!--::markdown-it-async::6jx1rmgjqmgnn3nrt8925::--><code>&quot;KEY&quot;: {
    &quot;ethereum_address&quot;: &quot;0x4CC19356f2D37338b9802aa8E8fc58B0373296E7&quot;,
    &quot;ethereum_token_decimals&quot;: 18,
    &quot;name&quot;: &quot;Selfkey&quot;,
    &quot;started&quot;: 1508803200,
    &quot;symbol&quot;: &quot;KEY&quot;,
    &quot;type&quot;: &quot;ethereum token&quot;
},
&quot;KEY-2&quot;: {
    &quot;ethereum_address&quot;: &quot;0x4Cd988AfBad37289BAAf53C13e98E2BD46aAEa8c&quot;,
    &quot;ethereum_token_decimals&quot;: 18,
    &quot;name&quot;: &quot;Bihu KEY&quot;,
    &quot;started&quot;: 1507822985,
    &quot;symbol&quot;: &quot;KEY&quot;,
    &quot;type&quot;: &quot;ethereum token&quot;
},
&quot;KEY-3&quot;: {
    &quot;active&quot;: false,
    &quot;ended&quot;: 1452038400,
    &quot;name&quot;: &quot;KeyCoin&quot;,
    &quot;started&quot;: 1405382400,
    &quot;symbol&quot;: &quot;KEY&quot;,
    &quot;type&quot;: &quot;own chain&quot;
},</code></pre>
<div class="line-numbers-wrapper" aria-hidden="true"><span class="line-number">1</span><br><span class="line-number">2</span><br><span class="line-number">3</span><br><span class="line-number">4</span><br><span class="line-number">5</span><br><span class="line-number">6</span><br><span class="line-number">7</span><br><span class="line-number">8</span><br><span class="line-number">9</span><br><span class="line-number">10</span><br><span class="line-number">11</span><br><span class="line-number">12</span><br><span class="line-number">13</span><br><span class="line-number">14</span><br><span class="line-number">15</span><br><span class="line-number">16</span><br><span class="line-number">17</span><br><span class="line-number">18</span><br><span class="line-number">19</span><br><span class="line-number">20</span><br><span class="line-number">21</span><br><span class="line-number">22</span><br><span class="line-number">23</span><br><span class="line-number">24</span><br></div></div><p>If you are interested to learn more about this topic it has been covered extensively in <a href="https://blog.rotki.com/2019/09/01/crypto-assets-database/" target="_blank" rel="noreferrer">this</a> post.</p>
<h2 id="june" tabindex="-1">June <a class="header-anchor" href="#june" aria-label="Permalink to “June”">&#8203;</a></h2>
<p>Development <a href="https://github.com/rotki/rotki/pull/371" target="_blank" rel="noreferrer">continued</a> with a steady pace towards v1.0.</p>
<p>A lot of work is also happening outside of Github as a website is being built for Rotki which also contains a system that allows premium users to purchase and manage premium subscriptions. Also an API server is being developed for the premiums users of Rotki.</p>
<img class="post_image_wide with_border" src="/public/post6/june_website_work.png" />
<p>In parallel to all that <a href="https://twitter.com/kelsos86" target="_blank" rel="noreferrer">Kelsos</a> started the slow and painful process of <a href="https://github.com/rotki/rotki/pull/371" target="_blank" rel="noreferrer">rewriting the UI code using the vue.js framework</a></p>
<h2 id="july" tabindex="-1">July <a class="header-anchor" href="#july" aria-label="Permalink to “July”">&#8203;</a></h2>
<p>July is definitely dominated by finally reaching the v1.0 milestone.</p>
<img class="post_image_not_set_size with_border" src="/public/post6/release_v1_0_0.png" />
<p>The Rotki v1.0 release was the biggest release of Rotki up to now (probably will be overshadowed by v1.1.0 though 😉).</p>
<p>It officially launched the purchasing of Rotki premium subscriptions and the website to support it. It also was the first release to utilize the premium API server to provide the users with the ability to save their data in our servers and get extra statistics and graphs for their assets and activity.</p>
<p>Rotki v1.0 also was the first release to be able to run in Windows.</p>
<p>With Rotki v1.0 the users could now for the first time conveniently see notifications in the top right of the front-end about information or warnings that the software wants to show them instead of always having to read the logfiles.</p>
<p>Finally this version had a ton of bug fixes, and new features for a full list of which you should check the <a href="https://github.com/rotki/rotki/releases/tag/v1.0.0" target="_blank" rel="noreferrer">release notes</a>.</p>
<h2 id="august" tabindex="-1">August <a class="header-anchor" href="#august" aria-label="Permalink to “August”">&#8203;</a></h2>
<p>As if v1.0 in July was not enough, August was a <strong>really</strong> busy month for Rotki!</p>
<p>As the users <a href="https://twitter.com/bitfalls/status/1157011467478155264" target="_blank" rel="noreferrer">started using v1.0</a>, August started with bugfixing of various issues that were reported. Not one, but two bugfixing releases were made within a few days!</p>
<ul>
<li><a href="https://github.com/rotki/rotki/releases/tag/v1.0.1" target="_blank" rel="noreferrer">v1.0.1 - Afterfeather</a></li>
</ul>
<img class="post_image_not_set_size with_border" src="/public/post6/release_v1_0_1.png" />
<ul>
<li><a href="https://github.com/rotki/rotki/releases/tag/v1.0.2" target="_blank" rel="noreferrer">v1.0.2 - Afterafterfeather</a></li>
</ul>
<img class="post_image_not_set_size with_border" src="/public/post6/release_v1_0_2.png" />
<p>In August we also got our first paying premium subscribers, something that boosted our confidence that what we are building is something that people need and that the problem we are solving is worth all the effort we are putting into the project.</p>
<p>We also started getting a lot of feature requests from people in social media and Github</p>
<ul>
<li><a href="https://twitter.com/bmann/status/1164920035510509568" target="_blank" rel="noreferrer">Allow authentication with WalletConnect</a></li>
<li><a href="https://twitter.com/Marsmensch/status/1160235755479949312" target="_blank" rel="noreferrer">Bitstamp support</a></li>
<li><a href="https://twitter.com/jrmoreau/status/1160668837370617858" target="_blank" rel="noreferrer">POS chains staking support</a></li>
<li><a href="https://github.com/rotki/rotki/issues/296#issuecomment-519070786" target="_blank" rel="noreferrer">Coinbase support</a></li>
</ul>
<p>This blog was also started in August with the very first <a href="https://blog.rotki.com/2019/08/03/rotkehlchen-value-vision/" target="_blank" rel="noreferrer">post</a> explaining what Rotki is, what are our values and the vision for the future of the project.</p>
<p>An unforgettable event was our <a href="https://twitter.com/LefterisJP/status/1165188514499223552" target="_blank" rel="noreferrer">participation</a> in <a href="https://ethberlinzwei.com/" target="_blank" rel="noreferrer">EthBerlinzwei</a> and <a href="https://dappcon.io/" target="_blank" rel="noreferrer">Dappcon</a> which we even <a href="https://twitter.com/LefterisJP/status/1164525082477072384" target="_blank" rel="noreferrer">sponsored</a>!</p>
<img class="post_image_not_set_size with_border" src="/public/post6/ethberlinzwei.png" />
<p>There we talked with many users who were interested in what's in store for Rotki and we got lots of <a href="https://twitter.com/LefterisJP/status/1165350054762356736" target="_blank" rel="noreferrer">feedback</a> and advice on how to go forward.</p>
<p>Finally at the very end of the month, a big release containing bug fixes and the most requested features was made. Release <a href="https://github.com/rotki/rotki/releases/tag/v1.0.3" target="_blank" rel="noreferrer">v1.0.3</a> added support for Coinbase which was a feature prioritized via request of a premium subscriber.</p>
<img class="post_image_not_set_size with_border" src="/public/post6/release_v1_0_3.png" />
<p>It also introduced a dmg installer for OSX users, added a popup warning users when new releases are available and added various smaller features and lots of bug fixes. Check the <a href="https://github.com/rotki/rotki/releases/tag/v1.0.3" target="_blank" rel="noreferrer">changelog</a> for more details.</p>
<h2 id="september" tabindex="-1">September <a class="header-anchor" href="#september" aria-label="Permalink to “September”">&#8203;</a></h2>
<p>Development <a href="https://github.com/rotki/rotki/pulls?utf8=%E2%9C%93&amp;q=is%3Apr+created%3A2019-09-01..2019-09-30+" target="_blank" rel="noreferrer">continued</a> also in September. The biggest change implemented this month was <a href="https://github.com/rotki/rotki/pull/508" target="_blank" rel="noreferrer">saving all actions inside the database</a> so that users won't have to re-query each time they run Rotki.</p>
<p>In the meantime traction in social media is slowly <a href="https://twitter.com/rotkiapp/status/1176579879560765440" target="_blank" rel="noreferrer">increasing</a>. To further improve our online presence we are trying to <a href="https://twitter.com/LefterisJP/status/1174645492095102977" target="_blank" rel="noreferrer">educate</a> current and potential future users on why Rotki is needed by explaining the problems of centralization, lack of privacy and lack of data ownership that all other portfolio tracking and accounting solutions are facing.</p>
<p>In the meantime yet another post is made in this blog, this time to explain <a href="https://blog.rotki.com/2019/09/01/crypto-assets-database/" target="_blank" rel="noreferrer">why Rotki maintains its own list of assets and their mappings</a>.</p>
<p>Finally in order to support the Ethereum ecosystem from which we came we also became sponsors of ethereum's <a href="https://devcon.org/" target="_blank" rel="noreferrer">devcon 5</a> that would take place next month in Osaka, Japan.</p>
<img class="post_image_not_set_size with_border" src="/public/post6/sponsor_devcon.jpeg" />
<h2 id="october" tabindex="-1">October <a class="header-anchor" href="#october" aria-label="Permalink to “October”">&#8203;</a></h2>
<p>October started by unleashing a new Rotki release!</p>
<img class="post_image_not_set_size with_border" src="/public/post6/release_v1_0_4.png" />
<p>Release v1.0.4 contained multiple features and bug fixes. The most noteworthy feature of that release was the ability to <a href="https://github.com/rotki/rotki/issues/498" target="_blank" rel="noreferrer">import data from cointracking.info</a>. That feature was requested by a premium subscriber and as such was prioritized. For a full list of changes take a look at the <a href="https://github.com/rotki/rotki/releases/tag/v1.0.4" target="_blank" rel="noreferrer">changelog</a>.</p>
<p>The most seminal event of October was of course our participation in Ethereum's <a href="https://devcon.org/" target="_blank" rel="noreferrer">Devcon 5</a> in Osaka, Japan and the <a href="https://twitter.com/LefterisJP/status/1182203276936114176" target="_blank" rel="noreferrer">talk</a> we gave there regarding the problems of using centralized tools in order to do accounting for the world of decentralized finance. You can find a recorded video of the talk <a href="https://www.youtube.com/watch?v=hEwcDjjcUhk" target="_blank" rel="noreferrer">here</a>.</p>
<img class="post_image_not_set_size with_border" src="/public/post6/devcon5_talk.jpg" />
<p>There was a lot of feedback given to us after the talk and during our presence in the conference. The feedback and questions revolved around upcoming DeFi features but also ideas of monetization for the project. There were ample discussions about the direction Rotki is taking as an opensource application trying to monetize itself and we got many ideas on potential ways forward.</p>
<p>Development also <a href="https://github.com/rotki/rotki/pulls?utf8=%E2%9C%93&amp;q=is%3Apr+created%3A2019-10-01..2019-10-31+" target="_blank" rel="noreferrer">continued</a> albeit in a slower pace due to travelling to the other side of the world for the conference.</p>
<h2 id="november" tabindex="-1">November <a class="header-anchor" href="#november" aria-label="Permalink to “November”">&#8203;</a></h2>
<p>In November development <a href="https://github.com/rotki/rotki/pulls?utf8=%E2%9C%93&amp;q=is%3Apr+created%3A2019-11-01..2019-11-30+" target="_blank" rel="noreferrer">continued</a> trying to fix various bugs and prepare the next upcoming release.</p>
<p>The most noteworthy change that occured in November was the rebranding of the project from <code>Rotkehlchen</code> to <code>Rotki</code>. Since even before v1.0 many people were complaining about the difficulty they faced when trying to pronounce or spell the original name. It made it really hard to spread the word about it, recommend it to friends or even google it. As such rebranding to the diminutive form was absolutely necessary. Github, twitter, website all got renamed. For a full list of what changed check <a href="https://blog.rotki.com/2019/11/14/rotki-rebranding/" target="_blank" rel="noreferrer">this post</a>.</p>
<img class="post_image_not_set_size with_border" src="/public/post6/rebranding.png" />
<p>In November we also had to face the problems introduced by the <a href="https://blog.makerdao.com/multi-collateral-dai-is-live/" target="_blank" rel="noreferrer">introduction</a> of Maker DAO Multi-collateral DAI and the renaming of the old DAI to SAI. We developed the required <a href="https://github.com/rotki/rotki/pull/551" target="_blank" rel="noreferrer">code and DB upgrades</a> to handle it and also explained our view on why renaming an asset like that is misguided in <a href="https://blog.rotki.com/2019/11/19/why-renaming-asset-is-misguided/" target="_blank" rel="noreferrer">this blogpost</a>.</p>
<h2 id="december" tabindex="-1">December <a class="header-anchor" href="#december" aria-label="Permalink to “December”">&#8203;</a></h2>
<p>This month, Rotki has been <strong>on fire</strong>!</p>
<p>December started with the publishing of the last release for the year. Rotki <a href="https://github.com/rotki/rotki/releases/tag/v1.0.5" target="_blank" rel="noreferrer">v1.0.5</a> was released mainly containing the work done for the Maker DAO multi-collateral DAI upgrade. Some minor features and bug fixes were also included in this release. For a full list of changes check the <a href="https://github.com/rotki/rotki/releases/tag/v1.0.5" target="_blank" rel="noreferrer">changelog</a>.</p>
<img class="post_image_not_set_size with_border" src="/public/post6/release_v1_0_5.png" />
<p>But December, presumably due to the holidays, has been one of our most productive months of work.</p>
<p>We started having two different branches in the project due to the sheer amount of changes happening. The master branch stays as the stable branch where releases are published from. The development branch is where all new work is going to.</p>
<p>The work that Kelsos had started in June in order to switch the entire front-end code to utilize the <a href="https://vuejs.org/" target="_blank" rel="noreferrer">Vue.js framework</a> was finally finished and got <a href="https://github.com/rotki/rotki/pull/371" target="_blank" rel="noreferrer">merged</a>.</p>
<img class="post_image_not_set_size with_border" src="/public/post6/monster_merge.jpeg" />
<p>At the same time a lot of work <a href="https://github.com/rotki/rotki/projects/2" target="_blank" rel="noreferrer">preparing the project for v.1.1.0</a> was done. Most noteable of which was the <a href="https://github.com/rotki/rotki/pull/526" target="_blank" rel="noreferrer">complete removal of ZMQ and replacing it with a full-fledged REST API</a>.
Even as of the writing of this post work <a href="https://github.com/rotki/rotki/pull/584" target="_blank" rel="noreferrer">continues</a> so that v1.1.0 can be ready in January 2020. I can't describe how much work has been going on in Rotki the past few days. Best way to see it for yourself is to <a href="https://github.com/rotki/rotki/pulls?utf8=%E2%9C%93&amp;q=is%3Apr+created%3A2019-12-01..2019-12-31" target="_blank" rel="noreferrer">check the PRs in Github</a>.</p>
<p>We also described how would v1.1.0 look in our <a href="https://blog.rotki.com/2019/12/13/rotki-new-years-resolutions/" target="_blank" rel="noreferrer">new year resolutions for 2020 post</a>. Check it out if you would like to see some hints about how v1.1.0 will look like and also some more long-term ideas about Rotki.</p>
<h1 id="wrapup" tabindex="-1">Wrapup <a class="header-anchor" href="#wrapup" aria-label="Permalink to “Wrapup”">&#8203;</a></h1>
<p>What a year has 2019 been for Rotki! We are beaming with pride! So much work has been done, the userbase is steadily growing, we acquired the first paid users and we have gotten more feature requests than we can currently cope with.</p>
<p>We would like to thank all the users who have entrusted us with their business and for all the good wishes and words of support we have gotten over social media. We promise that as we head into 2020 we will not let you down!</p>
<h1 id="conclusion-2020-and-beyond" tabindex="-1">Conclusion - 2020 and beyond <a class="header-anchor" href="#conclusion-2020-and-beyond" aria-label="Permalink to “Conclusion - 2020 and beyond”">&#8203;</a></h1>
<p>Heading into the new decade, we can only be positive about the future of Rotki!</p>
<p>A lot more work will be going into the project in order to fullfill all the feature requests we have been getting. Expect a lot more coming from us and for our online presence to increase and become stronger. The userbase will also steadily keep increasing, which will allow us to perfect the software and make it the best tool for everyone by taking all of your feedback into account.</p>
<p>Stay tuned for more updates and please help us in building the best transparent financial tool that enables you to take ownership of your financial data. Ways to do that are:</p>
<ul>
<li>Try out Rotki's <a href="https://github.com/rotki/rotki/releases" target="_blank" rel="noreferrer">latest release</a>.</li>
<li>Provide us with <a href="https://github.com/rotki/rotki/issues/new/choose" target="_blank" rel="noreferrer">feedback</a> in the form of bug reports and feature requests.</li>
<li><a href="https://github.com/rotki/rotki" target="_blank" rel="noreferrer">Star</a> our Github repo and <a href="https://twitter.com/rotkiapp" target="_blank" rel="noreferrer">follow</a> us in Twitter.</li>
<li><a href="https://rotki.com/products/" target="_blank" rel="noreferrer">Buy</a> a premium subscription and/or <a href="https://github.com/rotki/rotki#financially" target="_blank" rel="noreferrer">support us financially</a>.</li>
<li>Chat with us and other users of Rotki in <a href="https://discord.rotki.com/" target="_blank" rel="noreferrer">Discord</a>.</li>
<li>Spread the word so that more people get to try and use Rotki and learn how to both manage their finances but also how to protect the privacy of their financial data.</li>
</ul>
]]></content:encoded>
            <author>The rotki team</author>
        </item>
        <item>
            <title><![CDATA[Rotki's New Year Resolutions]]></title>
            <link>https://blog.rotki.com/2019/12/13/rotki-new-years-resolutions/</link>
            <guid isPermaLink="false">https://blog.rotki.com/2019/12/13/rotki-new-years-resolutions</guid>
            <pubDate>Fri, 13 Dec 2019 00:00:00 GMT</pubDate>
            <description><![CDATA[The roadmap of the Rotki portfolio manager for the year 2020]]></description>
            <content:encoded><![CDATA[<h1 id="introduction" tabindex="-1">Introduction <a class="header-anchor" href="#introduction" aria-label="Permalink to “Introduction”">&#8203;</a></h1>
<p>As 2019 draws to a close, a lot of users have been asking us when will certain features be implemented, which features are in the pipeline and generally what's the roadmap for the future of Rotki as an application. This short post attempts to serve as a go-to answer for these questions, clarify the short-term roadmap and give some hints on what will come in the long-term future.</p>
<h1 id="short-term" tabindex="-1">Short term <a class="header-anchor" href="#short-term" aria-label="Permalink to “Short term”">&#8203;</a></h1>
<p>Very recently we have created a <a href="https://github.com/rotki/rotki/tree/develop" target="_blank" rel="noreferrer">develop</a> branch in Rotki in order to facilitate all the big breaking changes that are coming. All PRs by default will now be done against develop and thus all big changes that need to be done will stay in that branch. Once a release is done, develop will merge to master and binaries will be published. PRs against master will be reserved for quick patch fixes that can be done independently of any breaking changes in develop.</p>
<p>The next release coming out of will be <a href="https://github.com/rotki/rotki/projects/2" target="_blank" rel="noreferrer">v1.1.0</a> and it will contain, among other things, two major features.</p>
<h2 id="release-v1-1-0" tabindex="-1">Release v1.1.0 <a class="header-anchor" href="#release-v1-1-0" aria-label="Permalink to “Release v1.1.0”">&#8203;</a></h2>
<h3 id="modern-ui" tabindex="-1">Modern UI <a class="header-anchor" href="#modern-ui" aria-label="Permalink to “Modern UI”">&#8203;</a></h3>
<p>The entire UI is being <a href="https://github.com/rotki/rotki/issues/354" target="_blank" rel="noreferrer">rewritten</a> and turned from the old-school hand-made <code>CSS</code> + <code>bootstrap</code> abominaton to a proper modern framework thanks to the tireless work done by <a href="https://twitter.com/kelsos86" target="_blank" rel="noreferrer">kelsos</a>. At the time of writing this post the work is almost done and the <a href="https://github.com/rotki/rotki/pull/371" target="_blank" rel="noreferrer">PR</a> is about to be merged.</p>
<p>What does the average user care you may ask? By far the most important advantage of this change is that adding new UI components and thus features will become much easier. <a href="https://vuejs.org/" target="_blank" rel="noreferrer">Vue.js</a> is a modular framework which makes it trivial to add new components or modify the looks of the UI. In short adding new features is now going to be made easier. God knows there is a lot in the pipeline that needs to be implemented!</p>
<p>Apart from that the looks of the entire app are getting modernized. All components are now more sleek and pleasing to the eye. For example here is the ethereum token selection.</p>
<img class="post_image_not_set_size with_border" src="/public/post5/v105_v110.png" />
<h3 id="proper-rest-api" tabindex="-1">Proper REST API <a class="header-anchor" href="#proper-rest-api" aria-label="Permalink to “Proper REST API”">&#8203;</a></h3>
<p>The current version of Rotki uses the <a href="https://zeromq.org/" target="_blank" rel="noreferrer">ZMQ</a> protocol in order for the front-end (UI) to communicate with the backend. The API developed for that communication was crude but what's worse ZMQ libraries for both python and javascript are not kept up to date and are pulling very old dependencies. The ZMQ library is why rotki is stuck in an old version of electron and also why we maintain our own fork of an abandoned node project, the <a href="https://github.com/rotki/zerorpc-node-rotkehlchen" target="_blank" rel="noreferrer">node-zerorpc</a> client.</p>
<p>The entire ZMQ messaging layer is getting rooted out and replaced by a proper <a href="https://github.com/rotki/rotki/issues/404" target="_blank" rel="noreferrer">REST API</a>.</p>
<p>What does the average user care about this you may ask? Higher electron versions allow us to have more security in the application and take advantage of all the new electron features. Also with ZMQ no longer being a dependency, a very big and fat dependency is out and final binaries would probably be smaller in size.</p>
<p>But more importantly this opens up the way to be able to <a href="https://github.com/rotki/rotki/issues/523" target="_blank" rel="noreferrer">run Rotki in a headless machine</a> and communicate with it only via the API. That would also enable you to <a href="https://github.com/rotki/rotki/issues/522" target="_blank" rel="noreferrer">run rotki's backend in a different machine than the UI</a>.</p>
<p>Finally with this change Rotki will be getting a very good, well documented and tested REST API. Users will now also be able to work with Rotki via command line interfaces. Below is a screenshot of the docs in the <a href="https://github.com/rotki/rotki/pull/526" target="_blank" rel="noreferrer">work in progress PR</a> that implements the ZMQ to REST API switch.</p>
<img class="post_image_not_set_size with_border" src="/public/post5/rotki_api_docs.png" />
<h3 id="when" tabindex="-1">When? <a class="header-anchor" href="#when" aria-label="Permalink to “When?”">&#8203;</a></h3>
<p>When it's ready. Soon ™.</p>
<h2 id="other-releases-after-v1-1-0" tabindex="-1">Other releases after v1.1.0 <a class="header-anchor" href="#other-releases-after-v1-1-0" aria-label="Permalink to “Other releases after v1.1.0”">&#8203;</a></h2>
<p>The next big feature planned after that is implementation of support for <a href="https://github.com/rotki/rotki/projects/3" target="_blank" rel="noreferrer">Coinbase PRO</a> which should hit in the release right after v1.1.0, presumably <a href="https://github.com/rotki/rotki/projects/3" target="_blank" rel="noreferrer">v1.2.0</a>.</p>
<p>Apart from that there is a lot of issues and feature requests in the <a href="https://github.com/rotki/rotki/issues" target="_blank" rel="noreferrer">backlog</a> that should be handled. Priority will go to supporting new exchanges such as <a href="https://github.com/rotki/rotki/issues/436" target="_blank" rel="noreferrer">Bitstamp</a> and generally fulfilling user's wishes such as <a href="https://github.com/rotki/rotki/issues/473" target="_blank" rel="noreferrer">support for staking in PoS cryptocurrencies</a>.</p>
<p>What would <strong>you</strong> like to see in the near future implemented in Rotki? Don't be shy, join us and write up a feature request as a github issue <a href="https://github.com/rotki/rotki/issues/new/choose" target="_blank" rel="noreferrer">here</a>.</p>
<h1 id="how-can-i-follow-the-evolution-of-the-roadmap" tabindex="-1">How can I follow the evolution of the roadmap? <a class="header-anchor" href="#how-can-i-follow-the-evolution-of-the-roadmap" aria-label="Permalink to “How can I follow the evolution of the roadmap?”">&#8203;</a></h1>
<p>As an opensource application, transparency is in the core of Rotki's ethos. As of the writing of this post our milestones are tracked by Github projects. You can see the current milestones <a href="https://github.com/rotki/rotki/projects" target="_blank" rel="noreferrer">here</a> and inspect which features will be implemented and which bugs will be fixed in which releases.</p>
<img class="post_image_not_set_size with_border" src="/public/post5/projects.png" />
<p>The current milestones are:</p>
<ul>
<li><strong>Next patch release</strong>: Small issues that may pop up and need quick fixes go here. Patch releases are made if required to make quick fixes to an already existing release.</li>
<li><strong>Next minor release (currently v1.1.0)</strong>: Most of the current development always targets the next minor release. All new features that are going to be included in the next release end up going there.</li>
<li><strong>Minor release after the next (currently v1.2.0)</strong>: This is where features that are planned for development go but which we know will not be included in the next minor (feature) release.</li>
</ul>
<h1 id="long-term" tabindex="-1">Long term <a class="header-anchor" href="#long-term" aria-label="Permalink to “Long term”">&#8203;</a></h1>
<p>The long term vision for Rotki is for it to become <strong>the best</strong> portfolio management, tracking and accounting application for both crypto and traditional assets. The tool that not only <strong>enables you to manage your finances</strong> but also <strong>does this in an opensource, transparent way allowing you to own your financial data</strong> and not have them lying on a centralized server somewhere in the cloud ready to fall into the hands of malicious actors.</p>
<p>In an ideal future it would also be able to track not only one's investments but also everyday expenses and provide insight and analytics about the entire spectrum of a user's finances.</p>
<p>There are no specific Github issues made yet for the various things that we are thinking about the long-term future but as a general idea:</p>
<ul>
<li>Rotki should be able to track traditional assets such as stocks, bonds, real estate and so on.</li>
<li>Rotki should be able to manage a user's daily expenses and provide insights and analytics into spending habits, savings and so on.</li>
<li>Users of Rotki should be able to track part of their expenses while on the move so a companion mobile app to Rotki desktop should be made.</li>
</ul>
<p>What else would <strong>you</strong> like to see implemented in the long run in Rotki? What would you require from an application that is supposed to be the constant and trusted companion to all your financial analysis needs?</p>
<p>Naturally all the above largely depend on how the current userbase of Rotki grows and how succesfull is the monetization of the application. Without any steady revenue stream or funding all of the above are probably really hard to accomplish.</p>
<h1 id="conclusion" tabindex="-1">Conclusion <a class="header-anchor" href="#conclusion" aria-label="Permalink to “Conclusion”">&#8203;</a></h1>
<p>The future of Rotki is bright! There is a lot of demand in the form of feature requests, and the userbase is steadily increasing. Stay tuned for more updates and please help us in building the best transparent financial tool that enables you to take ownership of your data. Ways to do that are:</p>
<ul>
<li>Try out Rotki's <a href="https://github.com/rotki/rotki/releases" target="_blank" rel="noreferrer">latest release</a>.</li>
<li>Provide us with <a href="https://github.com/rotki/rotki/issues/new/choose" target="_blank" rel="noreferrer">feedback</a> in the form of bug reports and feature requests.</li>
<li><a href="https://github.com/rotki/rotki" target="_blank" rel="noreferrer">Star</a> our Github repo and <a href="https://twitter.com/rotkiapp" target="_blank" rel="noreferrer">follow</a> us in Twitter.</li>
<li><a href="https://rotki.com/products/" target="_blank" rel="noreferrer">Buy</a> a premium subscription and/or <a href="https://github.com/rotki/rotki#financially" target="_blank" rel="noreferrer">support us financially</a>.</li>
<li>Spread the word so that more people get to try and use Rotki and learn how to both manage their finances but also how to protect the privacy of their financial data.</li>
</ul>
]]></content:encoded>
            <author>The rotki team</author>
        </item>
        <item>
            <title><![CDATA[Why creating a new asset in an immutable ledger should not reuse an old name]]></title>
            <link>https://blog.rotki.com/2019/11/19/why-renaming-asset-is-misguided/</link>
            <guid isPermaLink="false">https://blog.rotki.com/2019/11/19/why-renaming-asset-is-misguided</guid>
            <pubDate>Tue, 19 Nov 2019 00:00:00 GMT</pubDate>
            <description><![CDATA[This post analyzes why the renaming by MakerDAO of the old DAI to SAI in the immutable Ethereum ledger is a mistake and what does Rotki do in order to support the renaming of DAI to SAI and the new Multi-collateral DAI.]]></description>
            <content:encoded><![CDATA[<h1 id="introduction" tabindex="-1">Introduction <a class="header-anchor" href="#introduction" aria-label="Permalink to “Introduction”">&#8203;</a></h1>
<p>Yesterday MakerDAO <a href="https://blog.makerdao.com/multi-collateral-dai-is-live/" target="_blank" rel="noreferrer">reached</a> a very important milestone. It introduced a new type of <code>DAI</code> stablecoin that can have multiple underlying assets used for collateral as opposed to the old <code>DAI</code> which could only be supported by collateralizing <code>ETH</code>.</p>
<p>Unfortunately at the same time they decided that they were so attached to the name <code>DAI</code> that they wanted to give the same name to the new token. And they could only do this by renaming the old token. Which is exactly what MakerDAO went with as you can see <a href="https://blog.makerdao.com/what-to-expect-with-the-launch-of-multi-collateral-dai/" target="_blank" rel="noreferrer">here</a>.</p>
<img class="post_image_not_set_size with_border" src="/public/post4/maker_new_terminology.jpg" />
<p>This post is going to explain in detail why from a user's or an application's perspective the decision to change the name is quite bluntly put <strong>idiotic</strong>. Renaming  <code>DAI</code> to <code>SAI</code> has zero advantages and introduces a long list of problems as seen below.</p>
<h1 id="problems-introduced-by-renaming" tabindex="-1">Problems introduced by renaming <a class="header-anchor" href="#problems-introduced-by-renaming" aria-label="Permalink to “Problems introduced by renaming”">&#8203;</a></h1>
<p>In this section we will see a writeup of all the problems that the renaming is introducing along with a short explanation for each one.</p>
<h2 id="token-symbol" tabindex="-1">Token Symbol <a class="header-anchor" href="#token-symbol" aria-label="Permalink to “Token Symbol”">&#8203;</a></h2>
<p>A contract deployed in the Ethereum blockchain is immutable. The <code>DAI</code> contract is <a href="https://etherscan.io/address/0x89d24A6b4CcB1B6fAA2625fE562bDD9a23260359#readContract" target="_blank" rel="noreferrer">here</a>. If you try to read the <code>symbol</code> attribute it will be <code>DAI</code>. The <code>symbol</code> attribute is part of the ERC20 interface and ignoring it breaks that interface. You can not arbitrarily decide to now call the token by a different name (<code>SAI</code>) while the <code>symbol</code> of the token is <code>DAI</code>.</p>
<img class="post_image_not_set_size with_border" src="/public/post4/dai_symbol.png" />
<h2 id="centralized-exchanges" tabindex="-1">Centralized Exchanges <a class="header-anchor" href="#centralized-exchanges" aria-label="Permalink to “Centralized Exchanges”">&#8203;</a></h2>
<p>Right now centralized exchanges are in a tough spot. They have to perform <code>DAI</code> to <code>MCDAI</code> upgrades for their users and then decide on how to name the new assets. If an exchange intends to keep both tokens listed then the naming becomes a problem.</p>
<img class="post_image_not_set_size with_border" src="/public/post4/kraken_deposit.png" />
<p>In the end the problem is pushed to the users as can be seen from above. For users <code>SAI</code> is <code>DAI</code> but if as a user you attempt to deposit what you think is <code>DAI</code> to Kraken you will lose it. If that does not constitute a UX nightmare I honestly do not know what does.</p>
<h2 id="decentralized-exchanges" tabindex="-1">Decentralized Exchanges <a class="header-anchor" href="#decentralized-exchanges" aria-label="Permalink to “Decentralized Exchanges”">&#8203;</a></h2>
<p>Decentralized exchanges do not have much of a choice. They do not hold the tokens for their users so they will not be able to automatically upgrade <code>DAI</code> for them. They need to offer trades in both tokens and then the naming does indeed become a problem.</p>
<h2 id="software-libraries" tabindex="-1">Software libraries <a class="header-anchor" href="#software-libraries" aria-label="Permalink to “Software libraries”">&#8203;</a></h2>
<p>Software needs to be making assumptions for some basic things. One of these assumptions that software in our field make is on the immutability of contracts and by extension the token contract symbols.</p>
<p>Software libraries that made correct assumptions in the past will now break.
As an example, one of the most used javascript libraries in crypto UI applications is <a href="https://github.com/atomiclabs/cryptocurrency-icons" target="_blank" rel="noreferrer">cryptocurrency-icons</a>. It pulls icons for crypto assets based on the symbol name.</p>
<p>At the moment, the <code>DAI</code> symbol returns the old logo of <code>DAI</code> and the <code>SAI</code> symbol will return an error. All projects using this library (and it's a lot) will have to update whenever a new version comes out. At the moment there is no version supporting the new naming so all projects using it are displaying the wrong icons.</p>
<h2 id="external-apis" tabindex="-1">External APIS <a class="header-anchor" href="#external-apis" aria-label="Permalink to “External APIS”">&#8203;</a></h2>
<p>A lot of APIs, for example price feeds such as <a href="https://www.cryptocompare.com/coins/dai/overview" target="_blank" rel="noreferrer">cryptocompare</a> have had <code>DAI</code> listed. Now they need to update their APIs in order to point <code>DAI</code> to the price of the new multicollateral <code>DAI</code> and create a new entry for the <code>SAI</code> token which points to the old <code>DAI</code> price. And that is hoping that there is no other cryptocurrency with the <code>SAI</code> symbol. I am pretty sure not every one of these price feeds will follow the new naming and then end-user applications will have to maintain converters between different price feeds using different symbols. It's a mess.</p>
<h2 id="end-user-applications" tabindex="-1">End user applications <a class="header-anchor" href="#end-user-applications" aria-label="Permalink to “End user applications”">&#8203;</a></h2>
<p>Every single end-user application that deals with crypto and <code>DAI</code> has to adjust. As an example we can take Rotki. If we go with renaming <code>DAI</code> to <code>SAI</code> we have to create a new release that will upgrade the user's databases renaming the assets and rewritting history. If we do not we will confuse our users.</p>
<h1 id="what-is-the-solution" tabindex="-1">What is the solution? <a class="header-anchor" href="#what-is-the-solution" aria-label="Permalink to “What is the solution?”">&#8203;</a></h1>
<p>At this point nothing can be done. The renaming has to go through since it has already started. But due to all the reasons outlined above it was a terrible decision.</p>
<p>The proper solution would have been a very simple one. <code>DAI</code> stays as <code>DAI</code> and is the symbol of the single collateral <code>DAI</code>. And then the new multi-collateral token is called <code>MCDAI</code> or well ... anything other than the same name as the previous token.</p>
<h1 id="conclusion" tabindex="-1">Conclusion <a class="header-anchor" href="#conclusion" aria-label="Permalink to “Conclusion”">&#8203;</a></h1>
<p>Despite all the problems with the renaming the achievement of having a multicollateral <code>DAI</code> is something to be proud of.</p>
<p>All of the above problems in isolation do not sound really bad but if you sum them all up it ends up as a nightmare for all actors involved. It's a mess for application developers, a mess for users and a mess for service providers. And all of these could have been avoided by simply doing the obvious thing and providing a <strong>new</strong> name for a <strong>new</strong> token!</p>
<p>For Rotki a blog post will follow explaining how we will handle the switch from <code>SAI</code> to <code>DAI</code> and how it will be reflected in the databases of our users. If you liked this post and have not tried Rotki yet you can get the latest release from <a href="https://github.com/rotki/rotki/releases" target="_blank" rel="noreferrer">here</a>. By using Rotki you can take ownership of your financial data! Please try it out and provide us with feedback so that the software can improve.</p>
]]></content:encoded>
            <author>The rotki team</author>
        </item>
        <item>
            <title><![CDATA[Rebranding to Rotki]]></title>
            <link>https://blog.rotki.com/2019/11/14/rotki-rebranding/</link>
            <guid isPermaLink="false">https://blog.rotki.com/2019/11/14/rotki-rebranding</guid>
            <pubDate>Thu, 14 Nov 2019 00:00:00 GMT</pubDate>
            <description><![CDATA[This post explains why Rotkehlchen has rebranded to Rotki, what was the motivation behind the renaming and what has changed.]]></description>
            <content:encoded><![CDATA[<h1 id="why-rebrand" tabindex="-1">Why rebrand? <a class="header-anchor" href="#why-rebrand" aria-label="Permalink to “Why rebrand?”">&#8203;</a></h1>
<p>Since launching v1.0 of the Rotkehlchen application a common theme on feedback was that it's a nice app with a definitive use case but people simply can not spell and much less pronounce the name.</p>
<p>No matter the attachment to the name rebranding becomes very important when people can not write down the name of the project to recommend it to their friends or can not even google it successfuly. Projects like Rotki live and die from word of mouth so everything that can be done to facilitate it should be done.</p>
<p>To that end as of right now the project name has been rebranded to Rotki.</p>
<h1 id="what-has-changed" tabindex="-1">What has changed? <a class="header-anchor" href="#what-has-changed" aria-label="Permalink to “What has changed?”">&#8203;</a></h1>
<ul>
<li>The github repo has been moved from <code>rotkehlchenio/rotkehlchen</code> to <a href="https://github.com/rotki/rotki" target="_blank" rel="noreferrer">https://github.com/rotki/rotki</a>.</li>
<li>We got a new domain name and the entire website can now be found at <a href="https://rotki.com/" target="_blank" rel="noreferrer">rotki.com</a>. Same applies for the blog and the api under the equivalent subdomains.</li>
<li>All <code>@rotkehlchen.io</code> emails now have <code>@rotki.com</code> equivalents.</li>
<li>The twitter handle was renamed from <code>rotkehlchenio</code> to <a href="https://twitter.com/rotkiapp" target="_blank" rel="noreferrer">rotkiapp</a></li>
<li>The documentation was moved to <a href="https://rotki.readthedocs.io/en/latest/" target="_blank" rel="noreferrer">https://rotki.readthedocs.io/en/latest/</a>.</li>
<li>We now own the <a href="https://twitter.com/LefterisJP/status/1194273848994254848" target="_blank" rel="noreferrer">rotki.eth</a> ethereum ENS name and it points to the ethereum donation address for the project.</li>
</ul>
<p>The old rotkehlchen.io domain name is still ours and will keep working for at least 1 more year.</p>
<h1 id="thank-you" tabindex="-1">Thank you <a class="header-anchor" href="#thank-you" aria-label="Permalink to “Thank you”">&#8203;</a></h1>
<p>Thank you for your continued support! It is only through feedback from our users that Rotki can become a better tool that will enable you to take ownership of your financial data.</p>
<p>If you see any remaining places where the name needs to be changed just let us know via Twitter and we will get to it.</p>
<p>If you haven't done so yet please download the <a href="https://github.com/rotki/rotki/releases" target="_blank" rel="noreferrer">latest Release</a> for your OS, try Rotki out and give us feedback on what you would like to see improved.</p>
]]></content:encoded>
            <author>The rotki team</author>
        </item>
        <item>
            <title><![CDATA[Dealing with ambiguity in token symbols]]></title>
            <link>https://blog.rotki.com/2019/09/01/crypto-assets-database/</link>
            <guid isPermaLink="false">https://blog.rotki.com/2019/09/01/crypto-assets-database</guid>
            <pubDate>Sun, 01 Sep 2019 00:00:00 GMT</pubDate>
            <description><![CDATA[How does Rotki decide which assets to support and how does it deal with same crypto assets? This post explains the Rotki approach to recognizing and support crypto assets.]]></description>
            <content:encoded><![CDATA[<h1 id="introduction" tabindex="-1">Introduction <a class="header-anchor" href="#introduction" aria-label="Permalink to “Introduction”">&#8203;</a></h1>
<img class="post_image with_border" src="/public/post2/whatis_acc.png" />
<p>This post tries to explain why Rotki's approach to dealing with ambiguity in crypto assets is needed and why other approaches are error prone and most probably lead to broken results.</p>
<p>We will see what Rotki does in detail and what challenges exist when interfacing with multiple exchanges and other external services.</p>
<h1 id="understanding-the-problem" tabindex="-1">Understanding The Problem <a class="header-anchor" href="#understanding-the-problem" aria-label="Permalink to “Understanding The Problem”">&#8203;</a></h1>
<p>The best way to understand the problem is by example. Take the cryptoasset with the symbol <code>KEY</code>. Most of our competitors would simply see you have a <code>KEY</code> balance and query for its price at any given moment from a website such as <a href="https://www.cryptocompare.com/" target="_blank" rel="noreferrer">cryptocompare.com</a>.</p>
<p>The problem is that as of the writing of this post three different tokens exist that use that symbol.</p>
<ul>
<li><a href="https://coinmarketcap.com/currencies/selfkey/" target="_blank" rel="noreferrer">SelfKey</a></li>
<li><a href="https://coinmarketcap.com/currencies/key/" target="_blank" rel="noreferrer">Bihu Key</a></li>
<li><a href="https://coinmarketcap.com/currencies/keycoin/" target="_blank" rel="noreferrer">KeyCoin</a></li>
</ul>
<p>To make matters worse, price aggregator websites such as cryptocompare and coinpaprika have different representations.</p>
<p>For example:</p>
<ul>
<li>
<p>SelfKey is known as <a href="https://www.cryptocompare.com/coins/key/overview" target="_blank" rel="noreferrer">KEY</a> in cryptocompare</p>
</li>
<li>
<p>Bihu Key is known as <a href="https://www.cryptocompare.com/coins/bihu/overview" target="_blank" rel="noreferrer">BIHU</a> cryptocompare</p>
</li>
<li>
<p>KeyCoin is known as <a href="https://www.cryptocompare.com/coins/keyc/overview" target="_blank" rel="noreferrer">KEYC</a> in cryptocompare</p>
</li>
<li>
<p>SelfKey is known as <a href="https://api.coinpaprika.com/v1/coins/key-selfkey" target="_blank" rel="noreferrer">key-selfkey</a> in coinpaprika</p>
</li>
<li>
<p>BihuKey is known as <a href="https://api.coinpaprika.com/v1/coins/key-key" target="_blank" rel="noreferrer">key-key</a> in coinpaprika</p>
</li>
<li>
<p>KeyCoin is not known in coinpaprika</p>
</li>
</ul>
<p>Add different representations for each symbol in different exchanges in the mix and then the whole situations gets even more entangled as we can see with <code>ETHOS</code> and <code>BQX</code> below.</p>
<img class="post_image with_border" src="/public/post2/ethos_or_bqx.png" />
<p>Do you believe that competitor webapps take all these different situations into account? Want a bet? Let's go and check their implementation ... oh wait ... we can't. Not only do they need you to upload all your data to them but their sourcecode is not open and thus you can't audit their calculations.</p>
<p>Your SelfKey could be priced as Keycoin or viceversa, or worse bail out since it can't find a price and not consider it in any profit/loss calculations.</p>
<h1 id="solving-the-problem" tabindex="-1">Solving the Problem <a class="header-anchor" href="#solving-the-problem" aria-label="Permalink to “Solving the Problem”">&#8203;</a></h1>
<p>The only way to handle this problem is by maintaing a database of all assets that are supported. Rotki does this by maintaining the <a href="https://github.com/rotkehlchenio/rotkehlchen/blob/master/rotkehlchen/data/all_assets.json" target="_blank" rel="noreferrer">all_assets.json</a> file.</p>
<p>What are the rules for an asset to get listed? Rather simple actually:</p>
<ol>
<li>If a user asks for an asset it will be added as long as a price for it exists in a supported price aggregator website (for the moment either in coinpaprika or cryptocompare).</li>
<li>If it's listed in any of the supported exchanges.</li>
<li>In both of the above cases historical prices need to also be discoverable in a price aggregator website. The lack of price discovery is for example why the <a href="https://github.com/rotkehlchenio/rotkehlchen/pull/476" target="_blank" rel="noreferrer">STL token PR</a> is blocked as of the time of writing this post.</li>
</ol>
<p>For assets with identical symbols like <code>KEY</code> we end up with the following in <a href="https://github.com/rotkehlchenio/rotkehlchen/blob/master/rotkehlchen/data/all_assets.json#L4702" target="_blank" rel="noreferrer">assets.json</a></p>
<div class="language-json line-numbers-mode"><button title="Copy Code" class="copy"></button><span class="lang">json</span><pre><!--::markdown-it-async::8tf7bujz60u63zg3tjjs5x::--><code>&quot;KEY&quot;: {
    &quot;ethereum_address&quot;: &quot;0x4CC19356f2D37338b9802aa8E8fc58B0373296E7&quot;,
    &quot;ethereum_token_decimals&quot;: 18,
    &quot;name&quot;: &quot;Selfkey&quot;,
    &quot;started&quot;: 1508803200,
    &quot;symbol&quot;: &quot;KEY&quot;,
    &quot;type&quot;: &quot;ethereum token&quot;
},
&quot;KEY-2&quot;: {
    &quot;ethereum_address&quot;: &quot;0x4Cd988AfBad37289BAAf53C13e98E2BD46aAEa8c&quot;,
    &quot;ethereum_token_decimals&quot;: 18,
    &quot;name&quot;: &quot;Bihu KEY&quot;,
    &quot;started&quot;: 1507822985,
    &quot;symbol&quot;: &quot;KEY&quot;,
    &quot;type&quot;: &quot;ethereum token&quot;
},
&quot;KEY-3&quot;: {
    &quot;active&quot;: false,
    &quot;ended&quot;: 1452038400,
    &quot;name&quot;: &quot;KeyCoin&quot;,
    &quot;started&quot;: 1405382400,
    &quot;symbol&quot;: &quot;KEY&quot;,
    &quot;type&quot;: &quot;own chain&quot;
},</code></pre>
<div class="line-numbers-wrapper" aria-hidden="true"><span class="line-number">1</span><br><span class="line-number">2</span><br><span class="line-number">3</span><br><span class="line-number">4</span><br><span class="line-number">5</span><br><span class="line-number">6</span><br><span class="line-number">7</span><br><span class="line-number">8</span><br><span class="line-number">9</span><br><span class="line-number">10</span><br><span class="line-number">11</span><br><span class="line-number">12</span><br><span class="line-number">13</span><br><span class="line-number">14</span><br><span class="line-number">15</span><br><span class="line-number">16</span><br><span class="line-number">17</span><br><span class="line-number">18</span><br><span class="line-number">19</span><br><span class="line-number">20</span><br><span class="line-number">21</span><br><span class="line-number">22</span><br><span class="line-number">23</span><br><span class="line-number">24</span><br></div></div><h2 id="asset-entry" tabindex="-1">Asset Entry <a class="header-anchor" href="#asset-entry" aria-label="Permalink to “Asset Entry”">&#8203;</a></h2>
<p>All entries are comprised of a unique asset identifier, which is the key in the above JSON object. The identifier is always the symbol of the asset, and if an asset with the same symbol already exists then the identifier get a number prefix as seen above.</p>
<p>The rest of the attributes will be explored below. The attributes of an asset may change in future iterations of Rotki but as of v1.0.3 it's the following:</p>
<h3 id="name" tabindex="-1">name <a class="header-anchor" href="#name" aria-label="Permalink to “name”">&#8203;</a></h3>
<p>This is a required attribute. It's the name by which the asset is commonly known.</p>
<h3 id="symbol" tabindex="-1">symbol <a class="header-anchor" href="#symbol" aria-label="Permalink to “symbol”">&#8203;</a></h3>
<p>This is a required attribute. It's the symbol the asset has. This is not guaranteed to be unique across all the supported assets as is also made clear by the <code>KEY</code> token example.</p>
<h3 id="type" tabindex="-1">type <a class="header-anchor" href="#type" aria-label="Permalink to “type”">&#8203;</a></h3>
<p>This is a required attribute. It's the type of asset this is. Determines if it's a blockchain asset and if yes on which chain it is. Valid values as of writing this post can be seen <a href="https://github.com/rotkehlchenio/rotkehlchen/blob/07e014fe6121a92608638ef517350d03aaa78f34/rotkehlchen/assets/resolver.py#L7" target="_blank" rel="noreferrer">here</a>:</p>
<div class="language-python line-numbers-mode"><button title="Copy Code" class="copy"></button><span class="lang">python</span><pre><!--::markdown-it-async::lrznhqm6d4pr7dhv9a0df::--><code>asset_type_mapping = {
    &#039;fiat&#039;: AssetType.FIAT,
    &#039;own chain&#039;: AssetType.OWN_CHAIN,
    &#039;ethereum token and own chain&#039;: AssetType.OWN_CHAIN,
    &#039;ethereum token and more&#039;: AssetType.ETH_TOKEN_AND_MORE,
    &#039;ethereum token&#039;: AssetType.ETH_TOKEN,
    &#039;omni token&#039;: AssetType.OMNI_TOKEN,
    &#039;neo token&#039;: AssetType.NEO_TOKEN,
    &#039;counterparty token&#039;: AssetType.XCP_TOKEN,
    &#039;bitshares token&#039;: AssetType.BTS_TOKEN,
    &#039;ardor token&#039;: AssetType.ARDOR_TOKEN,
    &#039;nxt token&#039;: AssetType.NXT_TOKEN,
    &#039;Ubiq token&#039;: AssetType.UBIQ_TOKEN,
    &#039;Nubits token&#039;: AssetType.NUBITS_TOKEN,
    &#039;Burst token&#039;: AssetType.BURST_TOKEN,
    &#039;waves token&#039;: AssetType.WAVES_TOKEN,
    &#039;qtum token&#039;: AssetType.QTUM_TOKEN,
    &#039;stellar token&#039;: AssetType.STELLAR_TOKEN,
    &#039;tron token&#039;: AssetType.TRON_TOKEN,
    &#039;ontology token&#039;: AssetType.ONTOLOGY_TOKEN,
    &#039;exchange specific&#039;: AssetType.EXCHANGE_SPECIFIC,
    &#039;vechain token&#039;: AssetType.VECHAIN_TOKEN,
    &#039;binance token&#039;: AssetType.BINANCE_TOKEN,
}</code></pre>
<div class="line-numbers-wrapper" aria-hidden="true"><span class="line-number">1</span><br><span class="line-number">2</span><br><span class="line-number">3</span><br><span class="line-number">4</span><br><span class="line-number">5</span><br><span class="line-number">6</span><br><span class="line-number">7</span><br><span class="line-number">8</span><br><span class="line-number">9</span><br><span class="line-number">10</span><br><span class="line-number">11</span><br><span class="line-number">12</span><br><span class="line-number">13</span><br><span class="line-number">14</span><br><span class="line-number">15</span><br><span class="line-number">16</span><br><span class="line-number">17</span><br><span class="line-number">18</span><br><span class="line-number">19</span><br><span class="line-number">20</span><br><span class="line-number">21</span><br><span class="line-number">22</span><br><span class="line-number">23</span><br><span class="line-number">24</span><br></div></div><h3 id="active" tabindex="-1">active <a class="header-anchor" href="#active" aria-label="Permalink to “active”">&#8203;</a></h3>
<p>The active attribute is optional. If missing, a <code>true</code> value is implied. It signifies if the asset is actively traded in any exchange and has a price.</p>
<h3 id="ended" tabindex="-1">ended <a class="header-anchor" href="#ended" aria-label="Permalink to “ended”">&#8203;</a></h3>
<p>This is an optional attribute but is required if an asset is not active. If an asset is not active this attribute signifies the timestamp at which all trading (and thus price) ceased for the asset.</p>
<h3 id="ethereum-address" tabindex="-1">ethereum_address <a class="header-anchor" href="#ethereum-address" aria-label="Permalink to “ethereum_address”">&#8203;</a></h3>
<p>If the type of the asset is <code>ethereum_token</code> or related then it should also contain this entry. This entry contains the EIP55 encoded address of the token's contract address in the main ethereum chain.</p>
<h3 id="ethereum-token-decimals" tabindex="-1">ethereum_token_decimals <a class="header-anchor" href="#ethereum-token-decimals" aria-label="Permalink to “ethereum_token_decimals”">&#8203;</a></h3>
<p>Just like the previous entry if the asset is an ethereum token we also need to know its decimals in order to know how to display it to the user.</p>
<h3 id="forked" tabindex="-1">forked <a class="header-anchor" href="#forked" aria-label="Permalink to “forked”">&#8203;</a></h3>
<p>This is an optional attribute. If the asset is a fork of another asset then the originating asset before the fork should be shown here.</p>
<p>For example <code>BCH</code> has the <code>BTC</code> forked attribute since it's a fork off Bitcoin.</p>
<h3 id="swapped-for" tabindex="-1">swapped_for <a class="header-anchor" href="#swapped-for" aria-label="Permalink to “swapped_for”">&#8203;</a></h3>
<p>This is an optional attribute. If the asset ceased to exist but was swapped for another asset then this attribute points to the new asset.</p>
<p>For example <code>SCJX</code> was a counterparty token which got swapped for the <code>STORJ</code> ethereum token.</p>
<h2 id="conversions" tabindex="-1">Conversions <a class="header-anchor" href="#conversions" aria-label="Permalink to “Conversions”">&#8203;</a></h2>
<p>With our list of assets at hand we need to be able to interact with other websites such as price aggregators or exchanges. The idea is that we maintain the Rotki database of assets which is our local &quot;truth&quot;. And when serializing our assets to communicate with another website or deserializing the assets we read from a website we need converters.</p>
<p>This is where the <a href="https://github.com/rotkehlchenio/rotkehlchen/blob/07e014fe6121a92608638ef517350d03aaa78f34/rotkehlchen/assets/converters.py" target="_blank" rel="noreferrer">assets/converters.py</a> module comes in.</p>
<p>For all incoming assets we convert to the Rotki format when necessary:</p>
<div class="language-python line-numbers-mode"><button title="Copy Code" class="copy"></button><span class="lang">python</span><pre><!--::markdown-it-async::04n3uty6xaaja7nai96pmi::--><code>def asset_from_kraken(kraken_name: str) -&gt; Asset:
    if not isinstance(kraken_name, str):
        raise DeserializationError(f&#039;Got non-string type {type(kraken_name)} for kraken asset&#039;)
    name = KRAKEN_TO_WORLD.get(kraken_name, kraken_name)
    return Asset(name)


def asset_from_cryptocompare(cc_name: str) -&gt; Asset:
    return Asset(CRYPTOCOMPARE_TO_WORLD[cc_name])


def asset_from_poloniex(poloniex_name: str) -&gt; Asset:
    if not isinstance(poloniex_name, str):
        raise DeserializationError(f&#039;Got non-string type {type(poloniex_name)} for poloniex asset&#039;)

    if poloniex_name in UNSUPPORTED_POLONIEX_ASSETS:
        raise UnsupportedAsset(poloniex_name)

    our_name = POLONIEX_TO_WORLD.get(poloniex_name, poloniex_name)
    return Asset(our_name)


def asset_from_bittrex(bittrex_name: str) -&gt; Asset:
    if not isinstance(bittrex_name, str):
        raise DeserializationError(f&#039;Got non-string type {type(bittrex_name)} for bittrex asset&#039;)

    if bittrex_name in UNSUPPORTED_BITTREX_ASSETS:
        raise UnsupportedAsset(bittrex_name)

    name = BITTREX_TO_WORLD.get(bittrex_name, bittrex_name)
    return Asset(name)


def asset_from_binance(binance_name: str) -&gt; Asset:
    if not isinstance(binance_name, str):
        raise DeserializationError(f&#039;Got non-string type {type(binance_name)} for binance asset&#039;)

    if binance_name in UNSUPPORTED_BINANCE_ASSETS:
        raise UnsupportedAsset(binance_name)

    if binance_name in RENAMED_BINANCE_ASSETS:
        return Asset(RENAMED_BINANCE_ASSETS[binance_name])

    name = BINANCE_TO_WORLD.get(binance_name, binance_name)
    return Asset(name)</code></pre>
<div class="line-numbers-wrapper" aria-hidden="true"><span class="line-number">1</span><br><span class="line-number">2</span><br><span class="line-number">3</span><br><span class="line-number">4</span><br><span class="line-number">5</span><br><span class="line-number">6</span><br><span class="line-number">7</span><br><span class="line-number">8</span><br><span class="line-number">9</span><br><span class="line-number">10</span><br><span class="line-number">11</span><br><span class="line-number">12</span><br><span class="line-number">13</span><br><span class="line-number">14</span><br><span class="line-number">15</span><br><span class="line-number">16</span><br><span class="line-number">17</span><br><span class="line-number">18</span><br><span class="line-number">19</span><br><span class="line-number">20</span><br><span class="line-number">21</span><br><span class="line-number">22</span><br><span class="line-number">23</span><br><span class="line-number">24</span><br><span class="line-number">25</span><br><span class="line-number">26</span><br><span class="line-number">27</span><br><span class="line-number">28</span><br><span class="line-number">29</span><br><span class="line-number">30</span><br><span class="line-number">31</span><br><span class="line-number">32</span><br><span class="line-number">33</span><br><span class="line-number">34</span><br><span class="line-number">35</span><br><span class="line-number">36</span><br><span class="line-number">37</span><br><span class="line-number">38</span><br><span class="line-number">39</span><br><span class="line-number">40</span><br><span class="line-number">41</span><br><span class="line-number">42</span><br><span class="line-number">43</span><br><span class="line-number">44</span><br><span class="line-number">45</span><br></div></div><p>and the <a href="https://github.com/rotkehlchenio/rotkehlchen/blob/07e014fe6121a92608638ef517350d03aaa78f34/rotkehlchen/assets/asset.py#L167" target="_blank" rel="noreferrer">asset.py</a> module itself has code to export from the Rotki format to all websites that need conversions:</p>
<div class="language-python line-numbers-mode"><button title="Copy Code" class="copy"></button><span class="lang">python</span><pre><!--::markdown-it-async::mx9wb80o9r3lxfpjwyq4c::--><code>def to_kraken(self) -&gt; str:
    return WORLD_TO_KRAKEN[self.identifier]

def to_bittrex(self) -&gt; str:
    return WORLD_TO_BITTREX.get(self.identifier, self.identifier)

def to_binance(self) -&gt; str:
    return WORLD_TO_BINANCE.get(self.identifier, self.identifier)

def to_cryptocompare(self) -&gt; str:
    cryptocompare_str = WORLD_TO_CRYPTOCOMPARE.get(self.identifier, self.identifier)
    # There is an asset which should not be queried in cryptocompare
    if cryptocompare_str is None:
        if self.identifier == &#039;MRS&#039;:
            raise UnsupportedAsset(
                &#039;Marginless is not in cryptocompare. Asking for MRS &#039;
                &#039;will return MARScoin&#039;,
            )
        else:
            raise RuntimeError(
                f&#039;Got {self.identifier} as a cryptocompare query but it is &#039;
                f&#039;documented as returning None and is not handled&#039;,
            )

    return cryptocompare_str</code></pre>
<div class="line-numbers-wrapper" aria-hidden="true"><span class="line-number">1</span><br><span class="line-number">2</span><br><span class="line-number">3</span><br><span class="line-number">4</span><br><span class="line-number">5</span><br><span class="line-number">6</span><br><span class="line-number">7</span><br><span class="line-number">8</span><br><span class="line-number">9</span><br><span class="line-number">10</span><br><span class="line-number">11</span><br><span class="line-number">12</span><br><span class="line-number">13</span><br><span class="line-number">14</span><br><span class="line-number">15</span><br><span class="line-number">16</span><br><span class="line-number">17</span><br><span class="line-number">18</span><br><span class="line-number">19</span><br><span class="line-number">20</span><br><span class="line-number">21</span><br><span class="line-number">22</span><br><span class="line-number">23</span><br><span class="line-number">24</span><br><span class="line-number">25</span><br></div></div><p>Whenever a new asset is added and a conversion needs to be included then it is appropriately plugged into any of the above modules.</p>
<h1 id="how-to-keep-this-all-up-to-date" tabindex="-1">How to keep this all up to date? <a class="header-anchor" href="#how-to-keep-this-all-up-to-date" aria-label="Permalink to “How to keep this all up to date?”">&#8203;</a></h1>
<p>There are two ways to keep all these mappings and the asset database up to date:</p>
<ol>
<li>
<p>Automated CI testing. We have tests for every exchange (for example here is <a href="https://github.com/rotkehlchenio/rotkehlchen/blob/master/rotkehlchen/tests/test_binance.py#L195" target="_blank" rel="noreferrer">binance</a>) which will warn us when an exchange adds or changes something.</p>
</li>
<li>
<p>Our users will be warned when they are trying to interact with something that is not supported or when something breaks and as such are incentivized to <a href="https://github.com/rotkehlchenio/rotkehlchen/issues/new" target="_blank" rel="noreferrer">open issues</a> at the Rotki repo.</p>
</li>
</ol>
<h1 id="why-not-use-other-asset-databases" tabindex="-1">Why not use other asset databases? <a class="header-anchor" href="#why-not-use-other-asset-databases" aria-label="Permalink to “Why not use other asset databases?”">&#8203;</a></h1>
<p>The reason is simple. That would be adding yet another conversion for us to maintain. For a project like Rotki, where certainty for what each symbol means needs to exist the only way to go is to have our own database as most of the currently known token databases out there are either ethereum specific or incomplete.</p>
<p>The only thing that could work is a standardized database of all crypto assets maintained by multiple different entities.</p>
<p><a href="https://itsa.global/data/" target="_blank" rel="noreferrer">ITSA</a> is trying to do something similar, but the entire dataset seems to be for &quot;members only&quot; and the way they operate seems to be non-transparent. We believe that any such standardization effort should be open-source and use collaborative tools such as Github.</p>
<p>It would be really neat to see people collaborate on Github in the Rotki database of assets and conversions. If that happens, perhaps it can become a standard that other projects can also use.</p>
<h1 id="conclusions" tabindex="-1">Conclusions <a class="header-anchor" href="#conclusions" aria-label="Permalink to “Conclusions”">&#8203;</a></h1>
<p>Working with multiple tokens across different websites is a hard problem. The Rotki approach took a lot of work to build but now that it's there maintaining it is not that hard. Our database is <a href="https://github.com/rotkehlchenio/rotkehlchen/blob/master/rotkehlchen/data/all_assets.json" target="_blank" rel="noreferrer">open for everyone</a> to use and contribute. If you want to edit information on a token or add a new one simply open a <a href="https://github.com/rotkehlchenio/rotkehlchen/compare" target="_blank" rel="noreferrer">pull request</a>.</p>
<p>Finally remember that Rotki is opensource and self-funded software. If you appreciate what we are doing please consider <a href="https://rotkehlchen.io/products/" target="_blank" rel="noreferrer">purchasing a premium subscription</a> in order to help us keep developing and also enjoy premium only features such as analytics and priority support and feature requests.</p>
]]></content:encoded>
            <author>The rotki team</author>
        </item>
        <item>
            <title><![CDATA[Rotki's Values and Vision]]></title>
            <link>https://blog.rotki.com/2019/08/03/rotkehlchen-value-vision/</link>
            <guid isPermaLink="false">https://blog.rotki.com/2019/08/03/rotkehlchen-value-vision</guid>
            <pubDate>Sat, 03 Aug 2019 00:00:00 GMT</pubDate>
            <description><![CDATA[This post explains what is the Rotki portfolio manager, what is is trying to solve, what is the value proposition compared to competitors, our vision, future plans and more.]]></description>
            <content:encoded><![CDATA[<h1 id="introduction" tabindex="-1">Introduction <a class="header-anchor" href="#introduction" aria-label="Permalink to “Introduction”">&#8203;</a></h1>
<p>In this post we are going to see what Rotki is, what is it trying to solve, what is the value proposition of the application compared to competitors, the values we stand for, our vision for the future and more.</p>
<h1 id="our-values" tabindex="-1">Our values <a class="header-anchor" href="#our-values" aria-label="Permalink to “Our values”">&#8203;</a></h1>
<p>The casual reader may think: &quot;Okay so what the heck am I here for? I see a hard to pronounce German name and a cute bird picture.&quot;</p>
<p>Read on to see what is the problem we are trying to solve, how we do that and what our value proposition is.</p>
<h2 id="what-is-the-problem" tabindex="-1">What is the Problem? <a class="header-anchor" href="#what-is-the-problem" aria-label="Permalink to “What is the Problem?”">&#8203;</a></h2>
<p>Does the following situation sound familiar?</p>
<p>You have bought a few different cryptocurrencies, traded a bit, even bought something with your cryptocurrencies and now you are at a loss with what you have and where. In which account was <code>Token X</code>, did you deposit <code>Token Y</code> to <code>Exchange Z</code> and so on.</p>
<p>Also if you ever wanted an overview of the performance of your portfolio you have no idea how to even begin to calculate your profit/loss. What about taxes? How can you take into account all the different rules your jurisdiction imposes?</p>
<h2 id="how-does-rotki-help" tabindex="-1">How does Rotki help? <a class="header-anchor" href="#how-does-rotki-help" aria-label="Permalink to “How does Rotki help?”">&#8203;</a></h2>
<p>This is where Rotki comes in.</p>
<p>It allows tracking of all your crypto assets, no matter if they are located on a blockchain account or on an exchange. It gives you an overview of all assets you own as well as provides you with the ability to analyze your transaction history in exchanges thus enabling calculation of profit/loss over a time period.</p>
<img class="post_image" src="/public/post1/rk-screenshot-1.png" />
<p>With a <a href="#rotkehlchen-premium">premium</a> subscription it also provides very nice visualizations of the above in easy to read graphs such as the one below showcasing a test user's total USD value in BTC and their total BTC amount graphed over time.</p>
<img class="post_image" src="/public/post1/graph1.jpeg" />
<p>Our test user sold when BTC price was high to rebalance his portfolio and bought again when it was low according to the graph.</p>
<p>You can also customize the profit/loss calculation to adjust it to the requirements of your jurisdiction and get a detailed report which can be exported in CSV and handed over to your accountant.</p>
<img class="post_image" src="/public/post1/rk-screenshot-2.png" />
<h2 id="rotki-s-value-proposition" tabindex="-1">Rotki's value proposition <a class="header-anchor" href="#rotki-s-value-proposition" aria-label="Permalink to “Rotki's value proposition”">&#8203;</a></h2>
<p>Okay so what? There are many other applications which offer similar services. cointracking.info cryptotax.de to name just a few.</p>
<p>It's true. We are surrounded by coin tracking applications. We see a new one pop up every day. But they all share the same common flaw. They are <strong>centralized online</strong> applications onto which you have to <strong>relinquish all your data</strong>.</p>
<p>Arguably there is few data more important than the entire history of your financial transactions. And to simply hand it over to a centralized closed-source service is unthinkable! Especially for people who are prominent defendants of privacy and decentralization as most crypto users are.</p>
<p>Using any of the above applications is dangerous to you and to your financial privacy. Avoid them like the plague!</p>
<p>Here in Rotki we won't have any of that and this is the strongest point in our value proposition:</p>
<ul>
<li>
<p>Rotki is a <strong>local</strong> application available in all major Operating systems. You don't need to send your data anywhere and worry about their eventual misusage. They are all local to your system.</p>
</li>
<li>
<p>Rotki is <strong>opensource</strong>. You don't need to wonder what it does with your data, how it calculates what it does or even believe us at all. Just go to the <a href="https://github.com/rotki/rotki" target="_blank" rel="noreferrer">source</a> and verify that what we are saying here is true.</p>
</li>
<li>
<p>Rotki keeps all data <strong>encrypted</strong> locally. Your data is yours and encrypted locally with a password of your choice when you make your account.</p>
</li>
<li>
<p>Rotki is <strong>transparent</strong> and <strong>auditable</strong>. Since everything is open you will never have to question why something has been calculated as it is and neither will your accountant or your tax authority or whomever you choose to share your data with.</p>
</li>
</ul>
<h1 id="our-vision" tabindex="-1">Our Vision <a class="header-anchor" href="#our-vision" aria-label="Permalink to “Our Vision”">&#8203;</a></h1>
<p>Our vision for tracking, accounting and analytics of finance is one of transparency, openness and empowering of the individual. The development of Rotki and our roadmap reflects those values. We want to enable you to <strong>take ownership of your financial data</strong>.</p>
<h2 id="planned-features" tabindex="-1">Planned Features <a class="header-anchor" href="#planned-features" aria-label="Permalink to “Planned Features”">&#8203;</a></h2>
<p>This is a rough outline of some of the features we have planned for Rotki both in the near but also long-term future.</p>
<h3 id="tighter-integration-with-defi" tabindex="-1">Tighter integration with DeFi <a class="header-anchor" href="#tighter-integration-with-defi" aria-label="Permalink to “Tighter integration with DeFi”">&#8203;</a></h3>
<p>A very hot topic in Ethereum these days is Decentralized Finance (DeFi). From lending protocols, decentralized exchanges, derivatives there is a lot of ways to get involved.</p>
<p>It is our goal to slowly but steadily integrate Rotki with as much of the DeFi ecosystem as possible so that you can track, analyze and interact with it through the privacy of Rotki's local application.</p>
<h3 id="frontend-rewrite-in-vue-js" tabindex="-1">Frontend rewrite in Vue.js <a class="header-anchor" href="#frontend-rewrite-in-vue-js" aria-label="Permalink to “Frontend rewrite in Vue.js”">&#8203;</a></h3>
<p>As seen <a href="https://github.com/rotki/rotki/issues/354" target="_blank" rel="noreferrer">here</a> the frontend of the application will be rewritten in Vue.js. This will allow for prettier and more usable frontend and also better maintanability of the frontend code.</p>
<h3 id="track-other-financial-assets" tabindex="-1">Track other financial assets <a class="header-anchor" href="#track-other-financial-assets" aria-label="Permalink to “Track other financial assets”">&#8203;</a></h3>
<p>Rotki started as a crypto asset tracking and analytics application. But some of our users have also asked for the ability to track other more traditional assets such as stocks, real estate ... even so far down as tracking every day expenses.</p>
<p>We would like to cater to most people's needs and as such will slowly roll out support for extra assets as long as time and resources allow.</p>
<h3 id="android-companion-application" tabindex="-1">Android companion application <a class="header-anchor" href="#android-companion-application" aria-label="Permalink to “Android companion application”">&#8203;</a></h3>
<p>The need to check a portfolio on the-go or to add and track expenses arises pretty often. At the moment as a user you would have to wait until you get to your computer to open the Rotki application.</p>
<p>In order to solve this problem we would like to, in the long term, offer an android companion application that will allow tracking of every day expenses, monitoring of all your crypto assets and syncing with the main application.</p>
<h3 id="integrating-with-more-exchanges" tabindex="-1">Integrating with more Exchanges <a class="header-anchor" href="#integrating-with-more-exchanges" aria-label="Permalink to “Integrating with more Exchanges”">&#8203;</a></h3>
<p>There are so many exchanges out there that it's hard to integrate with all of them. Each integration requires quite a bit of coding time in order to make sure that the API is integrated properly and that all assets offered by the exchange are supported.</p>
<p>We want to support as many exchanges as possible and so far <a href="https://github.com/rotki/rotki/issues?q=is%3Aissue+is%3Aopen+label%3A%22Exchange+Addition+Request%22" target="_blank" rel="noreferrer">these</a> are the exchange support requests we have gotten.</p>
<img class="post_image" src="/public/post1/exchange_support_requests.png" />
<p>We will prioritize on what most users need, judged by the number of thumbs up in each issue. If you would like to see Rotki support an exchange please put a thumbs up on the respective issue or create a new one if no issue exists for the exchange you would like to see supported.</p>
<h3 id="multiple-cryptocurrency-price-sources" tabindex="-1">Multiple cryptocurrency price sources. <a class="header-anchor" href="#multiple-cryptocurrency-price-sources" aria-label="Permalink to “Multiple cryptocurrency price sources.”">&#8203;</a></h3>
<p>At the moment we are solely relying on <a href="https://www.cryptocompare.com/" target="_blank" rel="noreferrer">cryptocompare</a> for cryptocurrency historical price data. They are by far the most advanced data provider out there but fallbacks are needed.</p>
<p>As can be seen by <a href="https://github.com/rotki/rotki/issues/224" target="_blank" rel="noreferrer">this</a> issue we will integrate other data providers such as <a href="https://coinpaprika.com/" target="_blank" rel="noreferrer">coin paprika</a> and no longer rely on a single soure for price data.</p>
<h2 id="what-features-do-you-need" tabindex="-1">What features do you need? <a class="header-anchor" href="#what-features-do-you-need" aria-label="Permalink to “What features do you need?”">&#8203;</a></h2>
<p>If there is something else that you would like to see added to Rotki please visit our <a href="https://github.com/rotki/rotki/issues" target="_blank" rel="noreferrer">issue tracker</a> and open a feature request.</p>
<p>We want to build an application that you will find useful. Help us make Rotki an application you would love to use on a daily basis.</p>
<h1 id="supporting-us" tabindex="-1">Supporting us <a class="header-anchor" href="#supporting-us" aria-label="Permalink to “Supporting us”">&#8203;</a></h1>
<p>The vision of data ownership and transparency in accounting is something we strongly believe in. That is the reason we are an opensource local application, so that we can enable you to take ownership of your data and that you can transparently see what is being calculated and how.</p>
<h2 id="rotki-premium" tabindex="-1">Rotki Premium <a class="header-anchor" href="#rotki-premium" aria-label="Permalink to “Rotki Premium”">&#8203;</a></h2>
<p>Funding an opensource project is not an easy task. Our approach to funding and to at the same time maintaining our values is to offer a premium subscription on top of the normal Rotki experience.</p>
<p>With a premium subscription you get statistics, graphs and analytics, data sync between devices and more. For more information and to also purchase a premium subscription go <a href="https://rotkehlchen.io/products/" target="_blank" rel="noreferrer">here</a>.</p>
<p>By purchasing a premium Rotki subscription not only do you get to enjoy extra features but you are funding opensource without the use of any middlemen! We accept both fiat and crypto currencies.</p>
<p>Please help us develop Rotki and protect your financial privacy.</p>
<h2 id="donations" tabindex="-1">Donations <a class="header-anchor" href="#donations" aria-label="Permalink to “Donations”">&#8203;</a></h2>
<p>If for some reason you don't want to purchase a premium subscription but would still like to support us we accept cryptocurrency donations in ETH and BTC at the addresses seen <a href="https://github.com/rotki/rotki#donations" target="_blank" rel="noreferrer">here</a>.</p>
<h2 id="tipping-on-brave-browser" tabindex="-1">Tipping on Brave Browser <a class="header-anchor" href="#tipping-on-brave-browser" aria-label="Permalink to “Tipping on Brave Browser”">&#8203;</a></h2>
<p>If you are using brave you can tip us with BAT both at our <a href="http://rotkehlchen.io" target="_blank" rel="noreferrer">website</a> and our <a href="https://twitter.com/rotkiapp" target="_blank" rel="noreferrer">twitter</a>. For more information on brave tipping check the <a href="https://support.brave.com/hc/en-us/articles/360021123971-How-do-I-tip-websites-and-Content-Creators-in-Brave-Rewards-" target="_blank" rel="noreferrer">documentation</a>.</p>
<h1 id="conclusion" tabindex="-1">Conclusion <a class="header-anchor" href="#conclusion" aria-label="Permalink to “Conclusion”">&#8203;</a></h1>
<p><strong>Do not</strong> fall for all those centralized cointracking services that devour of your financial data and also have a rather steep price tag. <strong>Take ownership of your financial data</strong> today by using Rotki.</p>
<ul>
<li>Get the latest version <a href="https://github.com/rotki/rotki/releases" target="_blank" rel="noreferrer">here</a></li>
<li>For information on usage and installation check out our <a href="https://rotki.readthedocs.io/en/latest/" target="_blank" rel="noreferrer">documentation</a>.</li>
<li>Read our code on <a href="https://github.com/rotki/rotki" target="_blank" rel="noreferrer">Github</a></li>
<li>For updates follow us on twitter:
<ul>
<li><a href="https://twitter.com/rotkiapp" target="_blank" rel="noreferrer">rotki</a></li>
<li><a href="https://twitter.com/lefterisjp" target="_blank" rel="noreferrer">lefterisjp</a></li>
</ul>
</li>
</ul>
]]></content:encoded>
            <author>The rotki team</author>
        </item>
    </channel>
</rss>