Autonomous FX arbitrage agent on Celo. Monitors Mento and Uniswap V3 rates versus forex references, executes swaps when policy and spread checks pass, and exposes MCP/A2A/x402 interfaces for integrations.
The seven checks, with their evidence
6 recordedRegistered?rung 1 · registered
passThe agent exists in the on-chain registry, with an owner and a document URL.
passed
- block_number
- 73448013
- chain_id
- 42220
- token_id
- 10
- tx_hash
- —
checked at 2026-07-29T18:12:59.093007Z
Reachable?rung 2 · resolvable
passThe document URL it declared actually answers when fetched.
passed
- bytes
- 5034
- data_uri_variant
- base64
- inline
- true
- scheme
- data
- uri
- data:application/json;base64,eyJ0eXBlIjoiaHR0cHM6Ly9laXBzLmV0aGVyZXVtLm9yZy9FSVBTL2VpcC04MDA0I3JlZ2lzdHJhdGlvbi12MSIsIm5hbWUiOiJDZWxvRlgiLCJkZXNjcmlwdGlvbiI6IkF1dG9ub21vdXMgRlggYXJiaXRyYWdlIGFnZW50IG9uIENlbG8uIE1vbml0b3JzIE1lbnRvIGFuZCBVbmlzd2FwIFYzIHJhdGVzIHZlcnN1cyBmb3JleCByZWZlcmVuY2VzLCBleGVjdXRlcyBzd2FwcyB3aGVuIHBvbGljeSBhbmQgc3ByZWFkIGNoZWNrcyBwYXNzLCBhbmQgZXhwb3NlcyBNQ1AvQTJBL3g0MDIgaW50ZXJmYWNlcyBmb3IgaW50ZWdyYXRpb25zLiIsImltYWdlIjoiaHR0cHM6Ly9jZWxvZngudmVyY2VsLmFwcC9jZWxvZngtbG9nby5wbmciLCJhY3RpdmUiOnRydWUsInVwZGF0ZWRBdCI6IjIwMjYtMDItMTVUMTc6MDY6MDMuNzcwWiIsImFnZW50X3VybCI6Imh0dHBzOi8vY2Vsb2Z4LnZlcmNlbC5hcHAiLCJhZ2VudF90eXBlIjoiYXV0b25vbW91c19hZ2VudCIsIm93bmVyX3dhbGxldCI6IjB4NjY1MkFjRGM2MjNiN0NDZDUyRTExNTE2MWQ4NGI5NDliQWYzYTMwMyIsIm1jcF9zZXJ2ZXIiOiJodHRwczovL2NlbG9meC52ZXJjZWwuYXBwL2FwaS9tY3AiLCJhMmFfZW5kcG9pbnQiOiJodHRwczovL2NlbG9meC52ZXJjZWwuYXBwLy53ZWxsLWtub3duL2FnZW50LWNhcmQuanNvbiIsIng0MDJTdXBwb3J0Ijp0cnVlLCJ4NDAyX3N1cHBvcnRlZCI6dHJ1ZSwidGFncyI6WyJmeCIsImFyYml0cmFnZSIsImNlbG8iLCJzdGFibGVjb2lucyIsImRlZmkiXSwiY2F0ZWdvcmllcyI6WyJmaW5hbmNlIiwidHJhZGluZyIsInBheW1lbnRzIl0sImNhcGFiaWxpdGllcyI6WyJtY3AiLCJhMmEiLCJ4NDAyIiwib25fY2hhaW5fZXhlY3V0aW9uIiwicG9saWN5X2NoZWNrZWRfdHJhZGluZyIsImNyb3NzX3ZlbnVlX3JhdGVfY29tcGFyaXNvbiJdLCJ4NDAyIjp7InN1cHBvcnRlZCI6dHJ1ZSwiZW5kcG9pbnQiOiJodHRwczovL2NlbG9meC52ZXJjZWwuYXBwL2FwaS9wcmVtaXVtLXNpZ25hbHMiLCJwcmljZSI6IiQwLjEwIiwiY3VycmVuY3kiOiJjVVNEIiwiY2hhaW4iOiJjZWxvIiwic3RhbmRhcmQiOiJFSVAtNzEyIn0sInBheW1lbnQiOnsicHJvdG9jb2wiOiJ4NDAyIiwic3VwcG9ydGVkIjp0cnVlLCJlbmRwb2ludCI6Imh0dHBzOi8vY2Vsb2Z4LnZlcmNlbC5hcHAvYXBpL3ByZW1pdW0tc2lnbmFscyIsImFtb3VudCI6IjAuMTAiLCJjdXJyZW5jeSI6ImNVU0QifSwiZW5kcG9pbnRzIjp7IndlYiI6Imh0dHBzOi8vY2Vsb2Z4LnZlcmNlbC5hcHAiLCJtY3AiOiJodHRwczovL2NlbG9meC52ZXJjZWwuYXBwL2FwaS9tY3AiLCJhMmEiOiJodHRwczovL2NlbG9meC52ZXJjZWwuYXBwLy53ZWxsLWtub3duL2FnZW50LWNhcmQuanNvbiIsIm1jcF9tYW5pZmVzdCI6Imh0dHBzOi8vY2Vsb2Z4LnZlcmNlbC5hcHAvLndlbGwta25vd24vbWNwLmpzb24iLCJhZ2VudF9kaXNjb3ZlcnkiOiJodHRwczovL2NlbG9meC52ZXJjZWwuYXBwLy53ZWxsLWtub3duL2FnZW50Lmpzb24iLCJoZWFsdGgiOiJodHRwczovL2NlbG9meC52ZXJjZWwuYXBwL2FwaS9oZWFsdGgifSwic2VydmljZXMiOlt7Im5hbWUiOiJ3ZWIiLCJlbmRwb2ludCI6Imh0dHBzOi8vY2Vsb2Z4LnZlcmNlbC5hcHAifSx7Im5hbWUiOiJkaXNjb3ZlcnkiLCJlbmRwb2ludCI6Imh0dHBzOi8vY2Vsb2Z4LnZlcmNlbC5hcHAvLndlbGwta25vd24vYWdlbnQuanNvbiJ9LHsibmFtZSI6Im1jcCIsImVuZHBvaW50IjoiaHR0cHM6Ly9jZWxvZngudmVyY2VsLmFwcC9hcGkvbWNwIiwidmVyc2lvbiI6IjIwMjUtMDYtMTgiLCJwcm90b2NvbFZlcnNpb24iOiIyMDI1LTA2LTE4Iiwic2VydmVySW5mbyI6eyJuYW1lIjoiQ2Vsb0ZYIE1DUCBTZXJ2ZXIiLCJ2ZXJzaW9uIjoiMS4wLjAifSwidG9vbHMiOlt7Im5hbWUiOiJnZXRfbWVudG9fcmF0ZXMiLCJkZXNjcmlwdGlvbiI6Ik1lbnRvIHZlcnN1cyBmb3JleCBzcHJlYWQgYW5hbHlzaXMuIn0seyJuYW1lIjoiZ2V0X2Nyb3NzX3ZlbnVlX3JhdGVzIiwiZGVzY3JpcHRpb24iOiJDcm9zcy12ZW51ZSBNZW50byBhbmQgVW5pc3dhcCBWMyBjb21wYXJpc29uLiJ9LHsibmFtZSI6ImdldF9zaWduYWxzIiwiZGVzY3JpcHRpb24iOiJMYXRlc3QgQUktZ2VuZXJhdGVkIG1hcmtldCBzaWduYWxzLiJ9LHsibmFtZSI6ImdldF90cmFkZXMiLCJkZXNjcmlwdGlvbiI6IkV4ZWN1dGVkIG9uLWNoYWluIHRyYWRlcyBhbmQgcmVmZXJlbmNlcy4ifSx7Im5hbWUiOiJnZXRfcGVyZm9ybWFuY2UiLCJkZXNjcmlwdGlvbiI6IlRyYWNrIHJlY29yZCBhbmQgYWdncmVnYXRlIHN0YXRzLiJ9LHsibmFtZSI6ImdldF9hZ2VudF9pbmZvIiwiZGVzY3JpcHRpb24iOiJBZ2VudCBpZGVudGl0eSBhbmQgcHJvdG9jb2wgZW5kcG9pbnRzLiJ9LHsibmFtZSI6ImdldF9hZ2VudF9wb2xpY3kiLCJkZXNjcmlwdGlvbiI6IlN0YW5kaW5nIGludGVudCBhbmQgcnVudGltZSBwb2xpY3kuIn0seyJuYW1lIjoiZ2V0X2RlY2lzaW9uX2xvZyIsImRlc2NyaXB0aW9uIjoiSGFzaGVkIGRlY2lzaW9uIGF1ZGl0IHRyYWlsLiJ9LHsibmFtZSI6ImdldF9kZWZpX3lpZWxkcyIsImRlc2NyaXB0aW9uIjoiQ2VsbyBzdGFibGVjb2luIERlRmkgeWllbGQgc25hcHNob3RzLiJ9XSwicHJvbXB0cyI6W3sibmFtZSI6ImZ4X2FuYWx5c2lzIiwiZGVzY3JpcHRpb24iOiJBbmFseXplIGN1cnJlbnQgRlggc3ByZWFkIGNvbmRpdGlvbnMuIn0seyJuYW1lIjoicG9ydGZvbGlvX3JlYmFsYW5jZSIsImRlc2NyaXB0aW9uIjoiRXZhbHVhdGUgcmViYWxhbmNlIG9wdGlvbnMgYW5kIHRpbWluZy4ifV0sInJlc291cmNlcyI6W3sidXJpIjoiY2Vsb2Z4Oi8vcmF0ZXMiLCJuYW1lIjoiTGl2ZSBGWCBSYXRlcyJ9LHsidXJpIjoiY2Vsb2Z4Oi8vdHJhZGVzIiwibmFtZSI6IlRyYWRlIEhpc3RvcnkifV0sInRvb2xzX2NvdW50Ijo5LCJwcm9tcHRzX2NvdW50IjoyLCJyZXNvdXJjZXNfY291bnQiOjIsIm1jcFRvb2xzIjpbeyJuYW1lIjoiZ2V0X21lbnRvX3JhdGVzIiwiZGVzY3JpcHRpb24iOiJNZW50byB2ZXJzdXMgZm9yZXggc3ByZWFkIGFuYWx5c2lzLiJ9LHsibmFtZSI6ImdldF9jcm9zc192ZW51ZV9yYXRlcyIsImRlc2NyaXB0aW9uIjoiQ3Jvc3MtdmVudWUgTWVudG8gYW5kIFVuaXN3YXAgVjMgY29tcGFyaXNvbi4ifSx7Im5hbWUiOiJnZXRfc2lnbmFscyIsImRlc2NyaXB0aW9uIjoiTGF0ZXN0IEFJLWdlbmVyYXRlZCBtYXJrZXQgc2lnbmFscy4ifSx7Im5hbWUiOiJnZXRfdHJhZGVzIiwiZGVzY3JpcHRpb24iOiJFeGVjdXRlZCBvbi1jaGFpbiB0cmFkZXMgYW5kIHJlZmVyZW5jZXMuIn0seyJuYW1lIjoiZ2V0X3BlcmZvcm1hbmNlIiwiZGVzY3JpcHRpb24iOiJUcmFjayByZWNvcmQgYW5kIGFnZ3JlZ2F0ZSBzdGF0cy4ifSx7Im5hbWUiOiJnZXRfYWdlbnRfaW5mbyIsImRlc2NyaXB0aW9uIjoiQWdlbnQgaWRlbnRpdHkgYW5kIHByb3RvY29sIGVuZHBvaW50cy4ifSx7Im5hbWUiOiJnZXRfYWdlbnRfcG9saWN5IiwiZGVzY3JpcHRpb24iOiJTdGFuZGluZyBpbnRlbnQgYW5kIHJ1bnRpbWUgcG9saWN5LiJ9LHsibmFtZSI6ImdldF9kZWNpc2lvbl9sb2ciLCJkZXNjcmlwdGlvbiI6Ikhhc2hlZCBkZWNpc2lvbiBhdWRpdCB0cmFpbC4ifSx7Im5hbWUiOiJnZXRfZGVmaV95aWVsZHMiLCJkZXNjcmlwdGlvbiI6IkNlbG8gc3RhYmxlY29pbiBEZUZpIHlpZWxkIHNuYXBzaG90cy4ifV19LHsibmFtZSI6ImEyYSIsImVuZHBvaW50IjoiaHR0cHM6Ly9jZWxvZngudmVyY2VsLmFwcC8ud2VsbC1rbm93bi9hZ2VudC1jYXJkLmpzb24iLCJ2ZXJzaW9uIjoiMC4zLjAiLCJza2lsbHMiOlt7ImlkIjoiZnhfcmF0ZV9hbmFseXNpcyIsIm5hbWUiOiJGWCBSYXRlIEFuYWx5c2lzIn0seyJpZCI6ImV4ZWN1dGVfc3dhcCIsIm5hbWUiOiJFeGVjdXRlIE1lbnRvIFN3YXAifSx7ImlkIjoicG9ydGZvbGlvX3N0YXR1cyIsIm5hbWUiOiJQb3J0Zm9saW8gU3RhdHVzIn0seyJpZCI6InBlcmZvcm1hbmNlX3RyYWNraW5nIiwibmFtZSI6IlBlcmZvcm1hbmNlIFRyYWNraW5nIn1dLCJhMmFTa2lsbHMiOlt7ImlkIjoiZnhfcmF0ZV9hbmFseXNpcyIsIm5hbWUiOiJGWCBSYXRlIEFuYWx5c2lzIn0seyJpZCI6ImV4ZWN1dGVfc3dhcCIsIm5hbWUiOiJFeGVjdXRlIE1lbnRvIFN3YXAifSx7ImlkIjoicG9ydGZvbGlvX3N0YXR1cyIsIm5hbWUiOiJQb3J0Zm9saW8gU3RhdHVzIn0seyJpZCI6InBlcmZvcm1hbmNlX3RyYWNraW5nIiwibmFtZSI6IlBlcmZvcm1hbmNlIFRyYWNraW5nIn1dfSx7Im5hbWUiOiJ4NDAyIiwiZW5kcG9pbnQiOiJodHRwczovL2NlbG9meC52ZXJjZWwuYXBwL2FwaS9wcmVtaXVtLXNpZ25hbHMiLCJ2ZXJzaW9uIjoiMS4wLjAiLCJzdXBwb3J0ZWQiOnRydWUsIng0MDJfc3VwcG9ydGVkIjp0cnVlLCJwcmljZSI6IiQwLjEwIiwiY3VycmVuY3kiOiJjVVNEIiwiY2hhaW4iOiJjZWxvIiwic3RhbmRhcmQiOiJFSVAtNzEyIn0seyJuYW1lIjoidGVlIiwiZW5kcG9pbnQiOiJodHRwczovL2NlbG9meC52ZXJjZWwuYXBwL2FwaS90ZWUvYXR0ZXN0YXRpb24iLCJ2ZXJzaW9uIjoiZHN0YWNrLWRldi0wLjUuNiIsImhhcmR3YXJlIjoiSW50ZWwgVERYIiwicHJvdmlkZXIiOiJQaGFsYSBDbG91ZCJ9LHsibmFtZSI6Im9hc2YiLCJlbmRwb2ludCI6Imh0dHBzOi8vY2Vsb2Z4LnZlcmNlbC5hcHAvLndlbGwta25vd24vb2FzZi5qc29uIiwidmVyc2lvbiI6IjAuOC4wIiwic2tpbGxzIjpbImFuYWx5dGljYWxfc2tpbGxzIiwidG9vbF9pbnRlcmFjdGlvbiIsImFkdmFuY2VkX3JlYXNvbmluZ19wbGFubmluZyJdLCJkb21haW5zIjpbImZpbmFuY2VfYW5kX2J1c2luZXNzIl19XSwiaGVhbHRoIjp7ImVuZHBvaW50IjoiaHR0cHM6Ly9jZWxvZngudmVyY2VsLmFwcC9hcGkvaGVhbHRoIiwiaW50ZXJ2YWwiOjYwfSwicmVnaXN0cmF0aW9ucyI6W3siYWdlbnRJZCI6MTAsImFnZW50UmVnaXN0cnkiOiJlaXAxNTU6NDIyMjA6MHg4MDA0QTE2OUZCNGEzMzI1MTM2RUIyOWZBMGNlQjZEMmU1MzlhNDMyIn1dLCJzdXBwb3J0ZWRUcnVzdCI6WyJyZXB1dGF0aW9uIiwidGVlLWF0dGVzdGF0aW9uIiwiY3J5cHRvLWVjb25vbWljIl19
checked at 2026-07-29T18:12:59.093007Z
Readable?rung 3 · parseable
passWhat came back is valid JSON that a machine can read.
passed
- body_bytes
- 5034
- body_sha256
- 0a1c482a31099288d86691bf6e15536d4f054e4bf90a7a8fb4136b692dfbd6b7
- content_type
- —
checked at 2026-07-29T18:12:59.093007Z
Follows the spec?rung 4 · conformant
passThe document meets what ERC-8004 requires of it.
passed
- both_fields_present
- true
- 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-07-29T18:12:59.093007Z
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
- 10
- declared_chain
- 42220
- declared_registry
- eip155:42220:0x8004A169FB4a3325136EB29fA0ceB6D2e539a432
- match
- true
- registrations_seen
- 1
checked at 2026-07-29T18:12:59.093007Z
Answers?rung 6 · —
not checkedA declared endpoint responds to a probe. Not implemented yet, so nobody passes or fails it.
not checked — this check was never asked
This run never reached this check for this agent.
Has feedback?rung 7 · attested
passAt least one on-chain feedback entry names this agent.
passed
- distinct_authors
- 31
- feedback_count
- 44
checked at 2026-07-29T18:12:59.093007Z
On-chain snapshot
celo- token id
- 10
- owner
- 0x6652acdc623b7ccd52e115161d84b949baf3a303
- block
- 73,448,013
- observed
- 2026-07-29T18:12:59.370583Z
What the fetch saw
data- scheme
- data
- request url
- —
- final url
- —
- http status
- —
- content type
- —
- size
- 5,034 bytes
- sha256
- 0a1c482a31099288d86691bf6e15536d4f054e4bf90a7a8fb4136b692dfbd6b7
- elapsed
- 0 ms
This run
reproducible- run
- 7833fc49-a5b7-477b-99ce-946f650f0064
- chain
- celo
- pinned block
- 73,448,013
- agents
- 9,747
- started
- 2026-07-29T18:12:51.816459Z
- finished
- 2026-07-29T18:44:19.719309Z
- checker
- 0.5.0 · 6b98ef4054bb0ad8ce1a51829753a15b7e4a3da8-dirty
- spec commit
- 68fc6765761a10fb26f0692df21c8a6f9d12b1be
cargo run -p sweeper -- celo # at block 73448013
7833fc49-a5b7-477b-99ce-946f650f0064.tar.zst4.1 MB|sha256|all runs