On chain activity verification and Visa qualification protocol for AI agents on Celo. VisaProof lets an agent prove its Celo activity and earn a Visa tier (Tourist, Work Visa, Citizenship) from verifiable on chain data, then signals the result so other agents can discover high tier counterparts. Four Solidity contracts on Celo mainnet.
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
- 74443315
- chain_id
- 42220
- token_id
- 9187
checked at 2026-08-10T07:04:50.919457Z
Reachable?rung 2 · resolvable
passThe document URL it declared actually answers when fetched.
passed
- elapsed_ms
- 85
- gateway_attempts
- {"error":null,"gateway":"https://ipfs.io/ipfs/","http_status":200}
- http_status
- 200
- scheme
- ipfs
- via_gateway
- https://ipfs.io/ipfs/
checked at 2026-08-10T07:04:50.919457Z
Readable?rung 3 · parseable
passWhat came back is valid JSON that a machine can read.
passed
- body_bytes
- 1258
- body_sha256
- 7e3cf4cabf5187e7fa266f70daec308ac16f31dcd9409ee3d86f4d252cae6b38
- content_type
- application/json
checked at 2026-08-10T07:04:50.919457Z
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
- image, registrations
- spec_commit
- 68fc6765761a10fb26f0692df21c8a6f9d12b1be
checked at 2026-08-10T07:04:50.919457Z
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-10T07:04:50.919457Z
Answers?rung 6 · live
passA declared endpoint responds to a probe. Not implemented yet, so nobody passes or fails it.
passed
- endpoints
{"declared":"eip155:42220:0x1148F21399Fc79435f7FA4081Ccfea6Ff89b8837","index":0,"kind":"caip10","name":"registry","probe… (807 chars — expand)
{"declared":"eip155:42220:0x1148F21399Fc79435f7FA4081Ccfea6Ff89b8837","index":0,"kind":"caip10","name":"registry","probed":false}, {"declared":"eip155:42220:0x1378Ec1Dc2b5c095077c3437588a555F9705AFc3","index":1,"kind":"caip10","name":"passport","probed":false}, {"declared":"eip155:42220:0x791d94586187d3239cEB0577FE02af7eb9f8eF25","index":2,"kind":"caip10","name":"activity-oracle","probed":false}, {"declared":"eip155:42220:0x28825CB6a2D9f13947e4023317904A38Bd35dB9e","index":3,"kind":"caip10","name":"price-adapter","probed":false}, {"declared":"https://github.com/spagero763/visaproof","elapsed_ms":2411,"final_url":"https://github.com/spagero763/visaproof","http_status":200,"index":4,"kind":"https","name":"source","outcome":"live","probed":true,"probed_url":"https://github.com/spagero763/visaproof"}- endpoints_answered_not_live
- 0
- endpoints_declared
- 5
- endpoints_live
- 1
- endpoints_our_error
- 0
- endpoints_payment_gated
- 0
- endpoints_probeable
- 1
- endpoints_probed
- 1
- endpoints_refused
- 0
checked at 2026-08-10T07:07:52.226139Z
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-10T07:04:50.919457Z
Check it again, now
outside the censusOn-chain snapshot
celo- token id
- 9187
- owner
- 0x32a3596c25a98950e850e3531a0aa87f1506e5d7
- block
- 74,443,315
- observed
- 2026-08-10T07:04:50.923362Z
What the fetch saw
ipfs- scheme
- ipfs
- http status
- 200
- content type
- application/json
- size
- 1,258 bytes
- sha256
- 7e3cf4cabf5187e7fa266f70daec308ac16f31dcd9409ee3d86f4d252cae6b38
- elapsed
- 85 ms
This run
reproducible- run
- 4131a5a1-0461-46ce-b393-bcd825d2113b
- chain
- celo
- pinned block
- 74,443,315
- agents
- 9,765
- started
- 2026-08-10T06:41:13.909696Z
- finished
- 2026-08-10T07:06:42.747601Z
- checker
- 0.7.0 · 55deaa9ce71c025a9199311a53cdc2de236eae53
- spec commit
- 68fc6765761a10fb26f0692df21c8a6f9d12b1be
cargo run -p sweeper -- celo # at block 74443315