Skip to content

Latest commit

 

History

History
203 lines (170 loc) · 5.57 KB

File metadata and controls

203 lines (170 loc) · 5.57 KB
title Quick Start
description Get Walrus Memory running in minutes using the TypeScript SDK, from installing the SDK and generating credentials to configuring the client and storing and recalling your first memory.
keywords
Walrus Memory
MemWal
quick start
TypeScript SDK
installation
setup
goal
description requires
Get a working end-to-end Walrus Memory integration: install the SDK, create an account at memory.walrus.xyz, call remember() to store a memory, and confirm recall() returns it.
has_frontmatter label
title
description
keywords
Has required frontmatter fields
min_words label
300
Needs more content depth
has_questions label
true
Needs questions for AI search visibility
has_answer label
true
Needs answer summary for AI citation
questions
How do I get started with Walrus Memory?
How do I install the MemWal TypeScript SDK?
How do I store and recall my first memory with MemWal?
answer To get started with Walrus Memory, install the @mysten-incubation/memwal TypeScript SDK, generate an account ID and delegate key from the Walrus Memory Playground, choose a relayer endpoint, configure the SDK client, and call remember/recall to store and retrieve memories.

The fastest way to get Walrus Memory running is through the TypeScript SDK.

Prerequisites

Quick start

### Install the SDK
<Tabs>
  <Tab title="pnpm">
    ```bash
    pnpm add @mysten-incubation/memwal
    ```
  </Tab>
  <Tab title="npm">
    ```bash
    npm install @mysten-incubation/memwal
    ```
  </Tab>
  <Tab title="yarn">
    ```bash
    yarn add @mysten-incubation/memwal
    ```
  </Tab>
  <Tab title="bun">
    ```bash
    bun add @mysten-incubation/memwal
    ```
  </Tab>
</Tabs>

**Optional packages**

For AI middleware with [Vercel AI SDK](https://sdk.vercel.ai/) (`@mysten-incubation/memwal/ai`):

<Tabs>
  <Tab title="pnpm">
    ```bash
    pnpm add ai
    ```
  </Tab>
  <Tab title="npm">
    ```bash
    npm install ai
    ```
  </Tab>
  <Tab title="yarn">
    ```bash
    yarn add ai
    ```
  </Tab>
  <Tab title="bun">
    ```bash
    bun add ai
    ```
  </Tab>
</Tabs>

For the [manual client flow](/getting-started/choose-your-path) (`@mysten-incubation/memwal/manual`):

<Tabs>
  <Tab title="pnpm">
    ```bash
    pnpm add @mysten/sui @mysten/seal @mysten/walrus
    ```
  </Tab>
  <Tab title="npm">
    ```bash
    npm install @mysten/sui @mysten/seal @mysten/walrus
    ```
  </Tab>
  <Tab title="yarn">
    ```bash
    yarn add @mysten/sui @mysten/seal @mysten/walrus
    ```
  </Tab>
  <Tab title="bun">
    ```bash
    bun add @mysten/sui @mysten/seal @mysten/walrus
    ```
  </Tab>
</Tabs>
### Generate your account ID and delegate key
Create a Walrus Memory account ID and delegate private key for your SDK client using one of the hosted endpoints below.

<Note>
The following endpoints are provided as a public good by Walrus Foundation.
</Note>

| **App** | **URL** |
| --- | --- |
| **Walrus Memory Playground** | [memory.walrus.xyz](https://memory.walrus.xyz) |

For the contract-based setup flow, see [Delegate Key Management](/contract/delegate-key-management) and [Walrus Memory smart contract](/contract/overview).
### Choose a relayer
Use a hosted relayer, or deploy your own [self-hosted relayer](/relayer/self-hosting) with access to a wallet funded with WAL and SUI:

<Note>
Following endpoints are provided as public good by Walrus Foundation.
</Note>

| **Network** | **Relayer URL** |
| --- | --- |
| **Production** (mainnet) | `https://relayer.memory.walrus.xyz` |
| **Staging** (testnet) | `https://relayer-staging.memory.walrus.xyz` |
### Configure the SDK
Set up the SDK with your delegate key, account ID, and relayer URL:

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

const memwal = MemWal.create({
  // Load your own credentials from the environment; don't hardcode an example ID.
  key: process.env.MEMWAL_KEY ?? "<your-ed25519-private-key>",
  accountId: process.env.MEMWAL_ACCOUNT_ID ?? "<your-memwal-account-id>",
  serverUrl: "https://relayer.memory.walrus.xyz",
  namespace: "my-app",
});
```

<Warning>
Use the `accountId` **you** generated in the previous step. Recall is scoped per **account + namespace**. Reusing an account ID copied from docs or another project puts your memories in a shared space instead of isolating them to you.
</Warning>
### Verify your connection
Run a health check to confirm everything is working:

```ts
await memwal.health();
```
### Store and recall your first memory
```ts
const job = await memwal.remember("User prefers dark mode and works in TypeScript.");
await memwal.waitForRememberJob(job.job_id);

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

You're up and running.

If Walrus Memory is useful to you, a star on the GitHub repo ⭐ helps others find it.