This is an (deliberately) incomplete introduction of Keep3r protocol intended for non-technical folks trying to understand how it works.
What is Keep3r?
To understand the need for Keep3r, “world computer” metaphor is quite helpful. Web3 applications can be compared to normal applications stored on hard drive of some computer. On your computer there are two ways to launch an application: it can be done by user (you click Chrome and Chrome launches) or by your operating system. There are dozens of apps running in the background, performing various tasks. Some of those run constantly, some are invoked periodically (eg. every one hour) or when needed. Those apps are controlled by the operating system and perform many boring, but very important tasks.
On Ethereum “world computer” (and other smart-contract enabled blockchains) there no such thing as application running in the background. What’s more, there’s no such thing as operating system which can invoke some smart contracts from time to time. All smart contract can be only invoked by user (or another smart contract, but still there’s someone invoking some smart contract at the start of the whole process).
While running an app on your computer is basically free, all operations on “world computer” cost gas. User has to have some incentive to perform a task. Sometimes it’s pretty obvious: if user needs to exchange tokens on DEX, this need is an incentive itself. He pays some gas and has tokens exchanged. But there are some tasks which are very much needed for some web application to run, but at the same time no single person has clear incentive to pay the transaction costs. One example of such task is be harvesting some profits and reinvesting it. While all users of some farming app profit from this, no one wants to pay all the gas needed, because his personal profits from such action do not justify the cost.
The solution is simple: each Web3 application that has such need, has to employ “keepers”. Keepers are people with enough technical knowledge to perform those task. Word “employ” means that those keepers have to be paid: cost of transactions has to be reimbursed, but on top of that some additional incentive has to be added as well.
Keep3r is a job-fair plus working environment for keepers.
How does it work?
Two most important roles at Keep3r are keeper and employer (there’s no set term for people who post new jobs, employer is entirely my idea how can we call them).
Employer creates a job and posts it on keep3r website. The job post includes all technical details about what keeper has to do in order for job to be completed. Note that in most if not all cases keeper can’t just do the required task as many times as he wants. It’s like hiring someone to wipe the floor: cleaning is only needed if floor is dirty. Employer has to specify “minimum level of dirtiness” that requires clearing. Also criteria for successful completion of task have to be precisely defined. This is done in code. The code required to run the task is also provided, so in theory all the keeper has to do is to run some code at the right moment and earn some money.
The process of remunerating keepers is bit complex. Employers need to farm “credits” by providing liquidity to some liquidity pools. The credits are then minted (you can read all details in the documentation).
Keepers have to programmatically register themselves for the jobs. They are sometimes required to bond some KP3R tokens. Those tokens are a safeguard that the work will be done in an orderly manner, and some jobs require such safety deposit. There’s also a dispute process in case of any problems. Note that all keepers who bond enough KP3R can perform a job, so there’s a competition between them. Whoever gets the job completed first, gets the payout.
So what’s is the payout? It’s proportional to the gas fees paid be the keeper for completing the task. He gets his fees back + the additional 10% (or 20% if he has enough KP3R bonded). Payout is in KP3R.
As you can see this is a fairly complex system and this article does not cover all of its complexity. Being a keeper is not an easy feat, you need quite a bit of technical knowledge (including how to run an Ethereum node). There’s a CLI tool which helps, but still it’s not something anyone can do.
It’s also important to note that KP3R token is used not only in this project. FixedForex uses it as well.
Big thanks to 0xGorilla from Keep3r Discord who provide a lot of insight into Keep3r Networks system. If you’re interested into more details, go straight to the documentation.