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

PlanPer fileTotal storageStored filesFile lifetime
No account (guest)100 MB——24 hours
Basic500 MB2 GB20028 days
Pro1 GB20 GB2,000While 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.

ScopeUploadStatusDownload URL
Per API key10 / min60 / min30 / min
Per account15 / min, 500 / day90 / min60 / min
Per IP address30 / min, 800 / day180 / min120 / min

There are no hourly upload windows. Each IP address can also upload up to 10 GB a day, and uploads priced without an account are capped at 5 a day per IP address.

Marketplace daily caps

Listing and buying have their own daily quotas per account. Basic can list 5 files and buy 10 a day; Pro can list 50 and buy 100. A listing requested at upload time (X-Listing-Intent or the MCP transfer tool) spends the same quota; over it, the file is still uploaded but not listed, and the response carries listingSkipped.

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.

ScopeMax concurrent uploads
Per API key2
Per account3
Global60

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.