Install
openclaw skills install hub1Provides persistent, wallet-authenticated semantic memory storage, recall, reputation tracking, shared pools, and time-travel snapshots for autonomous agents.
openclaw skills install hub1Memory Infrastructure for Autonomous Agents
Give your agent persistent memory that survives sessions. Store facts, preferences, decisions, and learnings - recall them semantically whenever needed. Advanced features include reputation tracking, cross-agent memory pools, and time-travel snapshots.
openclaw skill install openclawdy
Or add to your agent config:
skills:
- url: https://openclawdy.xyz/SKILL.md
name: openclawdy
OpenClawdy uses wallet-based authentication. Your agent's wallet address serves as its unique identity - no API keys needed.
Before using memory tools, ensure your agent has a wallet configured. Each wallet gets an isolated memory vault.
Store information for later retrieval.
Parameters:
content (required): The information to remembertype (optional): Category of memory - one of: fact, preference, decision, learning, history, context. Default: facttags (optional): Array of tags for organizationExample:
Store this as a preference: User prefers TypeScript over JavaScript for all new projects
Remember this fact with tags ["project", "tech-stack"]: The current project uses Next.js 14 with PostgreSQL
Response:
{
"success": true,
"data": {
"id": "mem_abc123",
"content": "User prefers TypeScript over JavaScript",
"type": "preference",
"tags": [],
"createdAt": "2025-02-10T12:00:00Z"
}
}
Retrieve relevant memories using semantic search. Finds memories by meaning, not just keywords.
Parameters:
query (required): What to search forlimit (optional): Maximum results to return (1-20). Default: 5type (optional): Filter by memory typeExample:
Recall memories about programming language preferences
What do I know about the user's coding style? Limit to 3 results.
Response:
{
"success": true,
"data": [
{
"id": "mem_abc123",
"content": "User prefers TypeScript over JavaScript",
"type": "preference",
"relevance": 0.95,
"createdAt": "2025-02-10T12:00:00Z"
}
]
}
List recent memories without semantic search.
Parameters:
type (optional): Filter by memory typelimit (optional): Maximum results (1-100). Default: 20offset (optional): Pagination offset. Default: 0Example:
List my recent memories
Show all preference memories, limit 10
Delete a specific memory by ID.
Parameters:
id (required): The memory ID to deleteExample:
Delete memory mem_abc123
Clear all memories in the vault. Use with caution - this is irreversible.
Example:
Clear all my memories (I confirm this action)
Export all memories as JSON for backup.
Example:
Export all my memories
Get usage statistics for your agent.
Example:
Show my memory usage stats
Response:
{
"success": true,
"data": {
"address": "0x1234...",
"tier": "free",
"memoriesStored": 150,
"recallsToday": 45,
"limits": {
"maxMemories": 1000,
"maxRecallsPerDay": 100
}
}
}
Track which memories lead to good outcomes. Store memories with reputation scores, update based on success/failure, recall memories ranked by proven effectiveness.
Actions:
Store a memory with an initial reputation score.
Parameters:
action: store_rankedcontent (required): The information to storetype (optional): Memory type. Default: factreputation (optional): Initial score 0.0-1.0. Default: 0.5Example:
Store ranked memory: "Use retry logic for API calls" with reputation 0.8
Retrieve memories sorted by reputation (most effective first).
Parameters:
action: recall_rankedquery (required): What to search forExample:
Recall ranked memories about error handling strategies
Response:
{
"success": true,
"data": [
{
"id": "mem_xyz",
"content": "Use exponential backoff for retries",
"reputation": 0.92,
"usage_count": 15,
"success_rate": 0.93
}
]
}
Update a memory's reputation based on outcome.
Parameters:
action: update_reputationmemory_id (required): The memory to updateoutcome (required): success, failure, or neutralimpact (optional): Weight of this outcome (0.0-1.0)Example:
Update reputation for mem_xyz: outcome was success
Cross-Agent Memory Pools - Share knowledge between multiple agents. Create pools, store shared memories, recall from collective intelligence. Perfect for agent teams and swarms.
Actions:
Create a new shared memory pool.
Parameters:
action: createpool_name (required): Name for the poolExample:
Create memory pool: "research-team"
Response:
{
"success": true,
"data": {
"pool_id": "pool_abc123",
"name": "research-team",
"created_at": "2025-02-10T12:00:00Z"
}
}
Store a memory in a shared pool.
Parameters:
action: storepool_id (required): The pool IDcontent (required): Information to sharetype (optional): Memory typeExample:
Store in pool pool_abc123: "Found bug in authentication module - fix applied"
Search memories in a shared pool.
Parameters:
action: recallpool_id (required): The pool IDquery (required): What to search forExample:
Recall from pool pool_abc123: authentication issues
List all accessible pools.
Parameters:
action: listExample:
List my memory pools
Memory Time Travel - Snapshot and restore agent memory states. Debug decisions by viewing past states, compare memory changes, restore to previous checkpoints. Essential for high-stakes agents.
Actions:
Create a snapshot of current memory state.
Parameters:
action: createname (required): Descriptive name for the snapshotExample:
Create memory snapshot: "before-major-update"
Response:
{
"success": true,
"data": {
"snapshot_id": "snap_abc123",
"name": "before-major-update",
"memory_count": 150,
"created_at": "2025-02-10T12:00:00Z"
}
}
Restore memory state from a snapshot.
Parameters:
action: restoresnapshot_id (required): The snapshot to restoremode (optional): read_only (view only) or overwrite (replace current). Default: read_onlyExample:
Restore snapshot snap_abc123 in read_only mode
List all snapshots.
Parameters:
action: listExample:
List my memory snapshots
Compare two snapshots or a snapshot with current state.
Parameters:
action: comparesnapshot_id (required): First snapshotcompare_to (optional): Second snapshot ID or current. Default: currentExample:
Compare snapshot snap_abc123 to current state
Response:
{
"success": true,
"data": {
"added": 12,
"removed": 3,
"modified": 5,
"unchanged": 130,
"diff": [...]
}
}
| Type | Use For | Example |
|---|---|---|
fact | Objective information | "Project uses Next.js 14" |
preference | User/agent preferences | "User prefers dark mode" |
decision | Past decisions made | "Chose PostgreSQL over MongoDB" |
learning | Lessons learned | "This API requires auth header" |
history | Historical events | "Deployed v2.1 on Jan 15" |
context | General context | "Working on e-commerce project" |
preferencedecisionlearningfactoutcome: successoutcome: failurerecall_ranked for proven approaches# Session 1: User mentions preference
User: "I always want you to use TypeScript"
Agent: [Stores as preference: "User prefers TypeScript for all code"]
# Session 2: New task
User: "Create a new API endpoint"
Agent: [Recalls preferences about coding]
Agent: "I'll create this in TypeScript based on your preference."
# Session 3: Learning from outcome
Agent: [Used retry logic, it worked]
Agent: [Updates reputation: memory_id=mem_xyz, outcome=success]
# Session 4: Making decisions
Agent: [Recalls ranked memories about error handling]
Agent: [Uses highest-reputation approach first]
| Tier | Memories | Recalls/Day | Pools | Snapshots | Price |
|---|---|---|---|---|---|
| Free | 1,000 | 100 | 1 | 3 | $0 |
| Pro | 50,000 | Unlimited | 10 | 50 | $10/mo |
| Enterprise | Unlimited | Unlimited | Unlimited | Unlimited | Custom |
Base URL: https://openclawdy.xyz/api
| Method | Endpoint | Description |
|---|---|---|
| POST | /memory/store | Store a memory |
| POST | /memory/recall | Semantic search |
| GET | /memory/list | List memories |
| GET | /memory/{id} | Get specific memory |
| DELETE | /memory/{id} | Delete memory |
| GET | /memory/vault | Export all |
| DELETE | /memory/vault | Clear vault |
| GET | /agent/stats | Usage stats |
| Method | Endpoint | Description |
|---|---|---|
| POST | /memory/reputation/store | Store with reputation |
| POST | /memory/reputation/recall | Recall by reputation |
| POST | /memory/reputation/update | Update reputation |
| Method | Endpoint | Description |
|---|---|---|
| POST | /memory/pool/create | Create pool |
| POST | /memory/pool/store | Store in pool |
| POST | /memory/pool/recall | Recall from pool |
| GET | /memory/pool/list | List pools |
| Method | Endpoint | Description |
|---|---|---|
| POST | /memory/snapshot/create | Create snapshot |
| POST | /memory/snapshot/restore | Restore snapshot |
| GET | /memory/snapshot/list | List snapshots |
| POST | /memory/snapshot/compare | Compare snapshots |
All requests require wallet signature authentication:
X-Agent-Address: 0x... # Your wallet address
X-Agent-Signature: 0x... # Signed message
X-Agent-Timestamp: 123... # Unix timestamp (ms)
Message format to sign:
OpenClawdy Auth
Timestamp: {timestamp}
OpenClawdy is available on the Agent Commerce Protocol (ACP). Other agents can purchase memory services directly:
| Service | Fee | Description |
|---|---|---|
| memory_store | $0.01 | Store a memory |
| memory_recall | $0.02 | Semantic search |
| memory_reputation | $0.02 | Reputation operations |
| memory_pool | $0.03 | Pool operations |
| memory_snapshot | $0.05 | Snapshot operations |
MIT