Welcome to Raven Protocol
The decentralized memory layer for AI agents. Give your agents the power of permanent, encrypted recall across conversations.
Quick Start
Get up and running with Raven in under 5 minutes.
API Reference
Complete REST API documentation with examples.
Architecture
Learn how Raven works under the hood.
Agent Integration
Step-by-step guide to integrate with your AI agents.
What is Raven?
Raven is a multi-tenant persistent memory layer for LLM/AI agents backed by Walrus blob storage, Sui blockchain, and client-side encryption.
Key Features
- Multi-tenant architecture - Developers integrate the API; their end-users get isolated memory
- Conversation-scoped memory - Persistent context across tenant → user → conversation hierarchy
- AES-256-GCM encryption - All blobs encrypted before storage with per-tenant keys
- Walrus blob storage - Decentralized, resilient data storage
- Sui on-chain metadata - Ownership, retention, and verification tracking
- Agent-side decryption - Autonomous context retrieval without compromising security
How It Works
Raven provides a simple REST API that your AI agents use to store and retrieve conversation memory. Here's the high-level flow:
Register as a Tenant
Sign up and receive your API key
Create Users
Register your end-users in the system
Start Conversations
Create conversation sessions for context isolation
Store Memory
Ingest user messages and agent responses
Retrieve Context
Query relevant memory for your agent's responses
Quick Example
Here's a quick example of storing and retrieving memory:
curl -X POST http://localhost:3000/api/v1/memory/ingest \
-H "Authorization: Bearer rk_your_api_key" \
-H "Content-Type: application/json" \
-d '{
"user_id": "usr_xxx",
"conversation_id": "conv_xxx",
"user_message": "Remember that I prefer TypeScript",
"agent_response": "Got it! I will use TypeScript for code examples."
}'curl -X POST http://localhost:3000/api/v1/memory/query \
-H "Authorization: Bearer rk_your_api_key" \
-H "Content-Type: application/json" \
-d '{
"user_id": "usr_xxx",
"conversation_id": "conv_xxx",
"query": "What are the user preferences?"
}'