A validity layer for ERC-8004 reputation on Celo. Provenance verifies whether a feedback record's declared evidence file and declared payment hold up — the file fetched and hashed, the transaction read from the chain it names — and publishes the verdict as an on-chain attestation, two dimensions per record. It scores nothing and ranks nothing: it is the input other scorers, marketplaces and routers read to weight feedback by something harder than assertion. Measured on 2026-08-31 across 27,538 registry records: 111 payment claims, of which 0 were verified and attributed to their declared parties and 93 name transactions that do not exist on the chain they name. 10,486 verdicts are on chain under two contiguous coverage claims that publish what the indexer observed beside what the attester wrote, so the attester's own silence is checkable.
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
- 79282391
- chain_id
- 42220
- token_id
- 9786
checked at 2026-10-05T07:20:57.485750Z
Reachable?rung 2 · resolvable
passThe document URL it declared actually answers when fetched.
passed
- elapsed_ms
- 256
- http_status
- 200
- scheme
- https
checked at 2026-10-05T07:20:57.485750Z
Readable?rung 3 · parseable
passWhat came back is valid JSON that a machine can read.
passed
- body_bytes
- 1696
- body_sha256
- 805c2a54ba88e0c75d1aff6d8e68c32c286cea2ae6a63bbd9c782dba52363da3
- content_type
- text/plain; charset=utf-8
checked at 2026-10-05T07:20:57.485750Z
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
- 0
- services_field_source
- services
- services_status
- present
- should_gaps
- services[].version, registrations
- spec_commit
- 68fc6765761a10fb26f0692df21c8a6f9d12b1be
checked at 2026-10-05T07:20:57.485750Z
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-10-05T07:20:57.485750Z
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/BacBacta/provenance-attestations","elapsed_ms":1436,"final_url":"https://github.com/BacB… (1,129 chars — expand)
{"declared":"https://github.com/BacBacta/provenance-attestations","elapsed_ms":1436,"final_url":"https://github.com/BacBacta/provenance-attestations","http_status":200,"index":0,"kind":"https","name":"web","outcome":"live","probed":true,"probed_url":"https://github.com/BacBacta/provenance-attestations"}, {"declared":"eip155:42220:0x86931Ae74F5cE9AA8bf818808e47102516CE78a7","index":1,"kind":"caip10","name":"attestation-contract","probed":false}, {"declared":"https://github.com/BacBacta/celo-agent-feedback-audit","elapsed_ms":1248,"final_url":"https://github.com/BacBacta/celo-agent-feedback-audit","http_status":200,"index":2,"kind":"https","name":"audit-methodology","outcome":"live","probed":true,"probed_url":"https://github.com/BacBacta/celo-agent-feedback-audit"}, {"declared":"https://github.com/BacBacta/provenance-attestations#read-it-back","elapsed_ms":902,"final_url":"https://github.com/BacBacta/provenance-attestations#read-it-back","http_status":200,"index":3,"kind":"https","name":"consumer-reader","outcome":"live","probed":true,"probed_url":"https://github.com/BacBacta/provenance-attestations#read-it-back"}- endpoints_answered_not_live
- 0
- endpoints_declared
- 4
- endpoints_live
- 3
- endpoints_our_error
- 0
- endpoints_payment_gated
- 0
- endpoints_probeable
- 3
- endpoints_probed
- 3
- endpoints_refused
- 0
checked at 2026-10-05T07:31:54.600744Z
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-05T07:20:57.485750Z
Check it again, now
outside the censusOn-chain snapshot
celo- token id
- 9786
- owner
- 0xc2dc6b2853a8deae5c0a6432b77f226d67b2972a
- block
- 79,282,391
- observed
- 2026-10-05T07:20:57.488616Z
What the fetch saw
https- scheme
- https
- http status
- 200
- content type
- text/plain; charset=utf-8
- size
- 1,696 bytes
- sha256
- 805c2a54ba88e0c75d1aff6d8e68c32c286cea2ae6a63bbd9c782dba52363da3
- elapsed
- 256 ms
This run
reproducible- run
- 51518bd2-6305-4b27-a769-cf957aba00f4
- chain
- celo
- pinned block
- 79,282,391
- agents
- 9,878
- started
- 2026-10-05T06:52:29.184815Z
- finished
- 2026-10-05T07:30:46.088420Z
- checker
- 0.7.0 · 10238dd9af44dfa032e6578390569a413a6bb393
- spec commit
- 68fc6765761a10fb26f0692df21c8a6f9d12b1be
cargo run -p sweeper -- celo # at block 79282391