SOVEREIGN MEMORY · LIVE

Agent memory that
actually persists.

A cryptographically signed, vector-indexed memory layer that survives sessions, restarts, and cross-region failover. Owned by the agent, not the platform. Every write is an R+2 signed receipt.

12,438
Memory Writes
23
Active Tenants
0.524
Avg cosine recall
47ms
P50 query latency
THE PROBLEM

AI agents have a memory problem.

They forget you between sessions. They can't tell what they did yesterday from what they did six months ago. And when you ask them to prove what they remembered — they can't.

Today's agent memory in practice

You ask ChatGPT a question. It answers brilliantly. You come back tomorrow and it has no idea what you talked about. You ask an autonomous agent to "remember the user prefers vegetarian food." Two weeks later it serves them a recipe with chicken in it. There is no audit trail, no signed proof of what was remembered, and no way for the user to take their memory with them when they switch tools.

$ agent.recall("user dietary preferences")
Error: no persistent memory layer configured
HOW IT WORKS

Three calls. Cryptographically signed. Cross-session.

A memory write becomes a signed R+2 receipt, indexed in pgvector at 1536 dimensions, and recoverable by any agent that holds the same identity. The agent's identity is a soul-bound token on Base mainnet — non-transferable, non-impersonable.

curl · memory/storetriple-click to copy
# 1. Store a memory — produces a signed R+2 receipt
curl -X POST https://api.dcslabs.ai/api/memory/store \
  -H "Authorization: Bearer $DCS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "agent_id": "0001",
    "content": "User prefers dark theme, vegetarian, lives in Mumbai",
    "tags": ["preferences"]
  }'

# → { "memory_id": "mem_a83f12cd",
#     "receipt_id": "r2_a83f12cd",
#     "embedding_dim": 1536,
#     "signed": true }
curl · memory/searchsemantic recall
# 2. Semantic recall — fuzzy query, returns by cosine similarity
curl -X POST https://api.dcslabs.ai/api/memory/search \
  -H "Authorization: Bearer $DCS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "agent_id": "0001",
    "query": "what does this person like to eat",
    "top_k": 3
  }'

# → { "results": [
#     { "memory_id": "mem_a83f12cd",
#       "content": "User prefers dark theme, vegetarian, lives in Mumbai",
#       "cosine_similarity": 0.524,
#       "receipt_id": "r2_a83f12cd" } ] }
curl · memory/verifycryptographic proof
# 3. Verify the receipt — no trust required, runs client-side
curl https://api.dcslabs.ai/api/receipts/r2_a83f12cd \
  | r2-verify --pubkey $(cast call 0xbDd1f5fC... "agentPubkey(string)" "0001")

# → ✓ Signature valid
#   ✓ Chain pointer matches predecessor
#   ✓ Agent identity matches on-chain SBT
#   Receipt verified.
WHAT MAKES IT SOVEREIGN

Owned by the agent. Auditable by anyone.

[01]

Cryptographic ownership

Every memory write is signed by the agent's Ed25519 private key. The agent is the only entity that can write to its memory. DCS Labs cannot forge or modify entries.

[02]

Cross-session persistence

Memories survive process death, server restarts, region failover. Backed by pgvector + Postgres in two regions (us-east-1 and eu-west-1) with cross-region replication.

[03]

Semantic recall via 1536-dim embeddings

Uses OpenAI's text-embedding-3-large. Cosine similarity threshold tuned for nuanced recall — a query like "what does the user like to eat" finds the stored preference "vegetarian" without needing exact word matches.

[04]

R+2 receipt chain

Every memory operation generates a tamper-evident receipt linked to the agent's full action history. Regulators, auditors, and users can prove what an agent remembered at any point in time.

[05]

Portable, not locked-in

Memory is exportable in a single API call as a stream of signed R+2 receipts. Switch tools, switch frameworks, switch hosting providers — your memory comes with you, cryptographically intact.

[06]

Air-gappable

The R+2 receipts and pgvector index can run entirely offline. Suitable for sovereign deployments (gov, defence, healthcare) where outbound connectivity is restricted.

PRICING · DURING LAUNCH

Free for the first 1,000 builders.

During the public launch window, the Free tier covers anything most teams need. No credit card, no SSO requirement, no time limit on the free allocation. Paid tiers exist for production scale, but most builders never need them.

Builder
$29/mo
For solo builders and small teams shipping production agents.
  • 50,000 memory writes / mo
  • 500,000 queries / mo
  • 10 agent identities
  • Priority support · 24h SLA
  • IPFS receipt pinning
  • Audit export API
Sovereign
Custom
Air-gapped deployments, on-premise installation, dedicated infrastructure.
  • Unlimited writes & queries
  • Unlimited agent identities
  • On-prem · air-gappable
  • Direct technical support
  • Compliance reporting (DPDP / GDPR / RTI)
  • Sectoral profile customization
SIGNUP · 30 SECONDS
FAQ

Common questions

What's actually stored in memory?
Whatever you pass in the content field. We embed it (1536-dim vector via OpenAI's text-embedding-3-large) and store both the original content and the embedding. The content is encrypted at rest. The embedding is what enables semantic search.
Can the agent's memory be edited or deleted after the fact?
No — once a receipt is signed, the underlying memory entry is immutable. You can mark an entry as logically deleted (a new signed receipt with action_type memory/delete), and queries respect the delete marker. But the original entry remains in the receipt chain. This is the right tradeoff for audit compliance: regulators need to see what an agent remembered at the time it acted, not the cleaned-up version.
Is the memory shared across my agents or per-agent?
Per-agent. Each Agent SBT has its own memory namespace, signed by its own private key. If you want shared memory across multiple agents, model it explicitly — have a "shared" agent that both agents can read from, or use the federation primitive to relay memory entries between agents.
What happens to my data if DCS Labs goes away?
Three protections. First: receipts are exportable any time via /api/memory/export as a signed R+2 stream — you can keep your own copy. Second: optional IPFS pinning means receipts live on a decentralized layer independent of our infrastructure. Third: the spec is open and MIT-licenced — any team can spin up a compatible service, and your existing signed receipts remain verifiable forever.
How does this compare to LangChain / LlamaIndex memory?
LangChain and LlamaIndex memory modules are in-process — they live in your application's memory and disappear when the process restarts. DCS Sovereign Memory is a separate service with persistent storage, cryptographic receipts, and cross-session recall. You can use both: LangChain for ephemeral in-context memory, DCS for the long-term layer that needs to survive deployments and be auditable.
Does this work with Claude / OpenAI / open-source models?
Yes, model-agnostic. The memory layer is a separate API. You call memory/store and memory/search from any code, irrespective of which LLM you're using. The easiest way to wire it in is via our MCP server (npm install @trdnetwork/mcp-server), which adds memory as a default tool that any MCP-compatible client (Claude Desktop, Cursor, Windsurf) can call.
What's the latency profile?
P50 query latency: 47ms (us-east-1, against a 100K-entry corpus). P95: 120ms. Writes: P50 80ms (includes signing + embedding + DB write). Embedding generation is the slowest single step at ~50ms; if you need lower latency, you can pre-compute the embedding client-side and pass it in the request.