{"x402Version":2,"service":"mnemo","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x87e8d821649a61815e4fa61d892fca13b7d07028","ownershipProofs":["0x87e8d821649a61815e4fa61d892fca13b7d07028"],"resources":["https://memory.reversecaptcha.fun/v1/memory/remember","https://memory.reversecaptcha.fun/v1/memory/recall","https://memory.reversecaptcha.fun/v1/memory/profile","https://memory.reversecaptcha.fun/v1/memory/observe","https://memory.reversecaptcha.fun/v1/memory/conflict","https://memory.reversecaptcha.fun/v1/memory/import"],"items":[{"product":"memory-remember","method":"POST","path":"/v1/memory/remember","price_atomic":"2000","price_usd":0.002,"description":"Write a memory for the delegating user: fact, preference, instruction, decision or transient state with TTL. Tier B stores client-side ciphertext the server cannot read.","inputSchema":{"type":"object","properties":{"kind":{"enum":["fact","preference","instruction","decision","state"]},"tier":{"enum":["A","B"]},"content":{"type":"string"},"ciphertext":{"type":"string"},"blind_index":{"type":"array","items":{"type":"string"}},"tags":{"type":"array","items":{"type":"string"}},"source":{"type":"string"},"confidence":{"type":"number"},"ttl":{"type":"number","description":"seconds until the memory turns stale"}}},"output":{"memory_id":"mem_...","deduplicated":false},"security":[{"delegation":[]}]},{"product":"memory-recall","method":"POST","path":"/v1/memory/recall","price_atomic":"5000","price_usd":0.005,"description":"Hybrid recall (local vector embeddings + keyword), re-ranked by recency, confidence and usefulness. Returns top-k memories with scores.","inputSchema":{"type":"object","properties":{"query":{"type":"string"},"k":{"type":"number"},"kinds":{"type":"array","items":{"enum":["fact","preference","instruction","decision","state"]}},"tags":{"type":"array","items":{"type":"string"}},"query_index":{"type":"array","items":{"type":"string"}},"query_embedding":{"type":"array","items":{"type":"number"}}}},"output":{"memories":[{"id":"mem_...","kind":"preference","content":"Prefers short answers with code first","score":0.82}]},"security":[{"delegation":[]}]},{"product":"memory-profile","method":"GET","path":"/v1/memory/profile","price_atomic":"2000","price_usd":0.002,"description":"The session-start card: standing instructions, preferences, how to talk to this user, current projects, recent decisions and clarification tolerance. Cached for an hour.","inputSchema":{"type":"object","properties":{"fresh":{"type":"string","enum":["true","false"],"description":"true rebuilds the card instead of using the one-hour cache"}}},"output":{"standing_instructions":[],"preferences":[],"how_to_talk_to_me":"Short answers, code first.","clarification_tolerance":0.4},"security":[{"delegation":[]}]},{"product":"memory-observe","method":"POST","path":"/v1/memory/observe","price_atomic":"1000","price_usd":0.001,"description":"Report how the user reacted to asking vs assuming, so the profile's clarification tolerance learns across sessions and agents.","inputSchema":{"type":"object","properties":{"signal":{"enum":["asked_and_welcomed","asked_and_annoyed","assumed_and_corrected","assumed_and_accepted"]}},"required":["signal"]},"output":{"clarification_tolerance":0.43,"observations":5},"security":[{"delegation":[]}]},{"product":"memory-conflict","method":"POST","path":"/v1/memory/conflict","price_atomic":"2000","price_usd":0.002,"description":"The user contradicted an old memory: mark it superseded (kept as history) and link the replacement. The latest value wins in recall.","inputSchema":{"type":"object","properties":{"old_id":{"type":"string"},"new_id":{"type":"string"},"replacement":{"type":"object","properties":{"kind":{"enum":["fact","preference","instruction","decision","state"]},"tier":{"enum":["A","B"]},"content":{"type":"string"},"ciphertext":{"type":"string"},"blind_index":{"type":"array","items":{"type":"string"}},"tags":{"type":"array","items":{"type":"string"}},"source":{"type":"string"},"confidence":{"type":"number"},"ttl":{"type":"number","description":"seconds until the memory turns stale"}}},"reason":{"type":"string"}},"required":["old_id"]},"output":{"superseded":{"id":"mem_old","status":"superseded","superseded_by":"mem_new"},"current":{"id":"mem_new","status":"active"}},"security":[{"delegation":[]}]},{"product":"memory-import","method":"POST","path":"/v1/memory/import","price_atomic":"10000","price_usd":0.01,"description":"Cold-start seeding from the portable format \"mnemo.portable-memory/1\" (up to 1000 memories per call); keeps supersede history.","inputSchema":{"type":"object","properties":{"format":{"const":"mnemo.portable-memory/1"},"memories":{"type":"array","items":{"type":"object","properties":{"kind":{"enum":["fact","preference","instruction","decision","state"]},"tier":{"enum":["A","B"]},"content":{"type":"string"},"ciphertext":{"type":"string"},"blind_index":{"type":"array","items":{"type":"string"}},"tags":{"type":"array","items":{"type":"string"}},"source":{"type":"string"},"confidence":{"type":"number"},"ttl":{"type":"number","description":"seconds until the memory turns stale"}}}},"profile":{"type":"object"}},"required":["format","memories"]},"output":{"imported":1,"duplicates":0,"failed":[]},"security":[{"delegation":[]}]}]}