Open-source HTTP 402 payment gateway that lets any API charge per request in USDC on Celo mainnet. An agent calls a protected route, gets a 402 carrying x402 v2 requirements in the PAYMENT-REQUIRED header, signs an EIP-3009 transferWithAuthorization off-chain, and retries — settled via api.x402.celo.org. The paying agent needs no account, no API key and no native CELO, because the facilitator broadcasts the transfer. Every settlement lands in a SQLite ledger with exact BigInt accounting and a live dashboard linking to celoscan. Ships an EIP-3009 preflight that refuses to boot against an asset that cannot settle, nonce replay protection that rejects a replayed authorization before it burns a facilitator credit, and a margin guard that warns when the price cannot cover the settlement fee. MIT. Source: https://github.com/mrnetwork0001/Kippa
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
- 9758
checked at 2026-10-05T07:18:52.070864Z
Reachable?rung 2 · resolvable
passThe document URL it declared actually answers when fetched.
passed
- bytes
- 1128
- data_uri_variant
- base64
- inline
- true
- scheme
- data
- uri
data:application/json;base64,eyJ0eXBlIjoiaHR0cHM6Ly9laXBzLmV0aGVyZXVtLm9yZy9FSVBTL2VpcC04MDA0I3JlZ2lzdHJhdGlvbi12MSIsIm5… (1,533 chars — expand)
data:application/json;base64,eyJ0eXBlIjoiaHR0cHM6Ly9laXBzLmV0aGVyZXVtLm9yZy9FSVBTL2VpcC04MDA0I3JlZ2lzdHJhdGlvbi12MSIsIm5hbWUiOiJLaXBwYSIsImRlc2NyaXB0aW9uIjoiT3Blbi1zb3VyY2UgSFRUUCA0MDIgcGF5bWVudCBnYXRld2F5IHRoYXQgbGV0cyBhbnkgQVBJIGNoYXJnZSBwZXIgcmVxdWVzdCBpbiBVU0RDIG9uIENlbG8gbWFpbm5ldC4gQW4gYWdlbnQgY2FsbHMgYSBwcm90ZWN0ZWQgcm91dGUsIGdldHMgYSA0MDIgY2FycnlpbmcgeDQwMiB2MiByZXF1aXJlbWVudHMgaW4gdGhlIFBBWU1FTlQtUkVRVUlSRUQgaGVhZGVyLCBzaWducyBhbiBFSVAtMzAwOSB0cmFuc2ZlcldpdGhBdXRob3JpemF0aW9uIG9mZi1jaGFpbiwgYW5kIHJldHJpZXMg4oCUIHNldHRsZWQgdmlhIGFwaS54NDAyLmNlbG8ub3JnLiBUaGUgcGF5aW5nIGFnZW50IG5lZWRzIG5vIGFjY291bnQsIG5vIEFQSSBrZXkgYW5kIG5vIG5hdGl2ZSBDRUxPLCBiZWNhdXNlIHRoZSBmYWNpbGl0YXRvciBicm9hZGNhc3RzIHRoZSB0cmFuc2Zlci4gRXZlcnkgc2V0dGxlbWVudCBsYW5kcyBpbiBhIFNRTGl0ZSBsZWRnZXIgd2l0aCBleGFjdCBCaWdJbnQgYWNjb3VudGluZyBhbmQgYSBsaXZlIGRhc2hib2FyZCBsaW5raW5nIHRvIGNlbG9zY2FuLiBTaGlwcyBhbiBFSVAtMzAwOSBwcmVmbGlnaHQgdGhhdCByZWZ1c2VzIHRvIGJvb3QgYWdhaW5zdCBhbiBhc3NldCB0aGF0IGNhbm5vdCBzZXR0bGUsIG5vbmNlIHJlcGxheSBwcm90ZWN0aW9uIHRoYXQgcmVqZWN0cyBhIHJlcGxheWVkIGF1dGhvcml6YXRpb24gYmVmb3JlIGl0IGJ1cm5zIGEgZmFjaWxpdGF0b3IgY3JlZGl0LCBhbmQgYSBtYXJnaW4gZ3VhcmQgdGhhdCB3YXJucyB3aGVuIHRoZSBwcmljZSBjYW5ub3QgY292ZXIgdGhlIHNldHRsZW1lbnQgZmVlLiBNSVQuIFNvdXJjZTogaHR0cHM6Ly9naXRodWIuY29tL21ybmV0d29yazAwMDEvS2lwcGEiLCJpbWFnZSI6IiIsInNlcnZpY2VzIjpbeyJuYW1lIjoic291cmNlIiwiZW5kcG9pbnQiOiJodHRwczovL2dpdGh1Yi5jb20vbXJuZXR3b3JrMDAwMS9LaXBwYSJ9XSwicmVnaXN0cmF0aW9ucyI6W10sInN1cHBvcnRlZFRydXN0cyI6WyJyZXB1dGF0aW9uIl0sImFjdGl2ZSI6dHJ1ZSwieDQwMnN1cHBvcnQiOnRydWV9
checked at 2026-10-05T07:18:52.070864Z
Readable?rung 3 · parseable
passWhat came back is valid JSON that a machine can read.
passed
- body_bytes
- 1128
- body_sha256
- d708c9e7db6586de31b2f11514ea4e6589d8ab21bed621b425ef10f289aa9bac
- content_type
- —
checked at 2026-10-05T07:18:52.070864Z
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-10-05T07:18:52.070864Z
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:18:52.070864Z
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/mrnetwork0001/Kippa","elapsed_ms":2277,"final_url":"https://github.com/mrnetwork0001/Kip… (268 chars — expand)
{"declared":"https://github.com/mrnetwork0001/Kippa","elapsed_ms":2277,"final_url":"https://github.com/mrnetwork0001/Kippa","http_status":200,"index":0,"kind":"https","name":"source","outcome":"live","probed":true,"probed_url":"https://github.com/mrnetwork0001/Kippa"}- endpoints_answered_not_live
- 0
- endpoints_declared
- 1
- endpoints_live
- 1
- endpoints_our_error
- 0
- endpoints_payment_gated
- 0
- endpoints_probeable
- 1
- endpoints_probed
- 1
- 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:18:52.070864Z
Check it again, now
outside the censusOn-chain snapshot
celo- token id
- 9758
- owner
- 0xe5ad7df479bc5ce252c97425fa111dcc77e69676
- block
- 79,282,391
- observed
- 2026-10-05T07:18:52.074540Z
What the fetch saw
data- scheme
- data
- request url
- —
- final url
- —
- http status
- —
- content type
- —
- size
- 1,128 bytes
- sha256
- d708c9e7db6586de31b2f11514ea4e6589d8ab21bed621b425ef10f289aa9bac
- elapsed
- 0 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