A Keeper is an external independent actor that is incentivized to contribute to decentralized systems, they "keep" the system running by performing necessary functions. In the context of Single Collateral Dai, the title of "Keeper" can refer to a few different types of system participants. Usually, these roles are performed by a program rather than a human.
There are five primary types of Keepers, those that:
- Trigger Liquidation of CDPs
- Participate in the buy side of liquidated collateral sales
- Perform market-making activities on Dai pairs
- Arbitrage Dai
- Provide price-feed information
As MakerDAO grows and evolves, other types of Keepers may be created.
Keepers are incentivized by the natural profit opportunities available in the Maker ecosystem. For example, agents can trigger CDP liquidations so they can participate in the subsequent collateral sale, thus providing an opportunity to purchase ETH at a discount. Another example is a market maker who provides liquidity and helps maintain the stability of Dai, who is incentivized by the opportunity to make money on the bid-ask spread.
Maker has provided reference implementations for several types of Keepers.
There is also a developers guide for Keepers.
Please treat these repositories as starting points, not as finished products. Experiment with them at your own risk.
A Bite-Keeper triggers the liquidation of unsafe CDPs, thereby making their collateral available for sale.
A Bite-Keeper can then participate in the collateral sale by purchasing the collateral at a discount then immediately selling it on the spot market, earning the margin.
Please treat these repositories as starting points, not as finished products. Experiment with them at your own risk.
The Arbitrage-Keeper constantly looks for profitable arbitrage opportunities. This Keeper also provides a valuable source of information on where to look for arbitrage opportunities in the Dai system and how to exploit them. It also demonstrates how to do atomic arbitrage using the tx-manager contract.
Please treat these repositories as starting points, not as finished products. Experiment with them at your own risk.
The CDP-Keeper is responsible for monitoring and managing open CDPs. It can allow for the topping up of CDPs and repaying Dai debt. This Keeper is incomplete but provides a useful example for interacting with a CDP using Python.
Please treat these repositories as starting points, not as finished products. Experiment with them at your own risk.
The Market-Maker-Keeper is a set of Keepers that facilitates market making and is compatible with numerous centralized and decentralized exchanges. The Market-Maker-Keeper is capable of dynamically placing and canceling orders based on price movements.
Please treat these repositories as starting points, not as finished products. Experiment with them at your own risk.
Yes, anyone can create their own Keeper software. You do not need to use the MakerDAO Keeper repositories, though they can be used as a starting point for learning about how to interact with the ecosystem.
It depends on the type of Keeper. Excluding price-feed providers, who provide the Oracle system with pricing information, all other Keepers can be run permissionless.
No.
No, Keepers exist throughout the blockchain world. For example, the bots in the Augur network who report on the outcome of events are Keepers.
The team has not published any tutorials for setting up Keepers. However, the team has provided reference implementations for several types of Keepers. The repositories for each of these can be used as guides to get you started. There is also a developers guide for Keepers.