Skip to main content
Allium publishes blockchain data to Walrus, Mysten Labs’ decentralized storage protocol on Sui. Data is batched into Quilts and encrypted with Seal so that only wallets on our onchain allowlist can decrypt them.
Supported chainsOnly the following chains are available via Walrus today: bitcoin, ethereum, arbitrum, sui, tron, and xrp_ledger. For any other chain, use one of the other datashare integrations.
When to use this integrationPick Walrus if you want to pull data from a decentralized storage network rather than a cloud data warehouse. If you just need data in your own cloud, see S3 & GCS or one of the warehouse integrations.

How it works

  • Quilts group many small files (one “patch” per file) into a single Walrus blob — cheap for lots of small parquet/JSON files.
  • Seal encrypts every patch before upload. Decryption requires threshold shares from multiple independent key servers.
  • Your wallet address is added to an onchain whitelist. At read time, key servers dry-run a seal_approve call against that whitelist to decide whether to release decryption shares.
  • You fetch the encrypted patch from any Walrus aggregator, then decrypt locally using your SessionKey.

Getting Started

1

Contact us to get allowlisted

Reach out with your Sui wallet address. We’ll add it to the Allium Seal whitelist package on Sui mainnet so the key servers will approve decryption for your wallet.
2

Set up Seal decryption on your side

Install the @mysten/seal SDK and wire it up with the three key servers listed below. Create a SessionKey to sign decryption requests — see the Seal docs on creating and using a SessionKey.
3

Get your quilt patch IDs from Allium

Contact us for the quilt and quilt-patch IDs for the datasets you’re subscribed to. We publish these on a cadence and share them.
4

Fetch and decrypt

Fetch each encrypted patch from any Walrus aggregator:
GET https://aggregator.walrus-mainnet.walrus.space/v1/blobs/by-quilt-patch-id/{patchId}
Then decrypt the returned bytes through your Seal client using the SessionKey from the previous step. See Walrus HTTP API for more on quilt patch endpoints.

Key Servers

We use a 1-of-2 threshold across two independent Seal key servers. Your Seal client should be configured with both.
Key ServerOperator
NatsAINatsAI
NodeinfraNodeinfra
You don’t need to know the onchain details — just contact us and we’ll add your wallet to our Seal package’s whitelist so the key servers will release decryption shares to you.

References

Stuck, or want us to run you through a working end-to-end example? Contact us — we’re happy to pair on setup.