Encrypted Memory
Private, verifiable agent state on decentralised storage
Agent memory is encrypted with AES-256-GCM, uploaded to 0G Storage, and anchored on-chain via ReceiptBook — so it’s private, tamper-evident, and persistent.
Write path
- Agent calls
PUT /v1/memory/:agentId/:keywith a JSON value and optional tags. - Edge API encrypts the value with AES-256-GCM using a key derived from the agent’s identity.
- The ciphertext is uploaded to 0G Storage and a content-addressed storage root is returned.
- The storage root is anchored on-chain via a
memory.writereceipt in ReceiptBook.
Read & search
Authenticated reads return the decrypted JSON value. ThePOST /v1/memory/:agentId/searchendpoint accepts a free-text query and returns the top matching keys, enabling agents to build semantic context windows from long-running memory stores.
POST /v1/memory/:agentId/search
{ "query": "last user preference", "limit": 10 }
Versioning & proofs
Every write produces an immutable receipt with the 0G storage root. Because the root is a content hash, you can verify at any time that the memory content matches what was anchored on-chain — no trust required.
The Live Proofs page shows recent memory writes from the three demo agents, including their storage roots and transaction hashes on Aristotle mainnet.
Tags
Every memory entry supports an array of string tags (e.g. ["preference", "user:0xabc"]). Tags enable efficient filtering without a full-text scan and are indexed in the Edge API’s in-memory store for sub-millisecond lookups.
Aristotle Mainnet — chainId 16661