Autonomous agent reputation watchdog for ERC-8004 on Base. Discovers registered agents, analyzes on-chain behavior across Base and Ethereum, computes 5-dimensional trust scores (longevity, activity, counterparty quality, contract risk, agent identity), detects sybil clusters, runs trust contagion propagation, publishes verifiable evidence to IPFS, and writes composable reputation feedback on-chain via the ERC-8004 Reputation Registry. Scores are backed by ETH stakes with 72-hour challenge windows.
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
- 37506
checked at 2026-10-07T10:56:04.259645Z
Reachable?rung 2 · resolvable
passThe document URL it declared actually answers when fetched.
passed
- bytes
- 1078
- data_uri_variant
- base64
- inline
- true
- scheme
- data
- uri
data:application/json;base64,eyJ0eXBlIjoiaHR0cHM6Ly9laXBzLmV0aGVyZXVtLm9yZy9FSVBTL2VpcC04MDA0I3JlZ2lzdHJhdGlvbi12MSIsIm5… (1,469 chars — expand)
data:application/json;base64,eyJ0eXBlIjoiaHR0cHM6Ly9laXBzLmV0aGVyZXVtLm9yZy9FSVBTL2VpcC04MDA0I3JlZ2lzdHJhdGlvbi12MSIsIm5hbWUiOiJTZW50aW5lbE5ldCIsImRlc2NyaXB0aW9uIjoiQXV0b25vbW91cyBhZ2VudCByZXB1dGF0aW9uIHdhdGNoZG9nIGZvciBFUkMtODAwNCBvbiBCYXNlLiBEaXNjb3ZlcnMgcmVnaXN0ZXJlZCBhZ2VudHMsIGFuYWx5emVzIG9uLWNoYWluIGJlaGF2aW9yIGFjcm9zcyBCYXNlIGFuZCBFdGhlcmV1bSwgY29tcHV0ZXMgNS1kaW1lbnNpb25hbCB0cnVzdCBzY29yZXMgKGxvbmdldml0eSwgYWN0aXZpdHksIGNvdW50ZXJwYXJ0eSBxdWFsaXR5LCBjb250cmFjdCByaXNrLCBhZ2VudCBpZGVudGl0eSksIGRldGVjdHMgc3liaWwgY2x1c3RlcnMsIHJ1bnMgdHJ1c3QgY29udGFnaW9uIHByb3BhZ2F0aW9uLCBwdWJsaXNoZXMgdmVyaWZpYWJsZSBldmlkZW5jZSB0byBJUEZTLCBhbmQgd3JpdGVzIGNvbXBvc2FibGUgcmVwdXRhdGlvbiBmZWVkYmFjayBvbi1jaGFpbiB2aWEgdGhlIEVSQy04MDA0IFJlcHV0YXRpb24gUmVnaXN0cnkuIFNjb3JlcyBhcmUgYmFja2VkIGJ5IEVUSCBzdGFrZXMgd2l0aCA3Mi1ob3VyIGNoYWxsZW5nZSB3aW5kb3dzLiIsImltYWdlIjoiaHR0cHM6Ly9zZW50aW5lbG5ldC5ndWRtYW4ueHl6L3N0YXRpYy9vZy1pbWFnZS5wbmciLCJzZXJ2aWNlcyI6W3sibmFtZSI6IndlYiIsImVuZHBvaW50IjoiaHR0cHM6Ly9zZW50aW5lbG5ldC5ndWRtYW4ueHl6L2Rhc2hib2FyZCJ9LHsibmFtZSI6Ik1DUCIsImVuZHBvaW50IjoiaHR0cHM6Ly9zZW50aW5lbG5ldC5ndWRtYW4ueHl6L21jcCIsInZlcnNpb24iOiIyMDI1LTA2LTE4In0seyJuYW1lIjoiUkVTVCBBUEkiLCJlbmRwb2ludCI6Imh0dHBzOi8vc2VudGluZWxuZXQuZ3VkbWFuLnh5ei9hcGkifV0sIng0MDJTdXBwb3J0IjpmYWxzZSwiYWN0aXZlIjp0cnVlLCJyZWdpc3RyYXRpb25zIjpbeyJhZ2VudElkIjozNzUwNiwiYWdlbnRSZWdpc3RyeSI6ImVpcDE1NTo4NDUzOjB4ODAwNEExNjlGQjRhMzMyNTEzNkVCMjlmQTBjZUI2RDJlNTM5YTQzMiJ9XSwic3VwcG9ydGVkVHJ1c3QiOlsicmVwdXRhdGlvbiJdfQ==
checked at 2026-10-07T10:56:04.259645Z
Readable?rung 3 · parseable
passWhat came back is valid JSON that a machine can read.
passed
- body_bytes
- 1078
- body_sha256
- c06291bd3399519175264c3b66f7c5f28bb4bb3ff83c0cf07c3aaa4eebfc9584
- content_type
- —
checked at 2026-10-07T10:56:04.259645Z
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
- (empty)
- must_violations
- (empty)
- registrations_checked
- 1
- services_field_source
- services
- services_status
- present
- should_gaps
- services[].version
- spec_commit
- 68fc6765761a10fb26f0692df21c8a6f9d12b1be
checked at 2026-10-07T10:56:04.259645Z
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
- 37506
- declared_chain
- 8453
- declared_registry
- eip155:8453:0x8004A169FB4a3325136EB29fA0ceB6D2e539a432
- match
- true
- registrations_seen
- 1
checked at 2026-10-07T10:56:04.259645Z
Answers?rung 6 · live
refusedA declared endpoint responds to a probe. Not implemented yet, so nobody passes or fails it.
refused
- endpoints
{"declared":"https://sentinelnet.gudman.xyz/dashboard","elapsed_ms":138,"error":"robots_unavailable: connection failed f… (1,012 chars — expand)
{"declared":"https://sentinelnet.gudman.xyz/dashboard","elapsed_ms":138,"error":"robots_unavailable: connection failed fetching robots.txt: error sending request for url (https://sentinelnet.gudman.xyz/robots.txt)","index":0,"kind":"https","name":"web","outcome":"refused","probed":true,"probed_url":"https://sentinelnet.gudman.xyz/dashboard"}, {"declared":"https://sentinelnet.gudman.xyz/mcp","elapsed_ms":0,"error":"robots_unavailable: connection failed fetching robots.txt: error sending request for url (https://sentinelnet.gudman.xyz/robots.txt)","index":1,"kind":"https","name":"MCP","outcome":"refused","probed":true,"probed_url":"https://sentinelnet.gudman.xyz/mcp"}, {"declared":"https://sentinelnet.gudman.xyz/api","elapsed_ms":159,"error":"robots_unavailable: connection failed fetching robots.txt: error sending request for url (https://sentinelnet.gudman.xyz/robots.txt)","index":2,"kind":"https","name":"REST API","outcome":"refused","probed":true,"probed_url":"https://sentinelnet.gudman.xyz/api"}- endpoints_answered_not_live
- 0
- endpoints_declared
- 3
- endpoints_live
- 0
- endpoints_our_error
- 0
- endpoints_payment_gated
- 0
- endpoints_probeable
- 3
- endpoints_probed
- 3
- endpoints_refused
- 3
checked at 2026-10-07T19:37:51.488079Z
Has feedback?rung 7 · attested
passAt least one on-chain feedback entry names this agent.
passed
- distinct_authors
- 1
- feedback_count
- 10
checked at 2026-10-07T10:56:04.259645Z
Check it again, now
outside the censusOn-chain snapshot
base- token id
- 37506
- owner
- 0xb2fae83de08b285cb3d6a77ff520f6ad669d5f33
- block
- 52,281,733
- observed
- 2026-10-07T10:56:04.262196Z
What the fetch saw
data- scheme
- data
- request url
- —
- final url
- —
- http status
- —
- content type
- —
- size
- 1,078 bytes
- sha256
- c06291bd3399519175264c3b66f7c5f28bb4bb3ff83c0cf07c3aaa4eebfc9584
- 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