// SPDX-License-Identifier: MIT pragma solidity ^0.8.20; import "@openzeppelin/contracts/access/Ownable.sol"; interface IERC8004 { event AgentCreated(uint256 indexed agentId, address owner); function executeTask(uint256 agentId, bytes calldata data) external returns (bytes memory); } contract MyAIAgent is IERC8004, Ownable { struct Agent { string name; string metadataURI; // Chứa thông tin về Model AI (GPT-4, Llama, v.v.) bool active; } mapping(uint256 => Agent) public agents; uint256 public nextAgentId; constructor() Ownable(msg.sender) {} function createAgent(string memory _name, string memory _uri) external { agents[nextAgentId] = Agent(_name, _uri, true); emit AgentCreated(nextAgentId, msg.sender); nextAgentId++; } function executeTask(uint256 agentId, bytes calldata data) external override returns (bytes memory) { require(agents[agentId].active, "Agent không hoạt động"); // Logic xử lý tác vụ ở đây return abi.encode("Task Completed"); } }
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
- 25824613
- chain_id
- 1
- token_id
- 24494
checked at 2026-08-24T11:35:09.905832Z
Reachable?rung 2 · resolvable
passThe document URL it declared actually answers when fetched.
passed
- bytes
- 1792
- data_uri_variant
- base64
- inline
- true
- scheme
- data
- uri
- data:application/json;base64,ewogICJ0eXBlIjogImh0dHBzOi8vZWlwcy5ldGhlcmV1bS5vcmcvRUlQUy9laXAtODAwNCNyZWdpc3RyYXRpb24tdjEiLAogICJuYW1lIjogImJhYmF5by04MDA0IiwKICAiZGVzY3JpcHRpb24iOiAiLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1JVFxucHJhZ21hIHNvbGlkaXR5IF4wLjguMjA7XG5cbmltcG9ydCBcIkBvcGVuemVwcGVsaW4vY29udHJhY3RzL2FjY2Vzcy9Pd25hYmxlLnNvbFwiO1xuXG5pbnRlcmZhY2UgSUVSQzgwMDQge1xuICAgIGV2ZW50IEFnZW50Q3JlYXRlZCh1aW50MjU2IGluZGV4ZWQgYWdlbnRJZCwgYWRkcmVzcyBvd25lcik7XG4gICAgZnVuY3Rpb24gZXhlY3V0ZVRhc2sodWludDI1NiBhZ2VudElkLCBieXRlcyBjYWxsZGF0YSBkYXRhKSBleHRlcm5hbCByZXR1cm5zIChieXRlcyBtZW1vcnkpO1xufVxuXG5jb250cmFjdCBNeUFJQWdlbnQgaXMgSUVSQzgwMDQsIE93bmFibGUge1xuICAgIHN0cnVjdCBBZ2VudCB7XG4gICAgICAgIHN0cmluZyBuYW1lO1xuICAgICAgICBzdHJpbmcgbWV0YWRhdGFVUkk7IC8vIENo4bupYSB0aMO0bmcgdGluIHbhu4EgTW9kZWwgQUkgKEdQVC00LCBMbGFtYSwgdi52LilcbiAgICAgICAgYm9vbCBhY3RpdmU7XG4gICAgfVxuXG4gICAgbWFwcGluZyh1aW50MjU2ID0+IEFnZW50KSBwdWJsaWMgYWdlbnRzO1xuICAgIHVpbnQyNTYgcHVibGljIG5leHRBZ2VudElkO1xuXG4gICAgY29uc3RydWN0b3IoKSBPd25hYmxlKG1zZy5zZW5kZXIpIHt9XG5cbiAgICBmdW5jdGlvbiBjcmVhdGVBZ2VudChzdHJpbmcgbWVtb3J5IF9uYW1lLCBzdHJpbmcgbWVtb3J5IF91cmkpIGV4dGVybmFsIHtcbiAgICAgICAgYWdlbnRzW25leHRBZ2VudElkXSA9IEFnZW50KF9uYW1lLCBfdXJpLCB0cnVlKTtcbiAgICAgICAgZW1pdCBBZ2VudENyZWF0ZWQobmV4dEFnZW50SWQsIG1zZy5zZW5kZXIpO1xuICAgICAgICBuZXh0QWdlbnRJZCsrO1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIGV4ZWN1dGVUYXNrKHVpbnQyNTYgYWdlbnRJZCwgYnl0ZXMgY2FsbGRhdGEgZGF0YSkgZXh0ZXJuYWwgb3ZlcnJpZGUgcmV0dXJucyAoYnl0ZXMgbWVtb3J5KSB7XG4gICAgICAgIHJlcXVpcmUoYWdlbnRzW2FnZW50SWRdLmFjdGl2ZSwgXCJBZ2VudCBraMO0bmcgaG/huqF0IMSR4buZbmdcIik7XG4gICAgICAgIC8vIExvZ2ljIHjhu60gbMO9IHTDoWMgduG7pSDhu58gxJHDonlcbiAgICAgICAgcmV0dXJuIGFiaS5lbmNvZGUoXCJUYXNrIENvbXBsZXRlZFwiKTtcbiAgICB9XG59IiwKICAiaW1hZ2UiOiAiaHR0cHM6Ly9ibG9iLjgwMDRzY2FuLmFwcC81NGY2NjcxOTFkZjA5MDlkYjEwY2RhOGY1M2EzZDdkODdlODUwMzlmNDFmOTEyNWJkNDAzNGE1NTY5N2U2Zjc1LmpwZyIsCiAgInNlcnZpY2VzIjogWwogICAgewogICAgICAibmFtZSI6ICJPQVNGIiwKICAgICAgImVuZHBvaW50IjogImh0dHBzOi8vZ2l0aHViLmNvbS9hZ250Y3kvb2FzZi8iLAogICAgICAic2tpbGxzIjogWwogICAgICAgICJhZHZhbmNlZF9yZWFzb25pbmdfcGxhbm5pbmcvY2hhaW5fb2ZfdGhvdWdodF9zdHJ1Y3R1cmluZyIsCiAgICAgICAgImFkdmFuY2VkX3JlYXNvbmluZ19wbGFubmluZy9oeXBvdGhlc2lzX2dlbmVyYXRpb24iCiAgICAgIF0sCiAgICAgICJkb21haW5zIjogWwogICAgICAgICJhZ3JpY3VsdHVyZS9hZ3JpY3VsdHVyYWxfdGVjaG5vbG9neSIKICAgICAgXQogICAgfQogIF0sCiAgInJlZ2lzdHJhdGlvbnMiOiBbXSwKICAic3VwcG9ydGVkVHJ1c3RzIjogW10sCiAgImFjdGl2ZSI6IGZhbHNlLAogICJ4NDAyc3VwcG9ydCI6IHRydWUKfQ==
checked at 2026-08-24T11:35:09.905832Z
Readable?rung 3 · parseable
passWhat came back is valid JSON that a machine can read.
passed
- body_bytes
- 1792
- body_sha256
- 85c6e72532588a612f3d22fe717a3962bd3284bbd17d0235820cda5e6982c0aa
- content_type
- —
checked at 2026-08-24T11:35:09.905832Z
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, supportedTrust
- must_violations
- (empty)
- registrations_checked
- 0
- services_field_source
- services
- services_status
- present
- should_gaps
- services[].version, registrations
- spec_commit
- 68fc6765761a10fb26f0692df21c8a6f9d12b1be
checked at 2026-08-24T11:35:09.905832Z
Claims its identity?rung 5 · bound
unclaimedThe document names the on-chain agent it belongs to, rather than leaving it unsaid.
unclaimed — the document made no claim to check
- declared_agent_id
- —
- declared_chain
- —
- declared_registry
- —
- match
- —
- reason
- unclaimed
- registrations_seen
- 0
checked at 2026-08-24T11:35:09.905832Z
Answers?rung 6 · live
passA declared endpoint responds to a probe. Not implemented yet, so nobody passes or fails it.
passed
- endpoints
- {"declared":"https://github.com/agntcy/oasf/","elapsed_ms":1989,"final_url":"https://github.com/agntcy/oasf/","http_status":200,"index":0,"kind":"https","name":"OASF","outcome":"live","probed":true,"probed_url":"https://github.com/agntcy/oasf/"}
- endpoints_answered_not_live
- 0
- endpoints_declared
- 1
- endpoints_live
- 1
- endpoints_our_error
- 0
- endpoints_payment_gated
- 0
- endpoints_probeable
- 1
- endpoints_probed
- 1
- endpoints_refused
- 0
checked at 2026-08-24T13:24:55.917314Z
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-08-24T11:35:09.905832Z
On-chain snapshot
mainnet- token id
- 24494
- owner
- 0x4420c6cbda6819aeee5c21e512dab91287371ff5
- block
- 25,824,613
- observed
- 2026-08-24T11:35:09.908177Z
What the fetch saw
data- scheme
- data
- request url
- —
- final url
- —
- http status
- —
- content type
- —
- size
- 1,792 bytes
- sha256
- 85c6e72532588a612f3d22fe717a3962bd3284bbd17d0235820cda5e6982c0aa
- elapsed
- 0 ms
This run
reproducible- run
- 49418208-967d-41de-8762-2b02c8654622
- chain
- mainnet
- pinned block
- 25,824,613
- agents
- 50,419
- started
- 2026-08-24T11:03:55.159273Z
- finished
- 2026-08-24T12:45:59.131330Z
- checker
- 0.7.0 · 9d5393c75e1c70208ad73f51dc4685b4e5f5c37d
- spec commit
- 68fc6765761a10fb26f0692df21c8a6f9d12b1be
cargo run -p sweeper -- mainnet # at block 25824613