How it works
Trust the chain, not the caller
Every other layer (parser, solvers, coordinator) is untrusted by design. Only IntentSettlement's arithmetic is trusted, and it runs after everything else has already committed to what it promised.
The trust model
Mempool / draftUntrusted. A wrong hash simply can’t settle later.
SolverUntrusted. A bid is a promise; the contract enforces it at settlement.
CoordinatorCannot touch funds. It can only pick a worse bid, slashable via challengeSelection.
SettlementThe only trusted arithmetic. Reveal, size, execute, measure, enforce: one atomic transaction.
Owner historyintentsOf(owner). Compose, agent declare, and gasless relay all land in one list, in the app.
What “enforced” actually means
Doubled floorsEvery leg must clear max(user minOut, solver guarantee).
Measured, not returnedOutput is the balance delta on the recipient, never a router's self-reported return.
Full deploymentUnder-deployed capital reverts the whole settlement. Dust returns to the owner.
Guardrails travelFee, spend, reputation, allowlist, RWA, KYB: hashed at submit, checked at settle.
Open the app