You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
One line to give any AI agent persistent, cross-session, verifiable memory on Sui.
Sui Overflow 2026 — Walrus Track Submission pip install memwal → from memwal import MemWalMemory
The Problem
AI agents today are stateless. They lose context across sessions, can't share knowledge with other agents, and have no way to prove what they remembered or when. Memory is locked inside proprietary platforms.
MemWal fixes this. Walrus decentralized storage + Sui on-chain references = verifiable, composable, persistent agent memory that any framework can adopt.
Architecture
flowchart LR
subgraph Agents["AI AGENTS"]
direction TB
A1["Research Agent\n(Python, LLM)"]
A2["Risk Agent\n(Python)"]
A3["Trader Agent\n(LangChain)"]
end
subgraph MemWal["MEMWAL SDK"]
direction TB
MW1["MemWalMemory\n— save / read / query"]
MW2["LangChainMemWal\n— LangChain adapter"]
MW3["WalrusClient\n— HTTP blob store"]
end
subgraph Sui["SUI + WALRUS"]
direction TB
W["Walrus\n— decentralized blob storage"]
M["agent_memory.move\n— on-chain blob references"]
S["Seal\n— optional encryption"]
end
Agents -- "memory.save() / memory.query()" --> MemWal
MemWal -- "store / read blobs" --> W
MemWal -- "mint MemoryObject" --> M
MemWal -. "encrypt" .-> S
Loading
Quick Start
pip install memwal
frommemwalimportMemWalMemory, MemoryQuery# One line setupmem=MemWalMemory(namespace="my-agent")
# Agent saves memory → stored on Walrus, referenced on-chainblob_id=mem.save(
agent_id="analyst-1",
content={"signal": "BUY", "token": "SUI", "confidence": 0.88},
tags=["research", "signal"],
)
# Another agent (same namespace) queries shared memoryentries=mem.query(MemoryQuery(tags=["research"], limit=5))
foreinentries:
print(f"[{e.agent_id}] {e.content['signal']} — {e.content['reason']}")
# Read full context from a specific blobentry=mem.read(blob_id)
# Persist index for next sessionindex_blob=mem.save_index()
# Next session: restoremem.load_index(index_blob)
CLI
# Store data
memwal store --text "buy signal for SUI"# → blob_id: ABC123...# Read data
memwal read ABC123...
# Agent memory
memwal memory --agent-id trader-1 --namespace defi --save '{"action":"buy","token":"SUI"}'
memwal memory --agent-id trader-1 --namespace defi --query
LangChain
frommemwal.integrations.langchainimportLangChainMemWalmemory=LangChainMemWal(agent_id="chatbot-1", namespace="support")
# Use like any LangChain memoryagent=create_agent(llm, tools, memory=memory)
# Agent now has persistent, cross-session, cross-agent memory on Walrus
Walrus Track Requirements
Requirement
Implementation
Persistent data via Walrus
WalrusClient.store() / read() — direct HTTP blob store