Skip to content
Mario Ciavarella
Back to projects

Intent Auction

Four of the protocol’s mechanisms, each one yours to drive by hand: seal a bid and open it, order a graph that arrived out of order, fill a block that has to keep room for direct transactions, and try to spend the same coin twice.

v0.1.0Aug 2026

View repository

Python · ZK proofs

An intent is a request carrying a ceiling on what it will pay. Three solvers bid the fee they want for executing it: sealed now, opened later, and the seed that breaks ties is drawn only once sealing has closed. Open something other than what you sealed and you lose your bond.

Sealed-bid auctionofferthe fee a solver bids for the right to execute the intentutilitythat offer, capped at the intent's maximum fee. Highest winscommitmentbinds the offer, the solution and the identity together, before any seed existstie-breaka hash of the seed, the intent and the solver. Lowest wins, and nobody can aim it

#7transfer 40 UNITto 0x9f2c…41abmax fee 5

Commit phase. Each solver seals an offer. The commitment binds the offer, the solution and the identity together, and the seed does not exist yet.

  1. #11solver-alphastake 5,000 · bond 1,000

    utility 4

    commitment unsealedreveal pending

  2. #24solver-betastake 5,000 · bond 1,000

    utility 4

    commitment unsealedreveal pending

  3. #37solver-gammastake 3,000 · bond 1,000

    utility 3

    commitment unsealedreveal pending

The protocol itself hashes with Poseidon, which a zero-knowledge circuit can prove cheaply. Nothing is proved here, so this runs on sha256.

Want to go further?