Limits
This page enumerates the platform’s hard limits. Each row carries a stability grade that tells you whether the number is safe to bake into automation:File uploads
Stability: hardcoded. Source:
apps/web/src/lib/storage/config.ts.Accepted types
Images:jpeg, png, gif, webp, svg+xml.
Documents: PDF, Word (doc/docx), Excel (xls/xlsx), PowerPoint (ppt/pptx).
Code and text: txt, md, json, xml, yaml/yml, js, ts, jsx, tsx, vue, svelte, py, rb, go, rs, java, kt, scala, c, cpp, h, hpp, cs, html, css, scss, less, sql, sh, bash, zsh, toml, ini, cfg, conf, and more.
Binaries: archives (zip/tar/gz/rar/7z/bz2/xz/tgz), media (mp4/mp3/wav/webm/ogg/flac/aac/m4a/avi/mov/mkv), data files (db/sqlite/parquet/arrow), fonts (ttf/otf/woff/woff2), app packages (apk/ipa), Python packages (whl/egg).
Storage quota
Stability: configurable default. Code defaults live in
packages/types/src/subscription.ts; effective values come from the backend plan catalog.Internal plan codes and display names diverge for historical reasons:
pro displays as Plus, max displays as Pro. When reading API responses, branch on the code, never the display name.Credits and validity
Stability: grant amounts are configurable defaults; validity periods are hardcoded.
Plan-granted credits:
Referral caps by plan
The counting basis is
rewarded — only invites that actually paid out count. Invites blocked by risk control do not consume the allowance.
Expert configuration constraints
Stability: hardcoded. Source: request validation in
services/core/src/routes/marketplace-expert/index.ts.
Price 0 makes the expert free (
billingType = FREE); anything above 0 makes it unlock-based (UNLOCK). There is no third mode.
Setting trial turns to 0 falls back to the global default (configurable in the backend), it does not mean “no trial.” Actually disabling trials requires the expert mode setting — see Pricing and billing.
Asset and output size
Stability: hardcoded.
Tool execution
Stability: hardcoded defaults, most overridable per call.
Bigger timeouts are not better:
bash’s 120 seconds sits between “long enough for a build” and “a hang won’t burn the whole turn’s budget.” Genuinely long jobs should be backgrounded and polled, not given a multi-thousand-second timeout.
Withdrawal
Stability: threshold and freeze periods are configurable defaults; the rate limit is hardcoded.
The verbatim error on hitting the rate limit:
Creator levels and revenue share
Stability: configurable defaults. Shares are stored as ppm (parts per million).
The usage share stops rising after
professional — 20% is the current ceiling. Beyond that, revenue grows through volume, not level.
Delegation and collaboration
Stability: hardcoded.
“Silently dropped” is the classic trap when a subagent seems to do nothing: a misspelled tool name raises no error, the subagent simply never appears. See Subagents and delegation.
Self-evolution
Stability: configurable defaults via environment variables.
The
context_footprint scoring curve (hardcoded): a skill document at ≤3,000 characters scores full marks, ≥24,000 scores zero, linear in between.
Content and plaza
Stability: hardcoded.
What this page deliberately omits
The following are ops data; only structure is documented:
How they are computed is in Billing formulas — the formulas are stable, the rates fed into them are not.
Related pages
Billing formulas
The five billing unit algorithms
Tool Catalog
Every parameter default
Withdrawal
Full withdrawal rules and state machine
Revenue system
How shares are calculated
Verified 2026-08-11. Sources:
apps/web/src/lib/storage/config.ts, packages/types/src/subscription.ts, packages/types/src/referral-risk.ts, services/core/src/db/service/platform-config.ts, services/core/src/db/service/withdrawal.ts, services/core/src/db/service/credit-consume.ts, services/core/src/routes/marketplace-expert/index.ts, services/core/src/config/env.ts, services/agent-runtime/src/base/tools/sandbox.py.
