Limits & Quotas
Payaion enforces limits to ensure fair usage and service stability. These limits apply to all users, whether using the web interface or the Aion API.
Starting conservative: storage and file caps are deliberately modest for launch and will rise as we gather usage data. Payments and storage both run on production networks — USDC on Base mainnet, blobs on Walrus mainnet.
File & storage limits
| Plan | Per file | Total storage | Stored files | File lifetime |
|---|---|---|---|---|
| No account (guest) | 100 MB | — | — | 24 hours |
| Basic | 500 MB | 2 GB | 200 | 30 days |
| Pro | 1 GB | 20 GB | 2,000 | While the subscription stays active |
An oversized file returns 413 size_limit_exceeded, a full account returns 403 storage_limit_exceeded, and too many stored files returns 403 file_count_limit_exceeded — all are rejected before the upload body is read, so there is nothing to retry until you free space or upgrade. See Plans & pricing for what Pro changes.
Upload rate limits
Rate limits protect the service from abuse. If you exceed a limit, you'll receive a 429 response with a Retry-After header.
| Scope | Upload | Status | Download URL |
|---|---|---|---|
| Per API key | 5 / min | 30 / min | 30 / min |
| Per account | 10 / min | 60 / min | 60 / min |
| Per IP address | 20 / min | 60 / min | 60 / min |
Concurrency limits
Concurrency limits control how many uploads can be in-flight at the same time. If you exceed the limit, you'll receive a 503 response.
| Scope | Max concurrent uploads |
|---|---|
| Per API key | 2 |
| Per account | 3 |
| Global | 60 |
Blocked file types
The following MIME types are blocked and will return 415 Unsupported Media Type:
- Executables (
.exe,.msi) - Shell scripts (
.sh,.bat) - Other executable formats (
.com, portable executables)
Handling rate limits
Best practice: Check the Retry-After header in 429 and 503 responses. Wait the specified number of seconds before retrying.
Need more details?
See Errors & retries for a full list of error responses and how to handle them.