WaldropClient
The top-level entry point. Composes four sub-domain APIs (blob, crypto,
cost, subscription) under one client instance, sharing a single Sui gRPC
connection and network config.
Constructor
All options are optional. Zero-config defaults to testnet with the public Walrus endpoints.
Options
| Option | Type | Default | Description |
|---|---|---|---|
network | "testnet" | "testnet" | Network selector. Mainnet support lands when Waldrop deploys there. |
suiGrpcUrl | string | per-network | Custom Sui fullnode endpoint. |
walrusAggregatorUrl | string | per-network | Walrus aggregator base URL (read side). |
walrusPublisherUrl | string | per-network | Walrus publisher base URL (write side). |
packageId | string | PACKAGE_ID constant | Override the Waldrop Move package id. |
suiClient | SuiGrpcClient | constructed | Reuse a pre-built @mysten/sui client (dapp-kit). |
fetchTimeoutMs | number | 30_000 | Default per-call timeout for aggregator fetches. |
Sub-domains
Upload, download, list, fetch, and per-blob sharing.
SEAL threshold encrypt / decrypt. Lazy-loads @mysten/seal.
Live Walrus pricing forecast in FROST / WAL.
Read-side checks for plan tier, expiry, and active status.
Properties
Type guard
isWaldropClient(value) returns true when value is a WaldropClient
instance, even across realm boundaries (multiple npm copies, iframes, web
workers).
When you already have a SuiGrpcClient from dapp-kit's useCurrentClient(),
pass it via suiClient to share one network connection across the whole
app instead of opening a second one.