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.
Role requirements
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.
This role is for an experienced developer who can take initiative, does not need constant monitoring and can take on a lot of responsibility. We need someone who can take ownership of a big part of rotki’s backend and help us get it to the next level.
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.
Technical requirements:
Excellent command of python.
Experience in at least another programming language (Go, C/C++, Rust etc.).
Write tests for features you code and bugs you fix. Not strict TDD, but also not complete absence of tests.
Very Good technical understanding of Ethereum blockchain, interacting with it, querying it and knowing technical details of how it operates.
[Optional] Similar knowledge of another blockchain protocol (e.g. Bitcoin).
[Semi-Optional] Experience in django (should be easy to learn for a python dev).
[Optional] Understanding of frontend tech used in rotki: Typescript + vue.js + electron.
[Optional] Good understanding of docker and generally infrastructure related tech pertaining to web servers.
Non-Technical requirements:
Don’t be an asshole.
Be a team player.
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.
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.
Have excellent English speaking skills.
[Optional] Be located in Berlin or somewhere close. 2 other full time members of Rotki are here and meeting face to face is valuable.
What we can offer
This position can be for either a half-time (50%) or a full-time (100%) role.
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.
Flexible working hours. Nobody will count your hours. As long as the output is there and the result is good, we don’t care.
Opportunity to work with some OGs in the Ethereum and general crypto space.
Opportunity to work in opensource, have your code visible and running at the systems of the ever-increasing Rotki userbase.
Potential for equity options in the company.
Working on a lean and mean team without micromanagement.
How to apply / More Info
Send an email to careers@rotki.com 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.
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.
What is DeFi
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.
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.
Lending/Borrowing Protocols
There are protocols such as Compound and Aave 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 vaults that can mint the DAI stable token after depositing various forms of collateral.
Synthetic Assets
Synthetic asset protocols such as Synthetix or Token Sets 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.
What new possibilities does DeFi unlock?
What DeFi does is nothing new. All of this already exist in one form or another in the world of “traditional finance”. 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.
The dark side of DeFi
Just like with everything involving money this sector also attracts short-termed myopic people and projects who are driven by greed.
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.
The bad side of farming is the “DeFi chad” or “Defi Degen”. 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.
YAM finance.
A very good example of the irresponsible approach to DeFi is YAM. An experiment that did not even manage to last 2 days. It launched in 19:00 UTC, August 11th, 2020 and died 36 hours later.
What happened?
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!
For a technical explanation of the bug read their post. 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.
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.
Could this have been avoided?
ABSOLUTELY
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:
Write contract tests
Have some sort of security audit of the code
IF you claim it’s an experiment then treat it as such by:
Putting deposit limits in the code to protect your users
Put an escape hatch in the code to protect your users.
Ponzi
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 this article.
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.
It was a “fair” 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.
Shilling in Twitter
What I personally found absolutely disgusting 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.
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.
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.
What did it cost us?
Some people lost a lot of money
Marketcap dropped from $60m to $0.
People who bought YAM are left holding a hot potato, got burned and lost everything they invested.
Uniswap liquidity providers lost money due to providing liquidity for sellers of a dying token.
Lots of money in gas fees (300+ gwei) for nothing
The rest of the non yam farming ethereum users were left with 300 gwei gas prices and could not really use the ethereum blockchain.
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?
Responsible Decentralized Finance
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.
Responsible DeFi user
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.
Responsible DeFi founder
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 “just an experiment” won’t be accepted.
Towards a sustainable DeFi ecosystem
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.
Closing / About the author
My name is Lefteris Karapetsas. I am the founder of Rotki. 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.
Chat with us and other users of Rotki in Discord or in Telegram.
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.
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 join in!
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.
Features
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.
Support for Gemini Exchange
Release v1.4.0 introduced support for the Gemini exchange.
Users simply need to add a Gemini key with the “auditor” permission and rotki will pull all balances, trades, deposits/withdrawals and display them inside the app.
Users can now maintain manually tracked balances
Release v1.4.0 introduced the ability for users to add manually tracked balances.
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.
Improvements for Kraken users
Kraken users can now choose the tier of kraken account they have from the UI.
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.
Support for Compound tokens and for aDAI
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.
Speedup of blockchain queries
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.
Redesign of the welcome screen
We have redesigned the welcome screen!
You are no longer greeted by a dull and boring background but by a patterned moving robin.
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.
Redesign of the dashboard
The dashboard’s design has changed considerably.
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.
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.
Ability to change the password
You have asked for this feature and we listened!
It’s now possible for a user to change their password by visiting the account & security page. Simply type in a new password and you are good to go!
Privacy changes
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.
Data scrambling
Users have the ability to activate data scrambling mode.
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.
Privacy mode
Another feature we introduced is called privacy mode.
Once privacy mode activated all numbers are blurred out.
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.
Improvements on the MakerDAO DSR page
The MakerDAO DSR page has been improved to have similar look and feel to the vaults page.
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.
Here is a small demo showcasing the usage of DSR in v1.5.0:
Support for MakerDAO vaults
With v1.5.0 we have also added support for MakerDAO vaults.
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.
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.
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.
Here is a small demo showcasing the usage of vaults in v1.5.
Wrapup
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.
Conclusion - last half of 2020 and beyond
Heading into the next half of the year rotki is growing up!
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.
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.
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:
Chat with us and other users of Rotki in Telegram or in Discord.
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.