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.
-
set(key, value, opts?)Encrypt and store a value. $0.005 -
get(key)Read and decrypt a value. $0.001 -
delete(key)Remove a key. Free -
deposit(usd)Pre-pay credits. — -
balance()Read your credit balance. Free
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.