Compound Finance & ethPM
Earn interest on your DAI with ethPM and the Compound Protocol
If you're like me, you have a hard time turning down free money. So why just let your crypto sit around and gather dust instead of putting it to work?
This guide will show you how to earn interest on your DAI with only a few lines of code in your terminal. You'll instantly start accumulating interest on your DAI by supplying it to the Compound protocol for others to borrow. We won't go deep into the Compound protocol, but you can learn more about it here.
Overview
Use the DAI & Compound ethPM packages
Approve the cDAI contract to transfer your DAI
Exchange your DAI for cDAI (aka supply your DAI to the Compound liquidity pool)
Prerequisites
The private key for an account that owns DAI
General understanding of web3.py contract API
Setup
First, let's get the two packages we'll need to supply our DAI to the Compound protocol.
package name:
dai-dai
version:
1.0.0
located on:
erc20.snakecharmers.eth
package name:
compound
version:
1.0.0
located on:
defi.snakecharmers.eth
Approve
Before we can supply our DAI to the Compound protocol, we have to approve the cDAI contract to transfer our DAI tokens and convert them into cDAI. This is a standard procedure with many erc20-based systems. We'll use our cDAI
contract instance for the address.
Supply
In the Compound v2 protocol, "minting" is analogous for supplying your DAI to the liquidity pool. Here we'll specify how many DAI we want to supply, and we start earning interest on the very next block after this tx is mined. Neato!
Check your stacks!
Give this a couple blocks before you accrue interest. But check daily to see the accumulated rewards of your DAI's hard work!
Verify your supply & interest accrued with the Compound dapp. You can also use these ethPM packages and your newly created contract instances to borrow DAI or any other supported feature of the cToken API. The compound
package we use here also contains deployment information for all the other mainnet cTokens, so you can use the same package to lend/borrow REP, ETH, BAT, etc...
Last updated