An AI agent says it's about to move USDC. Before the transfer happens, the gate checks a signed pre-action passport. The decision comes back as a signed receipt. No allow, no transfer. Every signature is real Ed25519 (RFC 8032), every body uses RFC 8785 JCS canonicalization, and every response carries a Layer C honesty header. The backend is live at .
// POST /v1/attest/passport/issue
// POST /v1/attest/gate/evaluate
// Conditional on gate.decision === "allow"