Start here
The FAQ is the shortest way in: it answers in a paragraph and points at the
page holding the long version. Everything else is written to be read straight
through.
The two sentences the rest of it hangs off
The agent supplies parameters, never calldata. The type the agent signs is a closed struct of typed fields. There is noTo, no Data, no route blob, so a
compromised planner or a prompt-injected model has no way to express “call this
address with this payload”, because the type cannot represent it.
The signer does not trust its caller. Every intent is re-validated
independently at the signing service, even though the caller validated it first.
A caller that already validated loses nothing; a compromised one is stopped
there. Refusals are audited as carefully as approvals, because a refusal is
evidence.
Everything else here is one of those two sentences worked out in detail,
or a place where the built system does not yet reach them, which the pages say
explicitly rather than rounding up.
How to read a page here
Claims are meant to be checkable. Where a page states something about the code it names the file, and where it states something the code does not yet do it says so in those words. Two failure modes this repository has paid for, and that these pages try not to repeat:- A document that describes the design as though it were the build. The Kernel page keeps designed and built in separate columns for this reason.
- A negative claim nobody re-checked. “There is no adapter that waits for a price” was true, shipped, stayed on the page, and talked somebody out of the feature they were asking for. If you find one here, fix it in place; the git history behind every page is the record of what it used to say.