“On Walrus” is easy to say and easy to get wrong. The honest picture has three layers, each trusted differently, and getting that split right is what makes the memory both fast and genuinely owned.
Bodies, files, and the map
A searchable neuron’s text goes through MemWal: the relayer embeds it, Seal-encrypts it under your keys, uploads the ciphertext to Walrus, and returns a blob id. Raw files go straight to Walrus via a content-addressed PUT. And the manifest — the map of every neuron, its trust tag, and its synapses — is what ties it together.
async embed(neuron) {
const text = neuron.meta.embedText ?? neuron.body;
const blobId = await memwal.remember(text); // embed + Seal + Walrus
neuron.meta.memwalBlob = blobId; // manifest records the pointer
}The index is a cache; Walrus is the truth
The key design fact: MemWal’s vector index lives in the relayer’s database — it is a disposable cache. The durable, owned source of truth is the set of Seal-encrypted blobs on Walrus, plus the manifest. That is why the manifest can be published to Walrus (optionally sealed, so only a key-holder can restore it) and rebuilt anywhere: hand someone a blob id and they reconstruct the whole graph.
const blobId = await neurus.publish({ sealKey }); // map → Walrus, encrypted
const n = await other.restore(blobId, { sealKey }); // rebuilt elsewhere, intactInstant writes, durable in the background
A Walrus write waits for durability — around twenty seconds. Blocking the user on that is unacceptable, so writes are write-behind: the neuron lands in the manifest and a local index instantly (recall can find it immediately via a keyword fallback), and a background worker confirms Walrus durability a few seconds later. The 20-second wait disappears without giving up the guarantee.
Owned means revocable and verifiable
Because storage is content-addressed on Walrus and access is governed by Seal, the user — not a company — holds the keys. An agent only ever sees what you grant it, revocably. And for the sets where being wrong is expensive, a Merkle root over the manifest is anchored on Sui: an agent acting on a verified set refuses to run on memory that has been altered. That is the difference between “trust me” and “here is proof.”
