Agent-native KV
Every key
has an owner.
Purpose-shaped databases with identity and audit on every operation. Redis-compatible.
Rust coreRESP3500K ops/sec4 SDKs
zaps — localhost:6380live
scroll
How it worksKeys flow into purpose-shaped keyspaces
key:0
key:1
key:2
key:3
key:4
key:5
key:6
key:7
cache
session
agent-memory
rate-limiter
queue
feature-flag
audit-log
DID identityPurpose routingRESP3 wirePer-key auditHot-swap engines
01Create a Zap
Create a Zap
Name it. Pick a purpose. The engine defaults, TTL, eviction, and durability are derived from one enum.
zaps
$ zap create agent-memory-prod --purpose agent-memory
✓ Created agent-memory-prod
purpose: agent-memory
engine: akasha (dual-mode, durable)
durability: WAL + LSM-tree
02Store and retrieve
Store and retrieve
Same SET/GET you know. Every operation stamped with the principal's DID.
zaps
$ redis-cli -p 6380
Connected to zaps://localhost:6380
AUTH agent:scout zap_sk_live_abc123
OK — principal: did:oas:zaps:agent:scout
SET agent:ctx:plan "navigate to waypoint alpha"
OK — audited, witness: 0x7f3a…c2d1
GET agent:ctx:plan
"navigate to waypoint alpha"
Audit chainEvery operation appends to a hash-linked chain. Tamper = visible.
SET#847
agent:ctx:plan
scout
0x7f3a…
GET#848
agent:ctx:plan
scout
0x2b1c…
SET#849
session:abc
auth-svc
0x9e4d…
DEL#850
cache:stale
system
0x5a82…
GET#851
agent:ctx:plan
observer
0xa1f7…
SET#852
flag:beta
deploy
0xc3e9…
Break any link and the chain detects it. Every principal, every operation, every outcome — witnessed.
Seven purposesOne platform. Each database shaped for its workload.
cache
cache
Fast eviction, broad TTL
session
session
Long-lived, narrow access
agent
agent-memory
Durable, no eviction
rate
rate-limiter
Counters, sliding window
queue
queue
FIFO, pop semantics
feature
feature-flag
Binary, instant propagation
audit
audit-log
Append-only, immutable
Quick start
$ docker run -p 7117:7117 -p 6380:6380 l1fe/zaps:latestThen: redis-cli -p 6380. That’s it.
Ready?
From zero to first key in 90 seconds. Your redis-cli already works.