
Why choose Square Cloud Blob Storage?
As the largest bot hosting platform in Latin America, trusted by 80 of the 100 largest Brazilian Discord servers, we built Blob Storage to solve a problem our own community kept hitting: Discord’s CDN was never meant to be a storage backend, and links break, expire or get rate-limited. Blob Storage replaces that with an object store designed for durability. The design is simple on purpose: S3-compatible object storage is the source of truth for your files, and a global CDN delivers them from the edge. You get the 11-nines durability of an S3 design with the read latency of a global cache, and every plan includes generous storage.Key features
No transfer fees
Zero ingress and egress fees. Upload and serve as much as you need: you pay for storage, never for bandwidth.
Global CDN
Public files are served from a global CDN, at the edge, close to your users wherever they are.
Private files
Store files without a public URL and hand them out through temporary links or share links. Switch any file between public and private at any time.
Share links
Links that expire, can be revoked, cap the number of downloads and, on Pro and Enterprise, ask for a password.
S3-compatible
Use aws-cli, boto3, rclone or any AWS SDK through the S3 gateway, with credentials derived from your API key.
Browser uploads
Your server mints an upload token and the browser uploads directly, without ever seeing your API key.
Rules per prefix
Set defaults (visibility, expiry, cache), limits (size, file types) and automatic deletion after N days for everything under a prefix with account settings.
Server-side operations
Copy, move and rename files without downloading them, and change headers (cache, disposition, metadata) in place.
How it works
Files come in through the REST API, the browser (with an upload token) or any S3 tool. Each file is either public or private, and goes out through a public URL, a temporary link or a share link.Storage and pricing
Storage comes with your plan, and there are no transfer fees: you only ever pay for what stays stored above the quota.Included storage
Every plan includes storage at no extra cost, and it grows with the plan:Reaching your quota
When your usage reaches the included quota, new uploads are refused withSTORAGE_QUOTA_EXCEEDED until you free space or upgrade your plan. Everything already stored keeps being served normally. Storage held above the quota (for example after a plan downgrade) is priced at:
Storage above the quota
R$ 0.20 per started GiB beyond your included quota.
Account Stats reports your current usage, this month’s average and the estimated cost of any storage held beyond the quota.
Blob Storage is only available with an active plan. An account without an active plan can still list, download, delete and make files private. When a plan expires or is canceled, stored files enter a deletion queue, so renew as soon as possible: files already deleted can’t be recovered.
Features by plan
Every plan gets the full API: public and private files, temporary links, share links, the S3 gateway, upload tokens and rules per prefix. A few options depend on the plan, and all of them answer the same403 UPGRADE_REQUIRED code, with a message naming the plan (or the limit) that applies:
Public and private files
Every object is either public or private, and itsid says which: pub/<user_id>/<path> or prv/<user_id>/<path>.
- Public files have a permanent CDN URL:
https://blob.squarecloud.dev/pub/<user_id>/<path>. - Private files have no public URL (
urlisnull). You read them through a temporary link, a share link, the API or the S3 gateway. - Legacy files, uploaded before the September 2026 update, keep their original id
<user_id>/<path>, and every route accepts it. Their original URL onhttps://public-blob.squarecloud.dev/<user_id>/<path>keeps working for 30 days, until October 25, 2026: move them with Object Copy (move: true) to get a URL onblob.squarecloud.dev.
Supported file types
Practically any file type is accepted, including formats with no registered MIME type:.bam, .vcf, .fasta, .fastq, .parquet, .h5, .npy and so on. The stored extension comes from the filename you upload, and compound compression suffixes are preserved (reads.fastq.gz stays .fastq.gz).
The only exception is a denylist of executables and installers (.exe, .msi, .bat, .apk and similar), refused with BLOCKED_FILE_TYPE.
Performance and durability
Blob Storage went through extensive benchmarks before launch. Key findings:- Latency: files are received in ~11 ms on average.
- Durability: designed for 99.999999999% (11 nines).
- Edge delivery: public files are cached at the CDN edge, so repeated reads never travel back to the origin.
- Health check:
https://blob.squarecloud.dev/pub/statusanswersOKand is never cached, so you can point your monitoring at it.

Note: Benchmark results come from controlled tests and vary with geographic location, file size, network quality and peak usage. For the most accurate numbers, test from your production environment.
How to host your files
1
Get an API key
Create an API key with the
blob:write scope in your account settings. See Authentication.2
Upload
Send files up to 100 MB to Object Post. Larger files, up to 10 GiB, go through the chunked upload flow. Prefer S3 tools? Point them at the S3 gateway instead.
3
Serve
Use the
url from the response for public files, or create a temporary link or a share link for private ones.Frequently asked questions
Which plan do I need for Blob Storage?
Which plan do I need for Blob Storage?
Blob Storage is available on any plan, Hobby and up, each with its own included storage quota (see the table above). See Plans and Pricing for the full comparison.
What happens when I reach my included storage quota?
What happens when I reach my included storage quota?
New uploads are refused with
STORAGE_QUOTA_EXCEEDED until you delete objects or upgrade your plan. Everything already stored keeps being served normally. Storage held above the quota (for example after a downgrade) is priced at R$ 0.20 per started GiB, and Account Stats shows the estimate at any time.Can I use S3 tools?
Can I use S3 tools?
Yes. The S3 gateway at
https://s3-blob.squarecloud.app works with aws-cli, boto3, rclone and the AWS SDKs. Get the access key pair from S3 Credentials: it is derived from your API key, so revoking the key revokes the pair.Which features depend on the plan?
Which features depend on the plan?
Every plan gets rules per prefix (5 on Hobby and Standard, 10 on Pro, 20 on Enterprise). Custom metadata and password-protected share links need Pro or Enterprise. Expiries and automatic deletion under 7 days, and files served without edge cache, need Enterprise. Outside those plans the request is refused with
403 UPGRADE_REQUIRED, and its message names the plan that unlocks the feature.Do my old file URLs still work?
Do my old file URLs still work?
For 30 days. Legacy files, uploaded before the September 2026 update, keep their URL on
public-blob.squarecloud.dev until October 25, 2026, and their id <user_id>/<path> keeps working on every route. To keep a public link after that, move the file with Object Copy (move: true): new files are served from blob.squarecloud.dev/pub/..., and their id starts with pub/ or prv/.
