Find, extend, or delete a file
How to locate something you uploaded a while ago, renew its storage before it expires, and permanently delete what you don't need.
Finding a file
Files tab — your inventory
Click Files in the sidebar. You'll see every blob you've uploaded with:
| Column | What |
|---|---|
| Name | The on-chain original_name (what you typed or the OS filename) |
| Size | The blob's byte count |
| Epoch | The current Walrus epoch — useful to compute "how much longer" |
| Health | Epochs remaining before expiry, color-coded green/amber/ember |
| Type | A small chip (IMG / PDF / JSON / CSV / ZIP / FILE) |
| Encrypted | Tiny ENC badge for SEAL-encrypted blobs |
Click any row → detail panel slides in with the Walrus blob id, Sui object id, link to Walrus Explorer, and a "Copy URL" button.
Search by name
The Files tab has a search box that does case-insensitive substring match
against original_name. If you remember any part of the name you typed:
"vacation," "report-2025," "ssn" — it finds it.
History tab — chronological log
If you'd rather scroll by date than search, History shows every upload event sorted newest-first, with the Sui transaction digest for each. Useful when you remember "I uploaded that around Monday" but not the name.
I lost everything but the wallet
You can recover the full Files list from any browser by:
- Connecting your wallet
- Signing in
- Opening the dapp
The Files / History data lives on-chain in your BlobStore, not in localStorage or a backend database. Connecting the same wallet on a fresh device pulls the whole inventory.
Extending an expiring blob
Walrus blobs have an explicit expiry epoch. When the dapp shows a blob's Health in ember/red, it's within 20 epochs (~3 weeks mainnet) of expiring.
From the Files detail panel
The detail panel shows "Expires in N epochs" with a small "Extend storage" button if you're getting close to expiry.
Slider for how many more epochs you want. Live cost estimate appears to the right.
One on-chain call. The blob's expiry epoch ratchets forward.
Once a blob's epochs run out, Walrus reclaims the storage and the bytes
are unrecoverable. The on-chain Blob object in your wallet remains but
points to bytes that no longer exist. Extend before expiry.
Deleting a blob
Two reasons you'd delete:
- Free up storage — count against your plan's quota
- Privacy — you really want the bytes gone
From the Files detail panel
Confirm in the modal — deletion is permanent and on-chain.
The Move call goes to walrus::delete_blob on the Blob object in
your wallet, plus unregister_blob on your BlobStore. One PTB,
one signature.
What gets deleted
| Layer | Effect |
|---|---|
| Walrus storage | Slivers across nodes are released. WAL tokens (storage payment) refunded to the publisher. |
Sui Blob object | Removed from your wallet. |
Your BlobStore.blobs entry | Row removed, total_blobs and total_size_bytes decremented. |
| Your viewer allowlist | Cleared for this blob. Viewers' "Shared with Me" entries silently disappear. |
What doesn't get deleted
- History tab entries — the Sui transactions that registered + deleted the blob remain in the chain's history forever. You can't unmake the historical record.
- SEAL key shares — already on the key servers' disk for the encrypted blob's lifetime; servers don't actively scrub. But without a Walrus blob to decrypt, the key shares are functionally orphaned.
If "the historical record exists" matters for your threat model, don't upload sensitive data in the first place. Deletion is best-effort, not cryptographic.
What if I deleted by mistake?
There's no undelete. Walrus's storage release is final — slivers are gone in seconds. The on-chain transaction is permanent.
The only recovery path: you still have the original file on your end, and
you re-upload. The new blob will have a different blob id (Walrus is
content-addressed, but a new upload mints a new on-chain Blob even for
identical bytes — that's the design that prevents replay attacks).