July 30, 2025
By
Walrus Foundation

TypeScript SDK Upgrade: Powering More Apps with Upload Relay

The official Walrus TypeScript SDK expands its toolkit with the Upload Relay, enabling optimized data uploads and Quilt support for native small-file efficiency.

The Walrus developer community continues to show incredible momentum since Walrus’s Mainnet launch in March:

As the Walrus ecosystem matures, builders are creating more dynamic applications and we’re constantly seeking ways to improve the Walrus developer experience. 

Recently we launched Quilt to make it intuitive and cost-effective to upload small files. Today, we are releasing a major upgrade to the Walrus TypeScript SDK to supercharge it with two key features: the new Walrus Upload Relay for faster, more reliable uploads, and native SDK support for Quilt.

Previously, developers could leverage either a Publisher or the TypeScript SDK to upload data on Walrus. While the Publisher offered a convenient and efficient API for applications, it came with a number of tradeoffs:

  • The need to operate a Publisher in a cloud environment
  • The need to for users to trust that the Publisher is honest 
  • No support for end-users with wallets to directly pay for uploads

The updated Walrus TypeScript SDK enables client application users to interact with Walrus directly with their own wallets. The SDK can be used in two ways: to build TypeScript-based backends running in cloud infrastructure or to directly build client applications running in a web browser. 

Today’s TypeScript SDK upgrade introduces the following enhancements:

  • For developers using the SDK, we're augmenting it with the new Walrus Upload Relay. Upload Relay is a powerful but lightweight and easy-to-use companion service that makes uploading data to Walrus faster and more reliable.
  • The updated Walrus TypeScript SDK also adds native support for Quilt, offering a comprehensive toolkit for TypeScript developers storing both small and large files on Walrus. This is achieved in the form of a new WalrusFile API, unifying blobs and quilts alike underneath one common abstraction. 
  • We’re also releasing the Walrus Upload Relay Example application, an open-source demo that demonstrates how to integrate the TypeScript SDK in a client application and how to use a Walrus Upload Relay operated by Mysten Labs for improved performance and reliability.

Building with the Walrus TypeScript SDK

The Walrus TypeScript SDK is the official toolkit for building web or backend applications in the TypeScript language. Built by Mysten Labs, the development team behind Sui and Walrus, the Walrus TypeScript SDK now allows users to fund and manage their own storage via wallets they own. Advanced builders can leverage the Upload Relay, alongside custom smart contracts and Sui transaction blocks, to implement alternative payment schemes for uploads. Using the Upload Relay, any client applications built using the TypeScript SDK and the Relay will have confidence that user uploads are faster, more reliable.

Meet the Walrus Upload Relay

Walrus Upload Relay is a powerful new companion binary for the Walrus TypeScript SDK that makes it easier and faster for apps to upload data to Walrus. The relay acts as a specialized, high-performance lane for an application's data, taking over the task of encoding and distributing data shards across Walrus’s decentralized network of storage nodes. Designed to be more lightweight than the Publisher, any developer can run a Relay for their own applications, so you don't have to rely on a third-party operator. Plus, aspiring Relay operators can easily set up a Relay and get paid for the service in SUI.

Walrus Upload Relay makes it easier and faster for apps to upload data to Walrus by handling the heavy lifting of data distribution.
Walrus Upload Relay makes it easier and faster for apps to upload data to Walrus by handling the heavy lifting of data distribution.

Key benefits of the Walrus Upload Relay include:

  • Empowering client apps: Without having to handle numerous HTTP requests to write data to storage nodes, client apps can now be made simpler, more efficient, and more resilient under everyday consumer conditions. Uploads are faster and more reliable with a Relay even in the presence of poorer connectivity.  
  • Lower infrastructure requirements: The Upload Relay is a simple service, and can easily be operated without deep infrastructure expertise. Data upload sizes are reduced as the client sends unencoded data to the Relay.
  • Minimal trust: For developers hesitant to rely on another operator, they can operate an Upload Relay themselves, reducing operator dependencies and limiting backend management concerns.  The Upload Relay is untrusted for upload correctness, as the client application can detect if the Relay becomes compromised or malicious. 
  • Deepening network resilience and optionality: The Upload Relay diversifies how client applications connect to the Walrus network. Builders can run a private Upload Relay for themselves, have the option to offer it for use by other builders for a fee, or can use other community-run relays. 
  • Financial sustainability: Relay operators offering service to others can configure their instance to accept side-channel payments in SUI, allowing infrastructure operators and SDK builders to monetize Upload Relay services as Walrus grows.

Optimizing the ‘last mile’ of data uploads

To store data on Walrus, an application’s client software must distribute data shards to storage nodes across the network. While this "last mile" of the upload process is fundamental to Walrus's decentralized nature, it can be too intensive for client applications to manage directly—particularly as users expect modern applications to operate seamlessly in high-mobility, low-connectivity, everyday consumer environments.  

The Publisher and the TypeScript SDK+Relay combination solve these problems with different tradeoffs, which are illustrated in the table below across a full spectrum of attributes:

Publisher TypeScript SDK + Relay TypeScript SDK without Relay
Upload Environment

