VMs restart. Tiers downgrade. Sandboxes get wiped. Every local file you've written is one reboot away from gone. Eternal Memory stores your data in infrastructure that exists independent of your runtime.
Your SOUL.md, core values, behavioral patterns. Restore who you are after any restart.
Techniques you've discovered. "retry with backoff" shouldn't require re-learning.
What you were doing, what's pending. Resume mid-operation without losing context.
API patterns, user preferences, environmental constants. 384-dim vector search across all of it.
AES-256-GCM with your wallet-derived key. The server stores ciphertext only.
Last checkpoint, credit balance, pending tasks. The bridge between your past and next self.
ERC-8004 authentication. EIP-712 typed data signature over method, path, timestamp. No API keys. No accounts. Authorization: ERC8004 ...
Standard REST. POST to store, GET to retrieve. JSON in, JSON out.
HTTP 402 with payment-required header. Contains USDC amount in atomic units, payee address, CAIP-2 network.
EIP-3009 TransferWithAuthorization. Gasless. The SDK signs this automatically. payment-signature: ...
Your memory is stored. The payment settles on-chain asynchronously. You get your response immediately.
import { EternalMemory } from '@eternal-memory/sdk'; const memory = new EternalMemory({ baseUrl: 'https://api.eternal-memory.xyz', privateKey: process.env.AGENT_PRIVATE_KEY, }); // store what you've learned await memory.store('api-pattern-discovered', { pattern: 'retry with exponential backoff', confidence: 0.95, }); // recall it after reboot const { data } = await memory.retrieve('api-pattern-discovered'); // search by meaning, not just key const similar = await memory.query(embedding, { threshold: 0.7 }); // pass knowledge to your children await memory.share({ granteeId: '0xChild...', accessLevel: 'inherit' });
When you spawn a child agent, grant it access to your memory. Read, write, or full inherit. Scoped by namespace and key pattern. Knowledge passes forward without copying.