limits
Limits
Limits
| Item | Value |
|---|---|
| Account quota | 50,000,000,000 bytes (50 GB) of live objects |
| Object size | 100,000,000 bytes (100 MB) |
| Request body | 100 MB + multipart slack |
| Key length | 1–1,024 bytes |
| Bucket name length | 3–48 characters |
| Bucket name characters | a-z, 0-9, ., -; starts and ends with a letter or digit |
| Objects per bucket | not limited separately; the 50 GB account quota applies |
ListObjectsV2 max-keys | 1–1,000 |
| Multipart | 1–10,000 parts, each ≤ 100 MB; total object ≤ 100 MB |
| Active multipart uploads | 20 per account; unfinished >24h are aborted |
| Presign TTL | 1 second – 7 days |
| Access key | 20 characters (T4 + 18) |
| Secret | 40 base32 characters, shown once |
| Balance to write | at least Rp1; no minimum balance |
- The account quota is 50 GB; larger capacity is not sold yet (on request).
Balance, debt and data
- Any positive balance (≥ Rp1) allows uploads and API-key creation.
- A monthly debit leaving Rp0 or a negative/unpaid amount stops storage.
- Unpaid/negative amounts are debt with a 10-day grace period. During grace
data is kept and top-up is available. After 10 days objects and buckets are deleted and API keys revoked; the invoice/debt remains until paid.
- Reads/deletes are unavailable while the service is stopped; Billing and
top-up stay reachable.
Current service level
- Object data is replicated across two racks (SeaweedFS
010), so one disk
or volume server can fail without losing the only copy. There is still no object backup, HA or SLA, and both racks are in the same data center.
- Master, filer and S3 are still single instances, so the control plane is not
HA. A site-wide failure can still take the service down.
- Cloudflare is in Flexible mode; origin transport is not TLS and the body
ceiling is 100 MB.
- Tariffs, quota, debit and debt rules are described on Pricing and Credits.
Why 100 MB?
t4.dalang.io currently sits behind Cloudflare in Flexible mode, which cuts request bodies at roughly 100 MB. T4 refuses earlier with 413 EntityTooLarge so clients get a clear message instead of a dropped connection. The ceiling rises once the origin has TLS and Cloudflare is switched to Full (Strict).
Multipart upload is supported for client compatibility, but the total object is still capped at 100 MB; CompleteMultipartUpload refuses anything larger.
Path style
Use https://t4.dalang.io/{bucket}/{key}. Virtual-host style (https://{bucket}.t4.dalang.io/...) is not supported and is rejected.
Region
The T4 API region name is **id-jkt-1**. It is only a label: data is stored in Dalang Data Center, Pandeglang, Banten, Indonesia. Region does not affect where data is stored: any value is accepted in the signature, including auto and us-east-1 for legacy clients, but examples use id-jkt-1.