Skip to main content
The MemWal SDK gives your app persistent, encrypted memory — store, recall, and analyze context across sessions. It exposes three entry points:
Entry pointImportWhen to use
MemWal@mysten-incubation/memwalRecommended default for most integrations — relayer handles embeddings, SEAL, and storage
MemWalManual@mysten-incubation/memwal/manualYou need client-managed embeddings and local SEAL operations
withMemWal@mysten-incubation/memwal/aiYou already use the Vercel AI SDK and want memory as middleware

Installation

npm install @mysten-incubation/memwal
For MemWalManual, you also need the optional peer dependencies:
npm install @mysten/sui @mysten/seal @mysten/walrus
For withMemWal, you also need:
npm install ai zod

Configuration

Before wiring the SDK into your app:
  • These hosted endpoints are provided by Walrus Foundation.
  • Generate a MemWal account ID and delegate private key for your client using the hosted endpoint:
    • Production (mainnet): https://memwal.ai or https://memwal.wal.app
    • Staging (testnet): https://staging.memwal.ai
  • Choose a relayer:
    • Use the hosted relayer at https://relayer.memwal.ai (mainnet) or https://relayer.staging.memwal.ai (testnet)
    • Or deploy your own relayer with access to a wallet funded with WAL and SUI
MemWal.create takes a config object with the following fields:
PropertyTypeRequiredDescription
keystringYesEd25519 private key in hex
accountIdstringYesMemWalAccount object ID on Sui
serverUrlstringNoRelayer URL — use https://relayer.memwal.ai (mainnet) or https://relayer.staging.memwal.ai (testnet) for the managed relayer
namespacestringNoDefault namespace — falls back to "default"

First Memory

import { MemWal } from "@mysten-incubation/memwal";

const memwal = MemWal.create({
  key: "<your-ed25519-private-key>",
  accountId: "<your-memwal-account-id>",
  serverUrl: "https://your-relayer-url.com",
  namespace: "demo",
});

await memwal.health();
await memwal.remember("I live in Hanoi and prefer dark mode.");

const result = await memwal.recall("What do we know about this user?");
console.log(result.results);

Next Steps

  • Usage — all three clients in detail, namespace rules, and restore
  • API Reference — full method signatures and config fields