Decentralized Media Storagefor Developers

Cloudinary-like API for decentralized media storage on Sui blockchain. Built-in encryption, flexible gas strategies, and seamless integration.

100%
Decentralized
Built-in
Encryption
Sui
Blockchain

Powerful Features

Everything you need to build with decentralized media storage

Decentralized Storage
Store media files on Sui blockchain using Walrus decentralized storage. No single point of failure.
Built-in Encryption
Automatic encryption support via Seal. Your files are secure by default with zero configuration.
Flexible Gas Strategies
Choose from sponsor, user, or hybrid gas payment strategies. Optimize costs for your use case.
Cloudinary-like API
Familiar API design makes migration easy. Upload, retrieve, delete, and transform with simple methods.
Automatic URL Generation
Get instant URLs for your uploaded files. No need to manage CDN or storage endpoints manually.
Type-Safe SDK
Full TypeScript support with comprehensive types. Catch errors at compile time, not runtime.

Get Started in Minutes

Install the SDK and start uploading files in just a few lines of code

Installation

pnpm.sh
pnpm add @walbucket/sdk

Quick Start

example.ts
import { Walbucket } from '@walbucket/sdk';

// Initialize SDK
const walbucket = new Walbucket({
  apiKey: 'your-api-key',
  network: 'testnet',
  sponsorPrivateKey: 'your-private-key',
});
// Upload a file
const result = await walbucket.upload(file, {
  name: 'my-image.jpg',
  folder: 'products',
});
console.log(result.assetId); // Sui object ID
console.log(result.url); // Automatically generated file URL
// Retrieve a file
const retrieveResult = await walbucket.retrieve(result.assetId);
console.log('File data:', retrieveResult.data);
console.log('File URL:', retrieveResult.url);

Code Examples

Explore real-world examples and learn how to integrate Walbucket SDK into your projects

Getting Started
Basic Upload
Upload files to decentralized storage with a simple API call
const result = await walbucket.upload(file, {
  name: 'my-image.jpg',
  folder: 'products',
});
typescript
Security
With Encryption
Upload files with wallet-gated encryption for secure access
const result = await walbucket.upload(file, {
  encryption: true,
  policy: {
    allowedWallets: ['0x...'],
  },
});
typescript
Advanced
Wallet Integration
Integrate with Sui wallets for user-pays gas strategy
const walbucket = new Walbucket({
  gasStrategy: 'user-pays',
  userSigner: walletSigner,
});
typescript
Operations
Retrieve & Delete
Retrieve and delete files from decentralized storage
const file = await walbucket.retrieve(assetId);
await walbucket.delete(assetId);
typescript

Walbucket vs Cloudinary

See how Walbucket compares to traditional cloud storage solutions

Feature
Walbucket
Decentralized
Cloudinary
Centralized
Decentralized StorageNo single point of failure
Blockchain-BasedImmutable metadata on Sui
Wallet-Gated EncryptionNative encryption with Seal
Developer-Sponsored GasUsers don't pay gas fees
CDN DeliveryFast global content delivery
Image TransformationsOn-the-fly image processing
Video ProcessingVideo encoding and streaming
Free TierGenerous free usage limits
API SimplicityEasy-to-use developer API
Ownership & ControlTrue ownership of your assets
Decentralized
Built on Sui blockchain with Walrus storage. No vendor lock-in, no single point of failure. Your data, your control.
Wallet-Gated
Native encryption with Seal protocol. Control who can access your files with wallet-based permissions.
Developer-Friendly
Sponsor gas fees for your users. Simple API, familiar patterns. Cloudinary-like experience with blockchain benefits.

Built for Developers

Trusted by developers building the future of decentralized applications

0%
Uptime
Decentralized reliability
0%
Vendor Lock-in
True ownership
0+
Files
Supported formats
0/7
Support
Community-driven

Ready to Get Started?

Join developers building the future of decentralized media storage. Start integrating Walbucket SDK in minutes.