TLDR; All blockchain data on Ethereum is public, yet getting data off them is hard. It's messy, disorganized and time-consuming even for an engineer. If you're non-technical – forget about it. 😡 In this post, we discuss a common use-case of MakerDAO with leveraged lending that can lead to a nightmarish situation when it comes to record-keeping. We have a solution – Covalent – to this specific problem and broadly to what we call the DeFi data availability gap.
What got us here
**Note: It's not our place to pass value judgements on investment decisions.
THIS POST IS NOT FINANCIAL/INVESTMENT/TAX ADVICE.**
Consider an investor who's so bullish about the future price of ETH that they are going leveraged long. What this means is that they are borrowing in order to invest in ETH and gain exposure to any kind of price increase in ETH. The leverage just amplifies their gains (or losses). They don't mind paying the interest on the borrow. The reasoning is that if ETH were to grow 2X-3X, what's a single digit interest rate i.e., the cost of borrowing?
The MakerDAO system makes it easy to construct a portfolio that can do this. The investor deposits ETH as collateral to borrow some DAI, and then use that DAI to buy more ETH. They then place the newly bought ETH as collateral again to borrow more DAI. They repeat this process a couple of times to build their 3X, 4X, 5X leverage.
The DAI ➡️ ETH trade can happen on one of the many decentralized exchanges like Oasis, Uniswap, Kyber, etc.
This investor (or speculator 🤔) is additionally using a smart contract wallet. Smart contract wallets are all the rage these days and there are many solutions like Argent and InstaDApp that makes it easy to manage your DeFi positions.
The record-keeping nightmare
There are two scenarios:
- The investor is happy with their gains
- Or, they have completely lost their collateral (nobody claimed this was risk-free)
Let's focus on the first case – the investor is happy and is now unwinding their positions and closing them.
The question is –
Where can the investor find the DOWNLOAD CSV button to understand their performance and calculate realised/unrealised gains?
There are a litany of problems:
- They had initially created the positions through the Maker interface and then migrated to InstaDApp.
- They used Metamask to sign into InstaDApp and InstaDApp creates a completely new wallet. That new wallet is now the owner of their migrated positions.
- The DAI ➡️ ETH trades are chopped up and executed in multiple fills – each fill has a different DAI price. Though they may be able to get away with assuming the price of DAI to be $1.00 USD.
- None of the DEXs allow you to download your transactions. Even if they did (Oasis does), it's not formatted like other CSV exports you have, so you have to manually fix the formating.
- Shut CDPs are moved to
0x0000...0000and are not visible on any of the Maker tools like mkr.tools or Makerscan.
- There are a few thousand trades over the course of the year and many tools cannot handle this scale.
- Historical stability fee rate hikes and drops.
- Visibility into all the hidden taxable events – eg: the ETH ➡️ WETH ➡️ PETH conversion is a taxable event.
- Classification of transactions to account for geo-dependency of tax rules – eg: no long-term capital gains tax in Germany or no taxes on crypto-crypto trades in France.
- The composable nature of DeFi inadvertently touches other DeFi protocols and exacerbates the data availability gap.
And the list goes on...you get it.
Record-keeping is crucial
Besides benchmarking their investment performances, the investor needs to keep their records as evidence for tax purposes. In the United States, the IRS can come for an audit anytime – in three years, six years or forever. Here's how to tell:
- 3 years – general lookback if you file properly
- 6 years – when there is substantial understatement of income
- forever – if you did not file or there is fraud
There's not just the tax liability, but also penalties for tax fraud / evasion.
Covalent has built a "Download CSV" button for MakerDAO
The data layer for your MakerDAO positions, including smart wallet detection, shut CDPs and download historical data as a CSV.
We spent the last few months integrating with the MakerDAO contracts to keep track of your positions. We solve ALL of the afore mentioned problems with a proven product already accepted by customers.
We are calling this product "SafeKeep" and you can sign up for our private beta today:
Follow the conversation on Twitter
1/ DeFi has a data availability gap that nobody is talking about. The data on Ethereum is public, yet getting data off them is hard. It's messy and time-consuming even for an engineer. Non-technical? 😡Let's take a use-case of @MakerDAO with leveraged lending.A thread ⬇️⬇️⬇️— Ganesh Swami (@gane5h) January 27, 2020 <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>