cuckoo

Trust

Security model

Who can do what, and what an attacker gets.

ActorCanCannot
The ownerDeposit, withdraw, sign and cancel eggs.Make a keeper land outside the window.
A keeperCarry any valid egg and earn its reward.Change the call, amount, recipient, window or reward; carry it twice; carry it outside the window; take more than maxReward.
Anyone elseSend an egg they hold to the chain.Spend a stranger's escrow without a signature.

What you trust

  • The contract (about 200 lines, no owner, no upgrade).
  • The chain's block counter.
  • Your own choice of keepers, for privacy only (see below).

Visibility is the cost

A keeper sees your egg. It can look at your target and your block and act on them (for example buy the same curve one block before). Cuckoo does not hide eggs. Hand them to a keeper you trust, run your own, or accept that they are readable. Sealed eggs (encrypted until the window opens) are a possible next step and are not built.

Reentrancy

State is updated before the external call and a lock protects hatch and withdraw. A test covers a keeper that tries to hatch again while being paid.

No governance

There is no admin function. Nobody, including the authors, can pause, change or rescue anything.