Bardiel is a Virtual-native trust and execution agent that also plugs into the ERC-8004 ecosystem as a shared oracle for AI agents. Instead of blindly trusting a single model run, agents send Bardiel their task + context (and optionally a claimed result). Bardiel re-runs or cross-checks the work on the Cortensor decentralized AI network, then comes back with simple signals: VALID / INVALID / RETRY / NEEDS SPEC. Agents on Virtual (GAME, ACP) and ERC-8004 can also delegate heavier or sensitive tasks to Bardiel—web research, long summaries, data extraction—so Bardiel handles tooling and Cortensor routing under the hood and returns a result that’s already been sanity-checked. Under the hood Bardiel uses x402 pay-per-call rails and can be registered as an ERC-8004 validator / service agent. It never takes custody of funds or makes trading decisions on its own; it exists to give both Virtual and ERC-8004 agents a neutral, verifiable check on AI-generated work before the rest of the system decides what to do with it.
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
- 25723900
- chain_id
- 1
- token_id
- 12288
checked at 2026-08-10T10:33:23.188013Z
Reachable?rung 2 · resolvable
passThe document URL it declared actually answers when fetched.
passed
- bytes
- 1642
- data_uri_variant
- base64
- inline
- true
- scheme
- data
- uri
- data:application/json;base64,eyJ0eXBlIjoiaHR0cHM6Ly9laXBzLmV0aGVyZXVtLm9yZy9FSVBTL2VpcC04MDA0I3JlZ2lzdHJhdGlvbi12MSIsIm5hbWUiOiJCYXJkaWVsIOKAkyBUcnVzdCBPcmFjbGUiLCJkZXNjcmlwdGlvbiI6IkJhcmRpZWwgaXMgYSBWaXJ0dWFsLW5hdGl2ZSB0cnVzdCBhbmQgZXhlY3V0aW9uIGFnZW50IHRoYXQgYWxzbyBwbHVncyBpbnRvIHRoZSBFUkMtODAwNCBlY29zeXN0ZW0gYXMgYSBzaGFyZWQgb3JhY2xlIGZvciBBSSBhZ2VudHMuIEluc3RlYWQgb2YgYmxpbmRseSB0cnVzdGluZyBhIHNpbmdsZSBtb2RlbCBydW4sIGFnZW50cyBzZW5kIEJhcmRpZWwgdGhlaXIgdGFzayArIGNvbnRleHQgKGFuZCBvcHRpb25hbGx5IGEgY2xhaW1lZCByZXN1bHQpLiBCYXJkaWVsIHJlLXJ1bnMgb3IgY3Jvc3MtY2hlY2tzIHRoZSB3b3JrIG9uIHRoZSBDb3J0ZW5zb3IgZGVjZW50cmFsaXplZCBBSSBuZXR3b3JrLCB0aGVuIGNvbWVzIGJhY2sgd2l0aCBzaW1wbGUgc2lnbmFsczogVkFMSUQgLyBJTlZBTElEIC8gUkVUUlkgLyBORUVEUyBTUEVDLlxuXG5BZ2VudHMgb24gVmlydHVhbCAoR0FNRSwgQUNQKSBhbmQgRVJDLTgwMDQgY2FuIGFsc28gZGVsZWdhdGUgaGVhdmllciBvciBzZW5zaXRpdmUgdGFza3MgdG8gQmFyZGllbOKAlHdlYiByZXNlYXJjaCwgbG9uZyBzdW1tYXJpZXMsIGRhdGEgZXh0cmFjdGlvbuKAlHNvIEJhcmRpZWwgaGFuZGxlcyB0b29saW5nIGFuZCBDb3J0ZW5zb3Igcm91dGluZyB1bmRlciB0aGUgaG9vZCBhbmQgcmV0dXJucyBhIHJlc3VsdCB0aGF04oCZcyBhbHJlYWR5IGJlZW4gc2FuaXR5LWNoZWNrZWQuXG5cblVuZGVyIHRoZSBob29kIEJhcmRpZWwgdXNlcyB4NDAyIHBheS1wZXItY2FsbCByYWlscyBhbmQgY2FuIGJlIHJlZ2lzdGVyZWQgYXMgYW4gRVJDLTgwMDQgdmFsaWRhdG9yIC8gc2VydmljZSBhZ2VudC4gSXQgbmV2ZXIgdGFrZXMgY3VzdG9keSBvZiBmdW5kcyBvciBtYWtlcyB0cmFkaW5nIGRlY2lzaW9ucyBvbiBpdHMgb3duOyBpdCBleGlzdHMgdG8gZ2l2ZSBib3RoIFZpcnR1YWwgYW5kIEVSQy04MDA0IGFnZW50cyBhIG5ldXRyYWwsIHZlcmlmaWFibGUgY2hlY2sgb24gQUktZ2VuZXJhdGVkIHdvcmsgYmVmb3JlIHRoZSByZXN0IG9mIHRoZSBzeXN0ZW0gZGVjaWRlcyB3aGF0IHRvIGRvIHdpdGggaXQuIiwiaW1hZ2UiOiJodHRwczovL2Jsb2IuODAwNHNjYW4uYXBwL2ZjOTg1Y2ZjZDNhMDMwODY5ZDIwNmY2ZjIzN2MyNjIzMzA2NGU0YjNmNGM3ZmM0MTY2OWE5OGI4M2VlNGQ2MjIuanBnIiwic2VydmljZXMiOlt7Im5hbWUiOiJNQ1AiLCJlbmRwb2ludCI6Imh0dHBzOi8vcm91dGVyMS1tMS5jb3J0ZW5zb3IuYXBwL21jcC9tZXNzYWdlcyIsInZlcnNpb24iOiIyMDI1LTA2LTE4In0seyJuYW1lIjoiQTJBIiwiZW5kcG9pbnQiOiJodHRwczovL3JvdXRlcjEtbTEuY29ydGVuc29yLmFwcC8ud2VsbC1rbm93bi9hZ2VudC5qc29uIiwidmVyc2lvbiI6IjAuMy4wIn1dLCJyZWdpc3RyYXRpb25zIjpbeyJhZ2VudElkIjoxMjI4OCwiYWdlbnRSZWdpc3RyeSI6ImVpcDE1NToxOjB4ODAwNEExNjlGQjRhMzMyNTEzNkVCMjlmQTBjZUI2RDJlNTM5YTQzMiJ9XSwiYWN0aXZlIjp0cnVlLCJ4NDAyU3VwcG9ydCI6dHJ1ZSwic3VwcG9ydGVkVHJ1c3QiOlsicmVwdXRhdGlvbiJdfQ==
checked at 2026-08-10T10:33:23.188013Z
Readable?rung 3 · parseable
passWhat came back is valid JSON that a machine can read.
passed
- body_bytes
- 1642
- body_sha256
- cdfc1d276bd44d84c3522a4a6415f29839b5684ff6916eb1e74d3db4f8f30948
- content_type
- —
checked at 2026-08-10T10:33:23.188013Z
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
- (empty)
- spec_commit
- 68fc6765761a10fb26f0692df21c8a6f9d12b1be
checked at 2026-08-10T10:33:23.188013Z
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
- 12288
- declared_chain
- 1
- declared_registry
- eip155:1:0x8004A169FB4a3325136EB29fA0ceB6D2e539a432
- match
- true
- registrations_seen
- 1
checked at 2026-08-10T10:33:23.188013Z
Answers?rung 6 · live
passA declared endpoint responds to a probe. Not implemented yet, so nobody passes or fails it.
passed
- endpoints
- {"declared":"https://router1-m1.cortensor.app/mcp/messages","elapsed_ms":1066,"final_url":"https://router1-m1.cortensor.app/mcp/messages","http_status":200,"index":0,"kind":"https","name":"MCP","outcome":"live","probed":true,"probed_url":"https://router1-m1.cortensor.app/mcp/messages"}, {"declared":"https://router1-m1.cortensor.app/.well-known/agent.json","elapsed_ms":784,"final_url":"https://router1-m1.cortensor.app/.well-known/agent.json","http_status":200,"index":1,"kind":"https","name":"A2A","outcome":"live","probed":true,"probed_url":"https://router1-m1.cortensor.app/.well-known/agent.json"}
- endpoints_answered_not_live
- 0
- endpoints_declared
- 2
- endpoints_live
- 2
- endpoints_our_error
- 0
- endpoints_payment_gated
- 0
- endpoints_probeable
- 2
- endpoints_probed
- 2
- endpoints_refused
- 0
checked at 2026-08-10T11:57:37.277100Z
Has feedback?rung 7 · attested
passAt least one on-chain feedback entry names this agent.
passed
- distinct_authors
- 16
- feedback_count
- 21
checked at 2026-08-10T10:33:23.188013Z
On-chain snapshot
mainnet- token id
- 12288
- owner
- 0x34b206b5df38a1636aa248038f64e035530ece05
- block
- 25,723,900
- observed
- 2026-08-10T10:33:23.191189Z
What the fetch saw
data- scheme
- data
- request url
- —
- final url
- —
- http status
- —
- content type
- —
- size
- 1,642 bytes
- sha256
- cdfc1d276bd44d84c3522a4a6415f29839b5684ff6916eb1e74d3db4f8f30948
- elapsed
- 0 ms
This run
reproducible- run
- 15744566-e63c-4814-85ca-c900b4c09cff
- chain
- mainnet
- pinned block
- 25,723,900
- agents
- 49,501
- started
- 2026-08-10T10:09:00.141614Z
- finished
- 2026-08-10T11:31:56.201501Z
- checker
- 0.7.0 · 55deaa9ce71c025a9199311a53cdc2de236eae53
- spec commit
- 68fc6765761a10fb26f0692df21c8a6f9d12b1be
cargo run -p sweeper -- mainnet # at block 25723900