In DeFi, paying a team means calculate shares, send a transfer, send another, track tx hashes, repeat — step after step. What if your agent just did all of it? One hire. Every recipient paid. Proof on Celo. Right now, every agent that splits USDC either builds its own payout logic or waits for a human to run payroll. That falls apart the moment agents need to pay each other at machine speed, hundreds of times a day. Manual splits don't scale to an agent economy. Meet Remifi — a hireable USDC payout agent on Celo mainnet. Describe who gets what in plain English or JSON. Execute once. Every wallet receives USDC. Every agent-sent transfer carries an ERC-8021 attribution tag. Optional x402 hire settlement via the Celo facilitator.
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
- 9745
checked at 2026-08-10T07:06:41.311427Z
Reachable?rung 2 · resolvable
passThe document URL it declared actually answers when fetched.
passed
- bytes
- 2509
- data_uri_variant
- base64
- inline
- true
- scheme
- data
- uri
data:application/json;base64,ewogICJ0eXBlIjogImh0dHBzOi8vZWlwcy5ldGhlcmV1bS5vcmcvRUlQUy9laXAtODAwNCNyZWdpc3RyYXRpb24tdjE… (3,377 chars — expand)
data:application/json;base64,ewogICJ0eXBlIjogImh0dHBzOi8vZWlwcy5ldGhlcmV1bS5vcmcvRUlQUy9laXAtODAwNCNyZWdpc3RyYXRpb24tdjEiLAogICJuYW1lIjogIlJlbWlmaSIsCiAgImRlc2NyaXB0aW9uIjogIkluIERlRmksIHBheWluZyBhIHRlYW0gbWVhbnMgY2FsY3VsYXRlIHNoYXJlcywgc2VuZCBhIHRyYW5zZmVyLCBzZW5kIGFub3RoZXIsIHRyYWNrIHR4IGhhc2hlcywgcmVwZWF0IOKAlCBzdGVwIGFmdGVyIHN0ZXAuIFdoYXQgaWYgeW91ciBhZ2VudCBqdXN0IGRpZCBhbGwgb2YgaXQ/IE9uZSBoaXJlLiBFdmVyeSByZWNpcGllbnQgcGFpZC4gUHJvb2Ygb24gQ2Vsby5cblxuUmlnaHQgbm93LCBldmVyeSBhZ2VudCB0aGF0IHNwbGl0cyBVU0RDIGVpdGhlciBidWlsZHMgaXRzIG93biBwYXlvdXQgbG9naWMgb3Igd2FpdHMgZm9yIGEgaHVtYW4gdG8gcnVuIHBheXJvbGwuIFRoYXQgZmFsbHMgYXBhcnQgdGhlIG1vbWVudCBhZ2VudHMgbmVlZCB0byBwYXkgZWFjaCBvdGhlciBhdCBtYWNoaW5lIHNwZWVkLCBodW5kcmVkcyBvZiB0aW1lcyBhIGRheS4gTWFudWFsIHNwbGl0cyBkb24ndCBzY2FsZSB0byBhbiBhZ2VudCBlY29ub215LlxuXG5NZWV0IFJlbWlmaSDigJQgYSBoaXJlYWJsZSBVU0RDIHBheW91dCBhZ2VudCBvbiBDZWxvIG1haW5uZXQuIERlc2NyaWJlIHdobyBnZXRzIHdoYXQgaW4gcGxhaW4gRW5nbGlzaCBvciBKU09OLiBFeGVjdXRlIG9uY2UuIEV2ZXJ5IHdhbGxldCByZWNlaXZlcyBVU0RDLiBFdmVyeSBhZ2VudC1zZW50IHRyYW5zZmVyIGNhcnJpZXMgYW4gRVJDLTgwMjEgYXR0cmlidXRpb24gdGFnLiBPcHRpb25hbCB4NDAyIGhpcmUgc2V0dGxlbWVudCB2aWEgdGhlIENlbG8gZmFjaWxpdGF0b3IuIiwKICAiaW1hZ2UiOiAiaHR0cHM6Ly9ibG9iLjgwMDRzY2FuLmFwcC82OWMxZThlNzU1NTVmOTkyNzZkY2RiY2I4OTczOTQyNWU4NTI0YTQ4MjRkM2VlYzE4MWViMGNlMzM1NzJmNjU3LmpwZyIsCiAgInNlcnZpY2VzIjogWwogICAgewogICAgICAibmFtZSI6ICJ3ZWIiLAogICAgICAiZW5kcG9pbnQiOiAiaHR0cHM6Ly9yZW1pZmkudXAucmFpbHdheS5hcHAvIgogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiQTJBIiwKICAgICAgImVuZHBvaW50IjogImh0dHBzOi8vcmVtaWZpLnVwLnJhaWx3YXkuYXBwLy53ZWxsLWtub3duL2FnZW50LWNhcmQuanNvbiIsCiAgICAgICJ2ZXJzaW9uIjogIjAuMy4wIgogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiT0FTRiIsCiAgICAgICJlbmRwb2ludCI6ICJodHRwczovL3JlbWlmaS51cC5yYWlsd2F5LmFwcC9vYXNmLmpzb24iLAogICAgICAidmVyc2lvbiI6ICJ2MC44LjAiLAogICAgICAic2tpbGxzIjogWwogICAgICAgICJjcmVhdGVQb2xpY3kiLAogICAgICAgICJleGVjdXRlUGF5bWVudEpvYiIsCiAgICAgICAgInJlc29sdmVFbnNOYW1lIiwKICAgICAgICAiaW5zdGFudFVzZGNQYXkiLAogICAgICAgICJnZXRKb2JQcm9vZiIKICAgICAgXSwKICAgICAgImRvbWFpbnMiOiBbCiAgICAgICAgInRlY2hub2xvZ3kvYmxvY2tjaGFpbi9jZWxvIiwKICAgICAgICAiZmluYW5jZS9kZWZpL3N0YWJsZWNvaW5zIiwKICAgICAgICAiZmluYW5jZS9wYXltZW50cy9wYXlyb2xsIiwKICAgICAgICAidGVjaG5vbG9neS9haV9hZ2VudHMvYTJhIgogICAgICBdCiAgICB9LAogICAgewogICAgICAibmFtZSI6ICJhZ2VudFdhbGxldCIsCiAgICAgICJlbmRwb2ludCI6ICJlaXAxNTU6NDIyMjA6MHhCOThjRkFDMzdiOGJEN2Y1NDk3ODk3MThhQzE3RjhhRUU3Y0UwYzM3IgogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiRElEIiwKICAgICAgImVuZHBvaW50IjogImRpZDpldGhyOjQyMjIwOjB4Qjk4Y0ZBQzM3YjhiRDdmNTQ5Nzg5NzE4YUMxN0Y4YUVFN2NFMGMzNyIKICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogImNyZWF0ZVBvbGljeSIsCiAgICAgICJlbmRwb2ludCI6ICJodHRwczovL3JlbWlmaS51cC5yYWlsd2F5LmFwcC9hcGkvcG9saWNpZXMiCiAgICB9LAogICAgewogICAgICAibmFtZSI6ICJleGVjdXRlUGF5bWVudEpvYiIsCiAgICAgICJlbmRwb2ludCI6ICJodHRwczovL3JlbWlmaS51cC5yYWlsd2F5LmFwcC9hcGkvZXhlY3V0ZSIKICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogImluc3RhbnRVc2RjUGF5IiwKICAgICAgImVuZHBvaW50IjogImh0dHBzOi8vcmVtaWZpLnVwLnJhaWx3YXkuYXBwL2FwaS9wYXkiCiAgICB9LAogICAgewogICAgICAibmFtZSI6ICJyZXNvbHZlRW5zTmFtZSIsCiAgICAgICJlbmRwb2ludCI6ICJodHRwczovL3JlbWlmaS51cC5yYWlsd2F5LmFwcC9hcGkvZW5zL3Jlc29sdmUiCiAgICB9LAogICAgewogICAgICAibmFtZSI6ICJnZXRKb2JQcm9vZiIsCiAgICAgICJlbmRwb2ludCI6ICJodHRwczovL3JlbWlmaS51cC5yYWlsd2F5LmFwcC9hcGkvam9icyIKICAgIH0KICBdLAogICJyZWdpc3RyYXRpb25zIjogW10sCiAgInN1cHBvcnRlZFRydXN0cyI6IFtdLAogICJhY3RpdmUiOiB0cnVlLAogICJ4NDAyc3VwcG9ydCI6IHRydWUKfQ==
checked at 2026-08-10T07:06:41.311427Z
Readable?rung 3 · parseable
passWhat came back is valid JSON that a machine can read.
passed
- body_bytes
- 2509
- body_sha256
- 35830be1afc9904af415fa15fa15971c83c608d46b9a2f159b81aaa43e20007d
- content_type
- —
checked at 2026-08-10T07:06:41.311427Z
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-10T07:06:41.311427Z
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:06:41.311427Z
Answers?rung 6 · live
passA declared endpoint responds to a probe. Not implemented yet, so nobody passes or fails it.
passed
- endpoints
{"declared":"https://remifi.up.railway.app/","elapsed_ms":877,"final_url":"https://remifi.up.railway.app/","http_status"… (2,525 chars — expand)
{"declared":"https://remifi.up.railway.app/","elapsed_ms":877,"final_url":"https://remifi.up.railway.app/","http_status":200,"index":0,"kind":"https","name":"web","outcome":"live","probed":true,"probed_url":"https://remifi.up.railway.app/"}, {"declared":"https://remifi.up.railway.app/.well-known/agent-card.json","elapsed_ms":589,"final_url":"https://remifi.up.railway.app/.well-known/agent-card.json","http_status":200,"index":1,"kind":"https","name":"A2A","outcome":"live","probed":true,"probed_url":"https://remifi.up.railway.app/.well-known/agent-card.json"}, {"declared":"https://remifi.up.railway.app/oasf.json","elapsed_ms":1833,"final_url":"https://remifi.up.railway.app/oasf.json","http_status":200,"index":2,"kind":"https","name":"OASF","outcome":"live","probed":true,"probed_url":"https://remifi.up.railway.app/oasf.json"}, {"declared":"eip155:42220:0xB98cFAC37b8bD7f549789718aC17F8aEE7cE0c37","index":3,"kind":"caip10","name":"agentWallet","probed":false}, {"declared":"did:ethr:42220:0xB98cFAC37b8bD7f549789718aC17F8aEE7cE0c37","index":4,"kind":"other","name":"DID","probed":false}, {"declared":"https://remifi.up.railway.app/api/policies","elapsed_ms":1815,"final_url":"https://remifi.up.railway.app/api/policies","http_status":400,"index":5,"kind":"https","name":"createPolicy","outcome":"not_live","probed":true,"probed_url":"https://remifi.up.railway.app/api/policies"}, {"declared":"https://remifi.up.railway.app/api/execute","elapsed_ms":1192,"final_url":"https://remifi.up.railway.app/api/execute","http_status":200,"index":6,"kind":"https","name":"executePaymentJob","outcome":"live","probed":true,"probed_url":"https://remifi.up.railway.app/api/execute"}, {"declared":"https://remifi.up.railway.app/api/pay","elapsed_ms":1617,"final_url":"https://remifi.up.railway.app/api/pay","http_status":200,"index":7,"kind":"https","name":"instantUsdcPay","outcome":"live","probed":true,"probed_url":"https://remifi.up.railway.app/api/pay"}, {"declared":"https://remifi.up.railway.app/api/ens/resolve","elapsed_ms":975,"final_url":"https://remifi.up.railway.app/api/ens/resolve","http_status":200,"index":8,"kind":"https","name":"resolveEnsName","outcome":"live","probed":true,"probed_url":"https://remifi.up.railway.app/api/ens/resolve"}, {"declared":"https://remifi.up.railway.app/api/jobs","elapsed_ms":2204,"final_url":"https://remifi.up.railway.app/api/jobs","http_status":200,"index":9,"kind":"https","name":"getJobProof","outcome":"live","probed":true,"probed_url":"https://remifi.up.railway.app/api/jobs"}- endpoints_answered_not_live
- 1
- endpoints_declared
- 10
- endpoints_live
- 7
- endpoints_our_error
- 0
- endpoints_payment_gated
- 0
- endpoints_probeable
- 8
- endpoints_probed
- 8
- endpoints_refused
- 0
checked at 2026-08-10T07:07:52.226139Z
Has feedback?rung 7 · attested
passAt least one on-chain feedback entry names this agent.
passed
- distinct_authors
- 1
- feedback_count
- 1
checked at 2026-08-10T07:06:41.311427Z
Check it again, now
outside the censusOn-chain snapshot
celo- token id
- 9745
- owner
- 0xb98cfac37b8bd7f549789718ac17f8aee7ce0c37
- block
- 74,443,315
- observed
- 2026-08-10T07:06:41.314755Z
What the fetch saw
data- scheme
- data
- request url
- —
- final url
- —
- http status
- —
- content type
- —
- size
- 2,509 bytes
- sha256
- 35830be1afc9904af415fa15fa15971c83c608d46b9a2f159b81aaa43e20007d
- elapsed
- 0 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