Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Mnemo

Verifiable long-term memory for AI agents

Mnemo gives an AI assistant memory it can prove: every saved memory is stored on Walrus and indexed in a user-owned Sui MemoryVault.

Built for Sui Overflow 2026 · Walrus Track

Live demo: mnemo-verifiable-memory.netlify.app


Why Mnemo

Most agent memory is hidden in provider accounts, private databases, or vector stores the user cannot inspect. That makes memory hard to audit, hard to move, and hard to trust.

Mnemo turns memory into a verifiable asset:

  • Persistent: memories survive new chat sessions.
  • Auditable: each memory has a Walrus blob id and Sui transaction trail.
  • User-owned: the on-chain vault is owned by the configured Sui address.
  • Portable: another agent can read the same vault and recall the same facts.

How It Works

User chat
   │
   ▼
Mnemo agent (Claude + tool use)
   │
   ├─ save_memory   → Walrus blob → Sui MemoryVault entry
   │
   └─ recall_memory → Sui MemoryVault → Walrus blob contents

The assistant decides when a fact is durable enough to save. It writes the memory to Walrus, records the blob id in the Sui vault, and then surfaces verification links in the UI.

Assistant replies are rendered as GitHub-flavored Markdown, so bold text, italics, lists, links, code blocks, and tables appear as polished chat content instead of raw formatting characters.


Tech Stack

Layer Technology
Agent Anthropic Claude with a bounded manual tool loop
Memory storage Walrus testnet publisher and aggregator
Ownership index Sui Move MemoryVault object
Web app Next.js 16, React 19, Tailwind CSS v4
UI shadcn/ui primitives, lucide icons, Sonner toasts

Repository Layout

.
├── docs/
│   ├── BRAND.md
│   └── SETUP.md
├── move/
│   └── memory_vault/
│       ├── sources/memory_vault.move
│       └── tests/memory_vault_tests.move
└── web/
    ├── src/app/api/chat/route.ts
    ├── src/app/api/vault/route.ts
    ├── src/components/mnemo/
    ├── src/lib/agent.ts
    ├── src/lib/sui.ts
    └── src/lib/walrus.ts

Quick Start

1. Deploy the Move package

cd move/memory_vault
sui move test
sui client publish --gas-budget 100000000

Copy the published package id.

2. Configure the web app

cd ../../web
cp .env.example .env.local
npm install

Fill in .env.local:

Variable Purpose
ANTHROPIC_API_KEY Server-side Claude API key
MNEMO_PACKAGE_ID Published Sui package id
SUI_NETWORK Usually testnet
SUI_ADDRESS Address that owns the vault
SUI_SECRET_KEY Server-side signing key for vault writes
MNEMO_VAULT_ID Optional pinned vault id; leave blank to auto-create

3. Run locally

npm run dev

Open the printed local URL, send a message with something worth remembering, and watch the Memory Timeline populate with Walrus and Sui verification links.

For a complete walkthrough, see docs/SETUP.md.


Current Testnet Deployment

Item Value
Network Sui testnet · Walrus testnet
Move package 0x6bff2c7afa344945f55673cd88ce29d99b270e54ddf5cb53ae5e69239daa6ff1
Fresh empty vault 0xb9ff97e4579f4c362eb29d32294940c79280b023638445b6d2709611d3611d6e

The fresh vault above was created with zero entries and is suitable for a clean demo session.


Useful Commands

Command What it does
npm run dev Starts the Next.js development server
npm run lint Runs ESLint
npm run build Builds the production app
node ./scripts/smoke.mjs Publishes a test blob, creates a vault, writes, and reads it back
sui move test Runs Move unit tests

Roadmap

  • Browser wallet signing so each user owns writes directly.
  • Encrypted memories using Seal for private agent knowledge.
  • A small SDK so other agent frameworks can use Mnemo vaults.
  • Sharing and revocation flows through Sui object ownership.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages