Skip to main content
Files are the fundamental units of storage in Tusky. Every file you upload is published to the Walrus decentralized storage network and served back to you through your dedicated aggregator. This page covers the upload process, supported formats, storage duration, and retrieval.

Upload process

1

Select an environment

Choose the environment where the file will live. The environment’s encryption setting determines whether the file is encrypted before upload.
2

Upload the file

Drag-and-drop or select a file from your device. If the environment is encrypted, Tusky encrypts the file client-side in your browser before any data leaves your machine.
3

Publish to Walrus

Tusky sends the (optionally encrypted) file data to Walrus using your dedicated managed wallet. The Walrus network encodes the data with erasure coding and distributes it across storage nodes.
4

Confirm storage

Once Walrus confirms the storage transaction on Sui, Tusky records the blob ID and metadata. The file is now retrievable through your aggregator.
Tusky batches multiple small files into quilts to reduce on-chain transaction costs. Each individual file within a quilt is assigned a unique quilt patch ID so it can be addressed independently.

File metadata

Every file stored in Tusky carries the following metadata:
FieldDescription
NameOriginal file name (preserved on upload).
MIME typeDetected content type (e.g. image/png, application/pdf).
SizeFile size in bytes.
Blob IDThe Walrus blob identifier — a unique content-addressed hash.
Quilt patch IDIf the file was batched into a quilt, this ID addresses the individual file within that quilt.
EnvironmentThe parent environment containing this file.
Storage epochsNumber of Walrus epochs the file is stored for.
Auto-extendWhether automatic storage renewal is enabled.
Created atTimestamp of the initial upload.

Supported file types

Tusky accepts virtually any file type. Common categories include:

Images

PNG, JPEG, GIF, WebP, SVG, TIFF, BMP, AVIF

Video

MP4, WebM, MOV, AVI, MKV

Audio

MP3, WAV, FLAC, OGG, AAC

Documents

PDF, DOCX, XLSX, PPTX, TXT

Data

JSON, CSV, XML, YAML, Markdown

Archives

ZIP, TAR, GZ, 7Z, RAR
The maximum file size is 2.5 GB per upload. Files exceeding this limit will be rejected. If you need to store larger datasets, split them into multiple files or contact support.

Storage duration and epochs

Walrus measures storage time in epochs. When you upload a file you choose how many epochs it should be stored for. One epoch corresponds to a fixed period defined by the Walrus protocol.
Select a specific number of epochs at upload time. The file is guaranteed to be available for that duration. Once the epochs expire, the data is no longer replicated by Walrus storage nodes.
You can change the auto-extend setting for individual files or apply it as an environment-wide default. Environment-level settings are inherited by new uploads but can be overridden per file.

Blob IDs and quilt patch IDs

Every piece of data on Walrus is identified by a blob ID — a content-addressed identifier derived from the data itself. Blob IDs are deterministic: the same data always produces the same blob ID. When Tusky batches multiple files into a single quilt, the quilt as a whole receives one blob ID. Each individual file within the quilt is assigned a quilt patch ID that lets you address it independently. You can retrieve files using either identifier through your aggregator:
# By blob ID
https://<your-aggregator>/v1/blobs/{blobId}

# By quilt patch ID
https://<your-aggregator>/v1/blobs/by-quilt-patch-id/{quiltPatchId}
Quilt patch IDs are Tusky-specific identifiers. If you eject your blobs to your own wallet and access them directly through the Walrus network, you will use the underlying blob ID.

File lifecycle

Upload → Encrypt (if private environment) → Batch into quilt → Publish to Walrus → Retrieve via aggregator
  1. Upload — File data is sent to Tusky (encrypted client-side for private environments).
  2. Batch — Small files may be combined into a quilt for cost efficiency.
  3. Publish — The quilt or standalone blob is published to Walrus through your dedicated managed wallet.
  4. Store — Walrus erasure-codes the data and distributes it across storage nodes for the chosen number of epochs.
  5. Retrieve — Files are served through your private aggregator URL, with CDN caching for fast delivery.
  6. Expire or renew — When storage epochs end, the file is no longer guaranteed. With auto-extend enabled, Tusky renews automatically.

Deleting files

Deleting a file in Tusky removes its metadata and stops serving it through your aggregator. However, the underlying Walrus blob persists on the network until its storage epochs expire. This is a property of decentralized storage — data availability is governed by the protocol, not by any single party.
If a file was uploaded to a public environment, anyone who recorded the blob ID can still retrieve it directly from Walrus until the epochs expire, even after you delete it in Tusky.

What’s next?