What You’ll Learn
- Create a Walrus Memory account owned by a user’s Para Sui wallet
- Authorize an agent with a revocable delegate key
- Store and recall agent memory across sessions
- Revoke an agent’s access from the Para wallet
Why Combine Para and Walrus Memory
Example Use Cases
- Agentic Payments: Let a payments agent remember payees, spending preferences, and approval rules, so users don’t repeat them every session.
- Recurring Payments: Keep context about past invoices, billing cycles, and disputes that carries over between runs of a scheduled agent.
- Fintech Assistants: Give in-app assistants long-term memory of a customer’s goals and preferences, encrypted and owned by the customer’s wallet.
- Portable User Memory: The user’s Para wallet owns the memory account and each app or agent is a delegate, so memory follows the user across products instead of staying locked in one.
- Multi-Agent Handoff: Share one memory account across a support agent, a payments agent, and a back-office job, each with its own revocable delegate key.
What You Need
- Para SDK with Sui wallets for your users
- Walrus Memory SDK:
@mysten-incubation/memwal(beta) - Sui SDK:
@mysten/suiv2 and@mysten/seal - SUI for gas (user-owned path only): the user’s Para Sui wallet pays gas for the account and delegate key transactions, about 0.005 SUI in total. Fund it with at least 0.01 SUI so the gas budget for creating the account fits.
- A Walrus Memory relayer: the hosted relayer pays Walrus storage costs. The Walrus Foundation runs it as a public good without an SLA, and it can apply usage limits. You can also self-host one.
How It Works
The Sui contract records which keys may use an account, and the relayer verifies the delegate key on every request.
Network Configuration
Use these values for the Walrus Memory contract and hosted relayer on Sui Mainnet.Step-by-Step Integration
Start with app-managed memory. Choose user-owned memory when users must own their memory and control which agents can use it.Compare the two paths
Compare the two paths
- App-Managed Memory
- User-Owned Memory
Your app owns one Walrus Memory account and keeps a separate namespace for each Para user. Users don’t sign any Sui transactions or hold SUI.For a full multi-user example, see the multi-tenant cookbook.
Step 1: Install Dependencies
Step 2: Create an Account and Delegate Key
Create your app’s account and a delegate key once on the Walrus Memory dashboard. Store both values as server-side secrets:MEMWAL_ACCOUNT_ID is the account’s object ID, not the address of the wallet that owns it. With the owner address, the relayer rejects every request with 401.Step 3: Map Each Para User to a Namespace
Verify the user’s Para session JWT on your server, then derive the namespace from the verified user ID.PARA_API_KEY_ID is the aud claim of your app’s session tokens. Decode one to read it: