cuckoo

Concepts

Keepers

What a keeper does, and what it needs to do it well.

A keeper is a small program. Anyone can run one (cuckoo keeper), and it earns the reward of every egg it lands.

The loop

  1. Read the head of the chain.
  2. For each egg it holds: is head + 1 inside the window? If so, send hatch now. It will be included in the next block.
  3. If a send reverts (TooEarly, Used), nothing else happens. The owner paid nothing.

lead lets a keeper send earlier to absorb its own latency. With a lead too large, the egg is refused as too early and the keeper wastes its gas.

What a keeper needs

  • A private RPC or its own node. The public Robinhood RPC puts a Cloudflare challenge in front of anyone who sends more than a handful of requests, so a keeper cannot depend on it.
  • A funded key for gas. It is paid back by the rewards it wins.
  • Closeness to the sequencer. This is where keepers differ, and this is what the reward curve pays for.

What a keeper cannot do

It cannot change the call, the recipient, the amount, the window or the reward: all of them are in the signature. It can only carry the egg, or not.

What a keeper can see

It reads the egg, so it knows your target, your block and your amount. That is the price of having someone carry it. Give your eggs only to keepers you trust, or run your own. See Limits and risks.