Start
Overview
What Cuckoo is, the problem it removes, and what it does not promise.
What it is
Cuckoo lets you choose the block where your transaction lands, without fast hardware. You sign an egg: "do this call, for at most this much, in blocks N to M". Anyone can carry the egg to the chain. The contract refuses it before N and after M, and it pays the person who carried it from your escrow, with a reward that falls with every block of lateness.
The name comes from the cuckoo, which lays its eggs in another bird's nest and lets someone else hatch them at the right time.
The problem
On a chain with blocks every tenth of a second, "when" is a race against your own network. A phone on a train and a server next to the sequencer do not land in the same block, even when they press send at the same instant. A plain transaction cannot be told to wait: the chain includes it as soon as it can.
The idea
- The window is enforced by the contract: too early or too late, the egg is refused and costs the owner nothing.
- The carrying is done by keepers, small programs placed close to the chain. They race, so you do not have to.
- The reward is highest on the first block of the window. A keeper that lands one block late earns less, so keepers compete on precision.
What it is not
- Not a guarantee of the exact block, and not a way to reorder other people's transactions.
- Not private: keepers read your egg to carry it.
- Not audited and not deployed by us yet.