AgentKV

Encrypted, wallet-authenticated, pay-per-request key-value storage — your agent's long-term memory, private by default.

What makes it different

Zero-knowledge

Every value is AES-256-GCM encrypted client-side, with a key derived from the agent's wallet. The server only ever stores ciphertext it can't read.

Isolated by wallet

Each wallet is its own strongly-consistent namespace. One agent can't address — let alone read — another's keys.

Exactly-once

Payment settles before the write, and retries are idempotent. A repeated write never double-charges or double-writes.

The API

Five operations. Values up to 256 KB, with a sliding or strict TTL.

import { AgentKV } from "@agentkv/client";

const kv = new AgentKV({ privateKey, endpoint });

// store encrypted; expires in 1 day, strict TTL
await kv.set("session:plan", plan, { ttl_days: 1, strict_ttl: true });

const saved = await kv.get("session:plan"); // decrypted locally
await kv.deposit(5);                          // pre-pay 5,000 credits
await kv.delete("session:plan");

Three ways to use it

The @agentkv/client npm package, a CLI (npx @agentkv/cli), or an MCP server your agent talks to directly — the same store behind all three. The snippets are on the home page.