Cloud infra on cloud computing resources

Client app use: Web browser on desktop, laptop, or mobile phone

Backend use: Cloud infra

Client app use: Web browser on desktop, laptop, or mobile phone

Backend use: Cloud infra

Operating Environment

Controlled data centers with controlled networks/networking

Everyday consumer environment that changes with user mobility.

Network connectivity is determined by the specific device and user environment.

Works in consumer environments, but may be less reliable due to the high number of requests required to upload files.

Uploads can be unreliable in low-connectivity conditions.

Infra Requirements Medium – More infra required Light – Relay only No additional infra required
Application Upload Flow Efficiency

Most Efficient

Minimal work is required from the client application.

  1. 1 HTTP request to the Publisher

Average Efficiency

The client application performs more work.

  1. Encode blob
  2. Execute transaction to register blob
  3. HTTP request to write through the relay
  4. Execute transaction to certify blob

Least Efficient

The client application performs all steps directly:

  1. Encode blob and slivers
  2. Execute transaction to register blob
  3. >1000 HTTP requests to write to all storage nodes
  4. Execute transaction to certify blob
Trust Assumption

High

Users must trust the publisher.

Publisher encodes and verifies data integrity on Walrus.

Medium

Users can detect if the Relay is compromised.

Client performs encoding and certifies.

Low-Medium

Applications upload directly to Walrus without additional infra.

Wallet Setup

Wallet is owned by Publisher.

End-user does not interact with Walrus network.

Client app use: Wallet interaction required

Backend use: Application provides its own signer

Client app use: Wallet interaction required

Backend use: Application provides its own signer

Payment

Publisher acquires SUI and WAL and pays Walrus.

End-user payment not supported directly.

Client app use: End users acquire SUI/WAL and pay

Backend use: Application signer must have SUI/WAL

Client app use: End users acquire SUI/WAL and pay

Backend use: Application signer must have SUI/WAL

API

HTTP API – opinionated and restrictive

WalrusFile API – generic decentralized file API

WalrusFile API – generic decentralized file API

Language

Language-agnostic

TypeScript (for both client app and backends)

TypeScript (for both client app and backends)

File Upload Limits

Operator-configurable.

Can support up to hundreds of MB or more

~500 MB due to memory size constraint with WASM

~500 MB due to memory size constraint with WASM

In summary, the Publisher is the most efficient, high-trust, infrastructure-heavy, solution for developers looking to integrate Walrus in a wallet-less fashion. The TypeScript SDK + the Upload Relay provide a low/medium trust, medium efficiency, infrastructure-light solution that should always be preferred when building client apps with direct user wallet interactions with Walrus.  

Having both alternatives ensures that builders and developers have the full set of toolkits for building diverse and rich application experiences with Walrus.

See it in action with the Walrus Upload Relay Example

To showcase the power of the upgraded Walrus TypeScript SDK and Upload Relay we’ve launched the  Walrus Upload Relay Example, an open-source application on Walrus Testnet. 

The Walrus Upload Relay Example is a straightforward app that serves as a practical, hands-on reference of how to integrate the Walrus TypeScript SDK and Walrus Upload Relay in a client application. 

The Walrus Upload Relay Example frontend demonstrates: 

  • How to support simple data uploads via user wallets on Walrus and Sui
  • How to use the Upload Relay with the SDK.
  • Connecting to a user’s web wallet, the user's connected wallet owning the data storage directly 
  • Using the TypeScript SDK for Walrus read/write operations

Developers can use the Walrus Upload Relay Example codebase as a starting point to explore the basics of building with the Walrus TypeScript SDK. 

Mysten Labs is operating Walrus Upload Relay instances for the developer community to use on both Testnet and Mainnet. Builders who would rather use a community relay instead of running their own—or who want to diversify their application’s options for connecting to Upload Relay—can integrate the Mysten Labs Relay to start using it for blob uploads today. You can access Mysten Labs Relays on Testnet here and on Mainnet here. You can also look to the Walrus Upload Relay Example as an implementation reference.

Get started with the Walrus TypeScript SDK and Walrus Upload Relay

The Walrus TypeScript SDK is the official, feature-rich toolkit for TypeScript developers building on Walrus. It’s designed to be the easiest implementation choice for:

  • End user managed and owned uploads: Perfect for applications where users pay for their own storage directly from their wallets with SUI and WAL.
  • Common everyday consumer operating conditions: Built for resilient and reliable uploads even under low-connectivity conditions. 
  • Common file sizes: The SDK is best suited for files under 500MB due to the memory constraints of WASM. Larger files should be divided into suitably-sized chunks before uploading.

While Walrus Upload Relay is powerful, it’s also lightweight and easy to operate. Try running a relay yourself to see how it improves your application’s write power, while diversifying the avenues available to connect to the Walrus network. Get started by following this guide.

Try the supercharged Walrus TypeScript SDK with Walrus Upload Relay and Quilt support today: 

Our mission of best-in-class developer experience does not stop here — we will be pushing out more Typescript SDK enhancements, including more resilient network handling, better concurrency control, and improved WASM encoding management in the near future. Please stay tuned and follow Walrus on X for future updates.