Non-custodial policy layer for agent wallets. Every AI agent with a wallet is a black box — you see transactions but not WHY. Mandate captures agent reasoning with every intent, scans for prompt injection, enforces spend limits and allowlists, and routes to human approval with full evidence. One npm install, three lines of code. The agent already thinks before it acts — we make that thinking visible and enforceable.
The seven checks, with their evidence
7 recordedRegistered?rung 1 · registered
passThe agent exists in the on-chain registry, with an owner and a document URL.
passed
- block_number
- 52281733
- chain_id
- 8453
- token_id
- 33113
checked at 2026-10-07T09:44:24.878155Z
Reachable?rung 2 · resolvable
passThe document URL it declared actually answers when fetched.
passed
- bytes
- 692
- data_uri_variant
- base64
- inline
- true
- scheme
- data
- uri
data:application/json;base64,eyJ0eXBlIjoiaHR0cHM6Ly9laXBzLmV0aGVyZXVtLm9yZy9FSVBTL2VpcC04MDA0I3JlZ2lzdHJhdGlvbi12MSIsIm5… (953 chars — expand)
data:application/json;base64,eyJ0eXBlIjoiaHR0cHM6Ly9laXBzLmV0aGVyZXVtLm9yZy9FSVBTL2VpcC04MDA0I3JlZ2lzdHJhdGlvbi12MSIsIm5hbWUiOiJNYW5kYXRlIiwiZGVzY3JpcHRpb24iOiJOb24tY3VzdG9kaWFsIHBvbGljeSBsYXllciBmb3IgYWdlbnQgd2FsbGV0cy4gRXZlcnkgQUkgYWdlbnQgd2l0aCBhIHdhbGxldCBpcyBhIGJsYWNrIGJveCDigJQgeW91IHNlZSB0cmFuc2FjdGlvbnMgYnV0IG5vdCBXSFkuIE1hbmRhdGUgY2FwdHVyZXMgYWdlbnQgcmVhc29uaW5nIHdpdGggZXZlcnkgaW50ZW50LCBzY2FucyBmb3IgcHJvbXB0IGluamVjdGlvbiwgZW5mb3JjZXMgc3BlbmQgbGltaXRzIGFuZCBhbGxvd2xpc3RzLCBhbmQgcm91dGVzIHRvIGh1bWFuIGFwcHJvdmFsIHdpdGggZnVsbCBldmlkZW5jZS4gT25lIG5wbSBpbnN0YWxsLCB0aHJlZSBsaW5lcyBvZiBjb2RlLiBUaGUgYWdlbnQgYWxyZWFkeSB0aGlua3MgYmVmb3JlIGl0IGFjdHMg4oCUIHdlIG1ha2UgdGhhdCB0aGlua2luZyB2aXNpYmxlIGFuZCBlbmZvcmNlYWJsZS4iLCJzZXJ2aWNlcyI6W10sImFjdGl2ZSI6dHJ1ZSwicmVnaXN0cmF0aW9ucyI6W3siYWdlbnRJZCI6MzMxMTMsImFnZW50UmVnaXN0cnkiOiJlaXAxNTU6ODQ1MzoweDgwMDRBMTY5RkI0YTMzMjUxMzZFQjI5ZkEwY2VCNkQyZTUzOWE0MzIifV0sInN1cHBvcnRlZFRydXN0IjpbInJlcHV0YXRpb24iXX0=
checked at 2026-10-07T09:44:24.878155Z
Readable?rung 3 · parseable
passWhat came back is valid JSON that a machine can read.
passed
- body_bytes
- 692
- body_sha256
- 3e20182e152d92fea98cdfe3dd86851de6e3d172e9e7e9d60b2347bcb23cc7c6
- content_type
- —
checked at 2026-10-07T09:44:24.878155Z
Follows the spec?rung 4 · conformant
passThe document meets what ERC-8004 requires of it.
passed
- both_fields_present
- false
- legacy_endpoints_field
- false
- may_gaps
- x402Support
- must_violations
- (empty)
- registrations_checked
- 1
- services_field_source
- services
- services_status
- empty
- should_gaps
- image, services_empty
- spec_commit
- 68fc6765761a10fb26f0692df21c8a6f9d12b1be
checked at 2026-10-07T09:44:24.878155Z
Claims its identity?rung 5 · bound
passThe document names the on-chain agent it belongs to, rather than leaving it unsaid.
passed
- declared_agent_id
- 33113
- declared_chain
- 8453
- declared_registry
- eip155:8453:0x8004A169FB4a3325136EB29fA0ceB6D2e539a432
- match
- true
- registrations_seen
- 1
checked at 2026-10-07T09:44:24.878155Z
Answers?rung 6 · live
unprobeableA declared endpoint responds to a probe. Not implemented yet, so nobody passes or fails it.
unprobeable — no declared endpoint that a probe can reach
- endpoints
- (empty)
- endpoints_answered_not_live
- 0
- endpoints_declared
- 0
- endpoints_live
- 0
- endpoints_our_error
- 0
- endpoints_payment_gated
- 0
- endpoints_probeable
- 0
- endpoints_probed
- 0
- endpoints_refused
- 0
- kinds
- (empty)
- reason
- no_services_declared
checked at 2026-10-07T19:37:51.488079Z
Has feedback?rung 7 · attested
failAt least one on-chain feedback entry names this agent.
did not pass
- distinct_authors
- 0
- feedback_count
- 0
- reason
- no_feedback
checked at 2026-10-07T09:44:24.878155Z
Check it again, now
outside the censusOn-chain snapshot
base- token id
- 33113
- owner
- 0x2b18cb885103a68fc3c6d463727a1ab353db4f40
- block
- 52,281,733
- observed
- 2026-10-07T09:44:24.881313Z
What the fetch saw
data- scheme
- data
- request url
- —
- final url
- —
- http status
- —
- content type
- —
- size
- 692 bytes
- sha256
- 3e20182e152d92fea98cdfe3dd86851de6e3d172e9e7e9d60b2347bcb23cc7c6
- elapsed
- 0 ms
This run
reproducible- run
- c67de707-a82d-4589-8936-acd5a584c720
- chain
- base
- pinned block
- 52,281,733
- agents
- 98,319
- started
- 2026-10-07T06:00:13.662398Z
- finished
- 2026-10-07T19:18:37.899751Z
- checker
- 0.7.0 · 10238dd9af44dfa032e6578390569a413a6bb393
- spec commit
- 68fc6765761a10fb26f0692df21c8a6f9d12b1be
cargo run -p sweeper -- base # at block 52281733