Import from cloud
Six cloud providers, one shared upload flow. Connect once, then pull files from any of them without downloading to your laptop first.
What "import from cloud" means
When you pick a cloud source instead of a local file, the dapp fetches the bytes from the provider on your behalf and pushes them straight to Walrus. Your browser never holds the file in memory, and the engine never sees the bytes either — the dapp is just a routing layer.
For S3, GCS, and Azure you paste read-only credentials; for Google Drive and Dropbox you OAuth in; for SFTP you give a hostname + key.
Six supported connectors
The common upload flow
Regardless of provider:
Step 1 of the wizard shows tiles for each provider next to "Local file." Click one.
Either paste credentials (S3/GCS/Azure/SFTP) or OAuth in (Drive/Dropbox). Credentials are stored in your browser only — never sent to the engine.
For browsable providers (S3, GCS, Azure, Drive, Dropbox, SFTP), a file list appears. Check the files you want.
Same Config (Step 2) and Transform & Store (Step 3) screens as a local upload. Click "Upload to Walrus" — the dapp fetches the bytes server-side and pushes them to Walrus.
Per-provider setup
Amazon S3
You'll need:
- Access Key ID + Secret Access Key from an IAM user with
s3:GetObject+s3:ListBucketon your bucket - Bucket name (e.g.
my-data-bucket) - Region (e.g.
us-east-1)
Best practice: create a dedicated IAM user just for Waldrop, scoped to one bucket. The credentials stay in your browser's sessionStorage and clear when you close the tab.
Google Cloud Storage
You'll need:
- A service account JSON with
storage.objects.get+storage.objects.list - Bucket name
Paste the entire JSON into the credentials field. Waldrop signs requests server-side using the key.
Azure Blob Storage
You'll need:
- Storage account name
- Account access key (Storage Account → Access Keys in the Azure portal)
- Container name
Google Drive
Click Connect Google Drive → standard Google OAuth screen. Approve the requested scopes (drive.readonly). The dapp gets a refresh token scoped to file reads only — no write access, no email, no calendar.
Disconnect any time from Settings → Connected accounts.
Dropbox
Same shape as Google Drive: click Connect Dropbox → OAuth → approve. Scopes are read-only.
SFTP
You'll need:
- Host (e.g.
files.example.com) - Port (usually 22)
- Username
- One of: private key (paste the PEM), or password
Useful for migrating off legacy on-prem boxes that don't expose S3-compatible APIs.
Cost & speed
The fetch happens server-side, so your laptop's upload bandwidth doesn't bottleneck. But the dapp still does:
| Hop | Bandwidth |
|---|---|
| Your provider → dapp server | Provider's egress rate (usually fast) |
| Dapp server → browser-routed Walrus PUT | Bound by your home internet (small files only) |
| Files > 500 MiB | Goes direct-to-node, no browser bottleneck |
For very large datasets (multi-GB), check Multi-file uploads for the bundle / quilt strategies that batch many small files into one Walrus blob.
S3 / GCS / Azure / SFTP credentials are stored in sessionStorage and sent
to the Waldrop server only per-request to fetch the file. They're not
persisted anywhere on the server. OAuth tokens (Drive, Dropbox) ARE
server-stored — encrypted, scoped to your wallet, revocable from Settings.
Programmatic access (for developers)
The same connectors are available in the Waldrop SDK if you want to move files without the dapp UI.
@waldrop/sdk ships a WaldropClient that wraps Walrus + Sui directly.
SDK-driven cloud connectors are on the roadmap.