Maker DAO Transactions Illustrated
Maker DAO is the protocol for supporting the stable token, DAI. This article is the description of the protocol based on the real examples of transactions, illustrated by graphs from bloxy.info web site.
The protocol is implemented as smart contracts:
which accepts wrapped Ether ( WETH ) as the collateral for DAI debt, and
for DAI debt liquidation clearance ( DAI <-> PETH exchange of bad debts )
The protocol is described in https://developer.makerdao.com/dai/1/api/vox. We took the text description from this source, but illustrated it by real example of transactions, using the graphical presentation from bloxy.info web site. Every illustration is accompanied with the link to the transaction it shows. You can investigate this particular transaction by clicking the link, or investigate even further, by finding similar transactions on the contract.
We believe this material will help to better understand Maker DAO protocol and use it in all possible variety of ways.
All protocol methods can be categorized in categories, working with different entities:
They describes what in general you can do with Maker DAO system:
- Deposit / withdraw your Ether ( PETH Pool )
- Control your CDP’s ( Collateral positions ) and get a loan (in DAI) from them. This effectively controls the total supply of DAI.
- Liquidate debts in DAI/PETH
Join Collateral Pool
Join the collateral pool by depositing
ETH in exchange for
PETH (pooled ether).
- The amount should be specified in units of
- ETH will be debited from the caller at the join price (
Exit Collateral Pool
Withdraw collateral by returning
PETH to the vault in exchange for the proportional amount of
- The amount should be specified in units of
- PETH will be debited from the caller at the exit price (
Will return more or less
ETH tokens for each
PETH than at
join depending whether the system made a profit or loss over the lifetime of the collateral deposited to the pool.
Create an empty CDP and set the caller to be the owner.
Transfer a CDP to a different owner. (changes
PETH collateral (increases
More complicated case, with ETH initially converted:
PETH collateral (decreases
More complicated case, with the conversion back to ETH
Issue a specified amount of Dai (increases
More complicated, with intermediary smart contract sending DAI to the guy
Repay some portion of outstanding Dai debt (decreases
More complicated case, where DAI exchanged to pay MKR fee. DEX exchange Oasis used for this:
Close a CDP. Clear all debt, unlock all collateral and delete the record.
Collateral will be used to pay any outstanding debt at market rate. Remaining collateral will be returned to the pool.
More complicated case, using Oasis to exchange DAI to MKR:
Even more complicated, with Uniswap involved:
Liquidate a vunerable CDP (zeros
Unsafe CDPs need to be liquidated. When a
cup is not
safe, anyone can perform
bite(cup), which takes on all CDP debt and confiscates sufficient collateral to cover this, plus a buffer.
This returns the CDP to a safe state (possibly with zero collateral).
There are other possible implementations of
bite, e.g. only taking sufficient collateral to just transition the CDP to safe, but the described implementation is chosen for simplicity.
More complicated case
dai when the system is in surplus.
Can be thought of as buy and burn. Given a net Dai balance, sell the Dai in return for PETH, which is burned.
dai when the system is in deficit.
bust is really two functions in one: collateral sell off (aka
flip), and inflate and sell (aka
fog is non zero it is sold in return for Dai, which is used to cancel out the bad debt,
fog is zero but the
tap has a net Sin balance, then PETH is minted and sold in return for Dai, up to the point that the net Sin balance is zero.
Vox Target Price
vox provides the Dai target price, given in terms of the reference unit, by
par. For example,
par == 2 with USD as the reference unit implies a target price of 2 USD per Sai.
The target price can vary in time, at a rate given by
way, which is the multiplicative rate of change per second.
In Dai 1.0 the sensitivity,
how, is set to zero. Adjustments to the target price are made by adjusting the rate of change,
way, directly with
coax. In future iterations,
how may be non-zero and
way adjustments will then follow automatically via the feedback mechanism. The
vox component is subject to ongoing economic modelling research.
This article was composed from the data and by analytical tools from Bloxy.info analytical engine.
Bloxy.info web site provides a set of tools for analytics, traders, companies and crypto enthusiasts.
The tools include APIs, dashboards and search engine, all available on-site, providing accurate data, indexed directly from the blockchain live node.
Bloxy mission is to make blockchain more transparent and accessible to people and businesses.
Please, make a reference to the source of data when referencing this article.
To show an example of a REAL transaction, take a look at this:
Apart from Maker DAO contracts, 3 DEX involved: Oasis, Uniswap and Kyber Network. This transaction orchestrated by smart contract SaverProxy ( https://bloxy.info/address/0xc19d0f1e2b38aa283e226ca4044766a43aa7b02b ).
What it does is withdraws Eth collateral, swaps Eth -> Dai with Kyber, and pays back the debt in Dai
Bloxy.info Dashboard for MakerDAO shows interesting dynamics of the methods usage over time:
As different methods are used by traders for purpose, this dynamics may tell many stories about the important events and behavior in Maker DAO ecosystem.