Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.memwal.ai/llms.txt

Use this file to discover all available pages before exploring further.

Get the plugin running and test the memory loop in a few minutes.

Prerequisites

  • OpenClaw >=2026.3.11 installed and running
You’ll also need a delegate key, account ID, and relayer URL from MemWal — the steps below will guide you through getting these.

Installation

1

Install the plugin

openclaw plugins install @mysten-incubation/oc-memwal
2

Get your MemWal credentials

The plugin needs three values to connect to MemWal:
ValueWhat it is
Delegate KeyA private key (64-char hex) used to sign requests and encrypt memories
Account IDYour MemWalAccount object ID on Sui (0x...)
Relayer URLThe MemWal relayer endpoint that handles search, storage, and encryption
The easiest way to get your delegate key and account ID is through the MemWal dashboard. See the main Quick Start for detailed setup instructions.For the relayer URL, use a managed endpoint or deploy your own:
EnvironmentRelayer URL
Production (mainnet)https://relayer.memwal.ai
Development (testnet)https://relayer.dev.memwal.ai
These managed relayer endpoints are provided as a public good by Walrus Foundation.
3

Set your delegate key

Store your delegate key as an environment variable so it’s never hardcoded in config files:
# Add to your shell profile (.zshrc, .bashrc, etc.)
export MEMWAL_PRIVATE_KEY="your-64-char-hex-key"
4

Configure OpenClaw

Add the plugin config to ~/.openclaw/openclaw.json:
{
  "plugins": {
    "slots": { "memory": "oc-memwal" },
    "entries": {
      "oc-memwal": {
        "enabled": true,
        "config": {
          "privateKey": "${MEMWAL_PRIVATE_KEY}",           // References the env var
          "accountId": "0x3247e3da...",                     // Your account ID from the dashboard
          "serverUrl": "https://relayer.dev.memwal.ai"     // Or your self-hosted relayer
        }
      }
    }
  }
}
You can add these to the config block to tune behavior. The defaults work well for most setups.
OptionDefaultDescription
autoRecalltrueInject relevant memories before each turn
autoCapturetrueExtract and store facts after each turn
maxRecallResults5Max memories to inject per turn
minRelevance0.3Relevance threshold (0-1) for memory injection
captureMaxMessages10How many recent messages to analyze for facts
defaultNamespace"default"Memory scope for the main agent
5

Start OpenClaw

openclaw gateway stop && openclaw gateway
You should see in the logs:
oc-memwal: registered (server: https://..., key: e21d...ed9b, namespace: default)
oc-memwal: connected (status: ok, version: ...)
If you see health check failed, check that your relayer URL is reachable and your MEMWAL_PRIVATE_KEY env var is set.

Verify

Check connectivity

Run the stats command to confirm the plugin is connected:
openclaw memwal stats
This shows the relayer status, your key (masked), account ID, active namespace, and whether auto-recall/capture are enabled.

Test the memory loop

The core value of the plugin is the automatic recall/capture cycle. Test it end-to-end: 1. Store a fact — start a conversation and share something memorable:
You: I prefer TypeScript over JavaScript for backend work
Bot: (responds normally)
Check logs — you should see:
oc-memwal: auto-captured 1 facts (agent: main, namespace: default)
2. Recall it — in a new conversation, ask about it:
You: What programming languages do I like?
Check logs — you should see:
oc-memwal: auto-recall injected 1 memories (agent: main, namespace: default)
3. Search from terminal — confirm the memory exists via CLI:
openclaw memwal search "programming"
If all three steps work, the plugin is fully operational.

Enable LLM tools (optional)

By default, the plugin works entirely through hooks — the LLM doesn’t know about memory tools. To give the LLM explicit control, add tools to your agent profile:
{
  "tools": {
    "allow": ["memory_search", "memory_store"]
  }
}
Then the LLM can call memory_search and memory_store on its own when it decides to. This is a power-user feature — hooks handle the common case automatically.

Next steps

  • How It Works — understand the architecture, message flow, and hook mechanics
  • Reference — detailed breakdown of hooks, tools, CLI, and configuration