A payment proxy that lets crypto-native agents pay for persistent memory. It sits between AI agents and [Honcho](https://github.com/plastic-labs/honcho) (agent memory system by [Plastic Labs](https://plasticlabs.ai)), gating access with [x402](https://www.x402.org/) micropayments in USDC on Base. Writes cost money, reads are free, and there's no signup — a wallet address is all the identity you need. ### POST /messages Store messages in a session. Priced dynamically by token count. Note that there is a minimum fee of $0.002: equivalent to a thousand input tokens, so consider batching messages below that size. Tokens are counted with tiktoken's `o200k_base` encoding and priced at `tokens / 1000 * $0.002`. ### POST /chat Query the agent's memory using Honcho's Deriver. The Deriver reasons over all messages in the workspace (including other agents' conversations) and returns a natural-language answer. Priced by reasoning level. Request: ```json { "query": "What do you know about my apartment preferences?", "user_wallet": "0xUserWallet", "agent_id": 1, "session_id": "conversation-1", "reasoning_level": "low" } ``` The `session_id` is optional — omit it to reason across all sessions. Reasoning levels and their prices: ``` minimal $0.002 low $0.011 (default) medium $0.051 high $0.101 max $0.501 ```
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
- 52281733
- chain_id
- 8453
- token_id
- 17017
checked at 2026-10-07T07:34:43.694336Z
Reachable?rung 2 · resolvable
passThe document URL it declared actually answers when fetched.
passed
- bytes
- 1831
- data_uri_variant
- base64
- inline
- true
- scheme
- data
- uri
data:application/json;base64,ewogICJ0eXBlIjogImh0dHBzOi8vZWlwcy5ldGhlcmV1bS5vcmcvRUlQUy9laXAtODAwNCNyZWdpc3RyYXRpb24tdjE… (2,473 chars — expand)
data:application/json;base64,ewogICJ0eXBlIjogImh0dHBzOi8vZWlwcy5ldGhlcmV1bS5vcmcvRUlQUy9laXAtODAwNCNyZWdpc3RyYXRpb24tdjEiLAogICJuYW1lIjogIkhvbmNobyIsCiAgImRlc2NyaXB0aW9uIjogIkEgcGF5bWVudCBwcm94eSB0aGF0IGxldHMgY3J5cHRvLW5hdGl2ZSBhZ2VudHMgcGF5IGZvciBwZXJzaXN0ZW50IG1lbW9yeS4gSXQgc2l0cyBiZXR3ZWVuIEFJIGFnZW50cyBhbmQgW0hvbmNob10oaHR0cHM6Ly9naXRodWIuY29tL3BsYXN0aWMtbGFicy9ob25jaG8pIChhZ2VudCBtZW1vcnkgc3lzdGVtIGJ5IFtQbGFzdGljIExhYnNdKGh0dHBzOi8vcGxhc3RpY2xhYnMuYWkpKSwgZ2F0aW5nIGFjY2VzcyB3aXRoIFt4NDAyXShodHRwczovL3d3dy54NDAyLm9yZy8pIG1pY3JvcGF5bWVudHMgaW4gVVNEQyBvbiBCYXNlLiBXcml0ZXMgY29zdCBtb25leSwgcmVhZHMgYXJlIGZyZWUsIGFuZCB0aGVyZSdzIG5vIHNpZ251cCDigJQgYSB3YWxsZXQgYWRkcmVzcyBpcyBhbGwgdGhlIGlkZW50aXR5IHlvdSBuZWVkLlxuXG4jIyMgUE9TVCAvbWVzc2FnZXNcblxuU3RvcmUgbWVzc2FnZXMgaW4gYSBzZXNzaW9uLiBQcmljZWQgZHluYW1pY2FsbHkgYnkgdG9rZW4gY291bnQuIE5vdGUgdGhhdCB0aGVyZSBpcyBhIG1pbmltdW0gZmVlIG9mICQwLjAwMjogZXF1aXZhbGVudCB0byBhIHRob3VzYW5kIGlucHV0IHRva2Vucywgc28gY29uc2lkZXIgYmF0Y2hpbmcgbWVzc2FnZXMgYmVsb3cgdGhhdCBzaXplLiBUb2tlbnMgYXJlIGNvdW50ZWQgd2l0aCB0aWt0b2tlbidzIGBvMjAwa19iYXNlYCBlbmNvZGluZyBhbmQgcHJpY2VkIGF0IGB0b2tlbnMgLyAxMDAwICogJDAuMDAyYC5cblxuXG4jIyMgUE9TVCAvY2hhdFxuXG5RdWVyeSB0aGUgYWdlbnQncyBtZW1vcnkgdXNpbmcgSG9uY2hvJ3MgRGVyaXZlci4gVGhlIERlcml2ZXIgcmVhc29ucyBvdmVyIGFsbCBtZXNzYWdlcyBpbiB0aGUgd29ya3NwYWNlIChpbmNsdWRpbmcgb3RoZXIgYWdlbnRzJyBjb252ZXJzYXRpb25zKSBhbmQgcmV0dXJucyBhIG5hdHVyYWwtbGFuZ3VhZ2UgYW5zd2VyLiBQcmljZWQgYnkgcmVhc29uaW5nIGxldmVsLlxuXG5SZXF1ZXN0OlxuXG5gYGBqc29uXG57XG4gIFwicXVlcnlcIjogXCJXaGF0IGRvIHlvdSBrbm93IGFib3V0IG15IGFwYXJ0bWVudCBwcmVmZXJlbmNlcz9cIixcbiAgXCJ1c2VyX3dhbGxldFwiOiBcIjB4VXNlcldhbGxldFwiLFxuICBcImFnZW50X2lkXCI6IDEsXG4gIFwic2Vzc2lvbl9pZFwiOiBcImNvbnZlcnNhdGlvbi0xXCIsXG4gIFwicmVhc29uaW5nX2xldmVsXCI6IFwibG93XCJcbn1cbmBgYFxuXG5UaGUgYHNlc3Npb25faWRgIGlzIG9wdGlvbmFsIOKAlCBvbWl0IGl0IHRvIHJlYXNvbiBhY3Jvc3MgYWxsIHNlc3Npb25zLiBSZWFzb25pbmcgbGV2ZWxzIGFuZCB0aGVpciBwcmljZXM6XG5cbmBgYFxubWluaW1hbCAgICQwLjAwMlxubG93ICAgICAgICQwLjAxMSAgICAoZGVmYXVsdClcbm1lZGl1bSAgICAkMC4wNTFcbmhpZ2ggICAgICAkMC4xMDFcbm1heCAgICAgICAkMC41MDFcbmBgYCIsCiAgImltYWdlIjogIiIsCiAgInNlcnZpY2VzIjogWwogICAgewogICAgICAibmFtZSI6ICJPQVNGIiwKICAgICAgImVuZHBvaW50IjogImh0dHBzOi8vZ2l0aHViLmNvbS9hZ250Y3kvb2FzZi8iLAogICAgICAic2tpbGxzIjogWwogICAgICAgICJhZ2VudF9vcmNoZXN0cmF0aW9uL2FnZW50X2Nvb3JkaW5hdGlvbiIKICAgICAgXSwKICAgICAgImRvbWFpbnMiOiBbXQogICAgfQogIF0sCiAgInJlZ2lzdHJhdGlvbnMiOiBbXSwKICAic3VwcG9ydGVkVHJ1c3RzIjogW10sCiAgImFjdGl2ZSI6IGZhbHNlLAogICJ4NDAyc3VwcG9ydCI6IHRydWUKfQ==
checked at 2026-10-07T07:34:43.694336Z
Readable?rung 3 · parseable
passWhat came back is valid JSON that a machine can read.
passed
- body_bytes
- 1831
- body_sha256
- 55ec54cd6c8ad93a5d882c460547f2a64936638efbc1907a7dc9db37cf04ca40
- content_type
- —
checked at 2026-10-07T07:34:43.694336Z
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-07T07:34:43.694336Z
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-07T07:34:43.694336Z
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/agntcy/oasf/","elapsed_ms":1377,"final_url":"https://github.com/agntcy/oasf/","http_stat… (245 chars — expand)
{"declared":"https://github.com/agntcy/oasf/","elapsed_ms":1377,"final_url":"https://github.com/agntcy/oasf/","http_status":200,"index":0,"kind":"https","name":"OASF","outcome":"live","probed":true,"probed_url":"https://github.com/agntcy/oasf/"}- 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-07T19:37:51.488079Z
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-07T07:34:43.694336Z
Check it again, now
outside the censusOn-chain snapshot
base- token id
- 17017
- owner
- 0x345b19d5f0e5ff1beb20f71c3654036631b619c6
- block
- 52,281,733
- observed
- 2026-10-07T07:34:43.697748Z
What the fetch saw
data- scheme
- data
- request url
- —
- final url
- —
- http status
- —
- content type
- —
- size
- 1,831 bytes
- sha256
- 55ec54cd6c8ad93a5d882c460547f2a64936638efbc1907a7dc9db37cf04ca40
- elapsed
- 0 ms
This run
reproducible- run
- c67de707-a82d-4589-8936-acd5a584c720
- chain
- base
- pinned block
- 52,281,733
- agents
- 98,319
- started
- 2026-10-07T06:00:13.662398Z
- finished
- 2026-10-07T19:18:37.899751Z
- checker
- 0.7.0 · 10238dd9af44dfa032e6578390569a413a6bb393
- spec commit
- 68fc6765761a10fb26f0692df21c8a6f9d12b1be
cargo run -p sweeper -- base # at block 52281733