Configuration
Use this page to pick the right config shape quickly.
MemWalConfig
Used by:
MemWal.create(config)withMemWal(model, options)
| Field | Required | Notes |
|---|---|---|
key | yes | Delegate private key in hex |
accountId | yes | MemWalAccount object ID on Sui |
serverUrl | no | Relayer URL. Default: https://relayer.memory.walrus.xyz |
namespace | no | Default memory boundary. Default: "default" |
MemWalManualConfig
Used by:
MemWalManual.create(config)
Core fields:
| Field | Required | Notes |
|---|---|---|
key | yes | Delegate private key in hex |
serverUrl | no | Relayer URL |
embeddingApiKey | yes | OpenAI/OpenRouter-compatible embedding key |
embeddingApiBase | no | Default: https://api.openai.com/v1 |
embeddingModel | no | Default: text-embedding-3-small |
packageId | yes | Walrus Memory package ID on Sui |
registryId | yes | AccountRegistry shared object ID on Sui |
accountId | yes | MemWalAccount object ID |
namespace | no | Default namespace |
Sui signer fields:
| Field | Required | Notes |
|---|---|---|
suiPrivateKey | one of two | Use for local signing |
walletSigner | one of two | Use a connected browser wallet instead |
suiClient | no | Optional pre-configured Sui client |
Walrus and network fields:
| Field | Required | Notes |
|---|---|---|
suiNetwork | no | testnet or mainnet. Default: mainnet |
sealServerConfigs | no | Full Seal configs for independent or committee servers. Committee entries require aggregatorUrl |
sealKeyServers | no | Legacy override for independent Seal key server object IDs |
sealThreshold | no | Default: 2, capped to total configured server weight |
walrusEpochs | no | Default: 50 |
walrusAggregatorUrl | no | Walrus download endpoint. Defaults follow suiNetwork |
walrusPublisherUrl | no | Walrus upload endpoint. Defaults follow suiNetwork |
WithMemWalOptions
withMemWal(model, options) accepts all MemWalConfig fields plus:
| Field | Required | Notes |
|---|---|---|
maxMemories | no | Default: 5 |
autoSave | no | Default: true |
minRelevance | no | Default: 0.3 |
debug | no | Default: false |
Rules that matter
namespacedefaults to"default"when omitted.MemWalis the default relayer-handled path.MemWalManualis the manual client path, but it still uses the relayer for registration, search, and restore.withMemWalbuilds on top ofMemWal, so it uses the same relayer-backed config shape.MemWalManualnow defaults tomainnetnetwork settings unless you passsuiNetwork: "testnet".sealServerConfigstakes priority oversealKeyServers;sealKeyServersremains supported for legacy independent key server lists.- Relayer/sidecar Seal defaults use Mysten's initial committee aggregator on
testnet.mainnetkeeps the legacy independent key server pair until an official Mainnet committee aggregator is available. MemWalManualkeeps the legacy independent Testnet default for compatibility. PasssealServerConfigsto use a committee aggregator manually.- Use
sealServerConfigsto override the built-in default with another committee by providingobjectId,weight, andaggregatorUrl.
Relayer configuration
The fields above configure the client SDKs. If you run your own relayer, its behavior is configured through environment variables rather than these config objects. One option to be aware of is the Sui RPC transport, SUI_GRPC_URL. Set this to a Sui gRPC fullnode URL to route the relayer's Sui calls through gRPC instead of JSON-RPC. It covers both the write path (Walrus register and certify, Seal, and Enoki build) and the blob query and restore path. It is empty by default, which keeps JSON-RPC. This option exists to migrate ahead of the Sui JSON-RPC sunset in July 2026.
For the full list of relayer settings, see the Environment Variables reference and the Self-Hosting guide.