Built on Sui and Walrus: zkLogin, decentralized storage, and end-to-end encryption in production

Loading the page. The article is below.


Built on Sui and Walrus: zkLogin, decentralized storage, and end-to-end encryption in production

How a save actually works

  1. The data is encrypted in the browser. The key never leaves the device.
  2. The ciphertext is erasure-coded using Walrus encoding (Reed–Solomon).
  3. A register transaction on Sui reserves the storage and creates the Blob object.
  4. The encoded slivers are pushed to Walrus storage nodes through an upload relay.
  5. BLS confirmations from the nodes are submitted in a certify transaction on Sui, which finalizes the save.

Why decentralized storage at all

Most productivity tools store what you type on the vendor’s servers. That is convenient, but the vendor can read it, and if the product shuts down your data goes with it.

This site inverts that. Data is encrypted in the browser before it leaves the device, so the operator cannot read it. It is stored on Walrus, a decentralized storage network, with the record of that storage living on the Sui blockchain. The front end itself is served from Walrus Sites, so even the hosting is not tied to a single provider.

zkLogin: no seed phrase, no wallet required

The biggest barrier to Web3 apps is asking people to create a wallet and safeguard twelve words. For a business tool that is a non-starter.

This site uses Sui zkLogin, so signing in with a Google account is enough to get a usable on-chain address. Users never see or record a seed phrase, and a zero-knowledge proof keeps the link between the Google account and the on-chain address private. Users who already have a wallet can connect it instead (SIWS).

Sponsored transactions: users hold no crypto

Writing to a blockchain costs gas, and storing on Walrus costs WAL. Requiring users to acquire either one would defeat the purpose of a free utility site.

Both are paid by the operator, and the transactions are signed with the operator’s key. Users hold no crypto and are never shown a signing prompt when they save.

One blob per user, not one per tool

Walrus spreads each blob across roughly a thousand shards using erasure coding. Because of that, the encoded size has a floor: even a tiny document reserves tens of megabytes of storage.

Storing each tool separately would pay that floor once per tool. Instead every tool’s data is merged into a single bundle, one blob per user. Before each push the latest remote bundle is fetched and merged per-namespace by timestamp, so a save from one device never rolls back what another device just wrote for a different tool.

Recycling storage instead of discarding it

Buying fresh storage on every save would leave old blobs squatting on their reservation until it expires. Auto-synced blobs are therefore registered as deletable: once a new save is certified, the previous blob is deleted and its Storage resource is reclaimed for reuse.

Deletion and certification are batched into one transaction, with a fallback that retries the certification alone if the deletion half fails. Save reliability is worth more than the savings.

Who this is for

Developers who want to see how Sui and Walrus are used in a real, running product rather than in a demo, and anyone choosing tools on the basis that their data should not be held by a single company.

Honest caveats

Replicating to the network takes 20–30 seconds, because two on-chain finality steps are involved. It will never be as fast as writing one row to a company database. Your data is written to local storage instantly, though, so nothing is lost while the upload runs in the background. Note also that public share links carry the decryption key in the URL fragment, so anyone with the link can read that document.

FAQ

Q. Can the operator read my data?

A. No. Encryption happens in the browser and the key never leaves the device, so only ciphertext reaches the network. The exception is anything you deliberately publish as a share link, which is readable by anyone holding that link.

Q. Do I need a wallet or any crypto?

A. No. Signing in with Google is enough, via Sui zkLogin. Gas and storage costs are paid by the operator, so users never acquire SUI or WAL.

Q. Why does saving take 20–30 seconds?

A. Two on-chain finality steps (register and certify) bracket the erasure coding and the upload to multiple storage nodes. Local storage is written instantly and the upload continues in the background, so there is nothing to wait for.

Q. Which network does this run on?

A. Sui mainnet, and Walrus mainnet on top of it. This is not a testnet deployment.

Q. What happens to my data if the site disappears?

A. A copy stays on your device and can be exported to JSON at any time from the backup button. Data on Walrus is held by independent storage nodes rather than a company server. Storage does expire, however, so treat the JSON export as the long-term archive.

Related pages

日本語版About this siteTool Hub