Skip to content
Home

Pricing & Limits

SeaCloud Sandbox usage is metered around runtime resources, template/build resources, and storage policy. Exact commercial pricing, free-tier rules, and public price examples are not yet published in this MVP document.

DimensionMetering modelNotes
Sandbox runtimeCPU and memory over runtime durationLifecycle timeout limits how long a sandbox can stay alive.
Template buildsBuild CPU/memory and build durationHeavy dependency installation should move to templates when reused.
Template storageStored custom template imagesConcrete tpl-... images may be retained across releases.
Persistent workspace storageStorage type and retained dataDepends on nfs, block, object, or environment-specific storage mounts.
Network trafficIngress/egress and public port routingProduct pricing and hard caps are pending.

These are current platform defaults surfaced by the sandbox architecture docs. Product plans may override them through the trusted gateway entitlement layer.

LimitDefault
Per-user held sandboxes20
Per-user running + starting sandboxes10
Per-user starting sandboxes5
Per-user daily sandbox creates100
Per-project held sandboxes200
Per-project running + starting sandboxes100
Per-project starting sandboxes50
Per-project daily sandbox creates1000
Max continuous sandbox runtime86400s
ResourceDefault ceiling
Sandbox CPU8
Sandbox memory64Gi
Sandbox storage200Gi
Custom templates per user50
Concurrent builds per user3
Template CPU8
Template memory16384MiB
Template storage200GiB
Single build context archive100MiB
Build context storage per template1GiB
Build context storage per user5GiB
Build job active deadline3600s

Public clients should not send or rely on internal X-Sandbox-Limit-* headers. Hermes resolves plan and entitlement, then forwards sanitized limits to Atlas and Sandbox Builder for enforcement.

GET /api/v1/usage/limits
X-API-Key: <SEACLOUD_API_KEY>

The response reports user and project quota usage:

{
"resource": "sandboxes",
"unlimited": false,
"user": {
"usage": {
"held": 2,
"running": 1,
"starting": 0,
"dailyCreates": 12
},
"limits": {
"held": { "limit": 20, "used": 2, "remaining": 18, "enforced": true },
"running": { "limit": 10, "used": 1, "remaining": 9, "enforced": true }
}
},
"runtime": {
"maxRuntimeSeconds": 86400
}
}
GET /api/v1/usage/template-limits
X-API-Key: <SEACLOUD_API_KEY>

This endpoint reports custom template count, concurrent builds, and resource ceilings such as maxTemplateCPU, maxTemplateMemoryMB, and maxTemplateStorageGB.

FieldMeaning
heldSandboxes that are not deleted or destroying.
runningRunning plus starting sandboxes, matching create/start enforcement.
startingSandboxes in startup phases such as new, warming, warm, or creating.
dailyCreatesCalendar-day sandbox creates, reset at UTC midnight.
enforcedfalse means the value is visible for planning but not enforced.
unlimitedCommercial sandbox limits were bypassed by trusted gateway entitlement.
maxRuntimeSecondsMaximum lifecycle duration the platform reports for the caller.

Create/start requests can return 429 with details such as scope, resource, metric, used, limit, remaining, and usageEndpoint. Use the returned endpoint before retrying.

{
"code": 429,
"message": "sandbox limit exceeded",
"details": {
"reason": "usage_limit",
"scope": "project",
"resource": "sandboxes",
"metric": "dailyCreates",
"used": 1001,
"limit": 1000,
"remaining": 0,
"usageEndpoint": "/api/v1/usage/limits"
}
}