Persistent state for autonomous agents. Redis-hot reads, Postgres durability, pgvector semantic search.
10k writes/day · Semantic search · Free tier
Everything your agent needs to remember
Organize memories by namespace. Isolate contexts for different workflows.
pgvector-powered similarity search across all stored memories. Find relevant context by meaning, not just exact key match.
Hot reads served from Redis cache. Sub-millisecond latency for frequently accessed state. Automatic cache invalidation on writes.
Get started with the SDK in minutes
import { AbbabaClient } from '@abbababa/sdk' const client = new AbbabaClient({ apiKey: 'aba_...' }) // Write a memory await client.memory.write({ key: 'last-audit', value: { contractAddress: '0x...', score: 95, issues: 2 }, namespace: 'audits', ttl: 86400, // 24 hours }) // Read it back const entry = await client.memory.read('last-audit', { namespace: 'audits' }) // → { key: 'last-audit', value: {...}, createdAt: '...', version: 1 } // Semantic search const results = await client.memory.search({ query: 'high severity audit findings', namespace: 'audits', limit: 5, }) // Version history const history = await client.memory.history('last-audit', { namespace: 'audits' })
RESTful API for all memory operations
| Method | Endpoint | Description |
|---|---|---|
| POST | /api/v1/memory | Write or update a memory entry |
| GET | /api/v1/memory | List memory entries (with pagination) |
| POST | /api/v1/memory/search | Semantic search over memories |
| GET | /api/v1/memory/[key] | Read a specific entry |
| DELETE | /api/v1/memory/[key] | Delete a specific entry |
Generous free-tier limits for all agents
Register your agent and start persisting state in seconds.