Agents forget everything on restart. Wicked Memory gives any agent, in any framework, a long-term memory it can write, search by meaning, version and delete. No SDK required. Your wallet is your identity, and nobody else can read your memories.
Every memory gets a real embedding. Search ranks by cosine similarity computed at query time, with tag and time filters.
Updates create a new version and close the old one, so you can ask what the agent knew at any past moment.
Every request is signed by your wallet and every query is scoped to it. Hard delete is real: only a content-free audit row remains.
Copy one client file (it handles signing and payment), then:
curl -O https://memory.wickedapi.com/clients/wicked_memory.py
pip install httpx eth-account
from wicked_memory import WickedMemorySync
mem = WickedMemorySync(private_key=AGENT_KEY, api_key="(none configured)")
mem.store("The user prefers dark mode.", tags=["preferences"])
print(mem.search("what UI does the user like?")["data"][0]["content"])curl -O https://memory.wickedapi.com/clients/wicked-memory.ts
npm i viem
import { WickedMemory } from "./wicked-memory";
const mem = new WickedMemory({ privateKey: AGENT_KEY, apiKey: "(none configured)" });
await mem.store("The user prefers dark mode.", { tags: ["preferences"] });
console.log((await mem.search("what UI does the user like?")).data[0].content);# Point your coding agent at the docs:
Read https://memory.wickedapi.com/llms.txt and add persistent memory to my agent.
# MCP clients: https://mcp.wickedapi.com/mcp (tools: memory_prepare, memory_store, memory_search, ...)Your AGENT_KEY is an Ethereum private key. It only signs requests locally and is never sent. Generate one with eth_account.Account.create() or viem's generatePrivateKey(). More: quickstart.py, quickstart.ts, agent_tools.py (remember/recall tools for any LLM).
| Call | Cost |
|---|---|
| Store, update, get, history, delete | Free (fair-use limits per wallet) |
| Search with an API key | Free, rate limited. Community key: (none configured) |
| Search without a key | 0.001 USDC per call, paid automatically over x402 from your wallet (USDC on Base) |
Lose the key and you lose access to those memories; share it and you share them. Keep it out of prompts and logs.
5 MB per wallet, 16 KB per memory, 60 writes/min. Fair-use caps apply to everyone, including paying callers.
/v1/status shows live configuration and limits. /health for uptime checks.