included layerThe workspace handoff stays ready.
CLI entry, Git checkout, tmux, editors, Claude, Codex, logs, metadata, and signed-link state are not charged as runtime minutes.
Runtime-awake billing
Spinnery keeps the organization shell and workspace storage baseline ready, then meters Small, Medium, or Large runtime capacity only while service processes are awake. Auto-sleep stops runtime billing, and customer-cloud resources stay on the cloud bill that owns them.
Product surfaces
Buyers should not have to reverse-engineer which parts of a workspace bill. The shell baseline, runtime service layer, signed review traffic, and customer-cloud resources each have their own cost boundary.
included layerCLI entry, Git checkout, tmux, editors, Claude, Codex, logs, metadata, and signed-link state are not charged as runtime minutes.
Small / Medium / LargeRuntime capacity bills only while web, /api, workers, checks, or resources are awake for service work, tests, reviewer traffic, or agent jobs.
dev.spinnery.devA valid signed dev link can wake the runtime but never becomes an admin surface for SSH, logs, secrets, root, or private consoles.
provider-owned costsDatabases, buckets, queues, caches, egress, retained snapshots, and third-party APIs stay on the provider bill that owns them.
Organization baseline
The baseline gives developers and agents a stable place to land before service processes need CPU and memory. It keeps workspace continuity without charging runtime hours for an idle shell.
Every organization keeps the CLI entry point, Git checkout, tmux sessions, editors, Claude, Codex, workspace metadata, logs, and signed dev link state ready outside runtime-awake billing.
Repo storage, branch workspace metadata, signed-link state, and declared workspace artifacts remain available while the runtime is asleep.
Web, API, worker, database proxy, cache, and services reached through signed dev links wake on demand and bill only while the runtime VM is awake.
Launch pricing
These launch prices let teams model a first workspace before rollout. The key boundary is stable: shell and retained workspace state are baseline/storage costs, while runtime sizes bill only for awake service minutes.
Includes CLI and dashboard access, the always-ready shell handoff, Git/tmux/editor tooling, logs, workspace metadata, signed-link state, and 20 GB of retained workspace storage.
Covers branch checkouts, declared artifacts, retained logs, and workspace state while the runtime is asleep or awake.
1 vCPU reserved; 4 GB RAM reserved; up to 2 shared vCPU / 8 GB burst. Bills only while web, API, workers, tests, jobs, or signed dev traffic keep the runtime awake.
2 vCPU reserved; 8 GB RAM reserved; up to 4 shared vCPU / 16 GB burst. Bills only while web, API, workers, tests, jobs, or signed dev traffic keep the runtime awake.
4 vCPU reserved; 16 GB RAM reserved; up to 8 shared vCPU / 32 GB burst. Bills only while web, API, workers, tests, jobs, or signed dev traffic keep the runtime awake.
spin up + Git + editor work = 0 runtime minutes$0 runtime chargeThe shell baseline covers the handoff while no service CPU or memory is awake.
37 awake minutes / 60 x $0.36 = $0.22$0.22 runtime chargeA signed dev request wakes Medium for review; asleep time before and after adds no runtime cost.
2 awake hours x $0.72 = $1.44; 12 GB for 15 days x $0.15/GB-month = $0.90$2.34 before baseline and customer-cloud costsRuntime cost follows the awake burst. Retained storage is separate from asleep runtime minutes.
First-release receipt
Pricing copy should make the runtime meter visible before a team lets humans, agents, and reviewers share a workspace. The receipt names what is included, what wakes service capacity, what stops the meter, and what remains a separate cloud resource cost.
shell baselineThe CLI, Git checkout, tmux, editors, Claude, Codex, retained logs, metadata, and signed-link state stay available before runtime billing starts.
signed dev.spinnery.dev trafficThe first signed dev request can wake web, /api, assets, or realtime routes when the workspace runtime is asleep.
runtime awake windowRuntime billing follows the selected Small, Medium, or Large size until idle auto-sleep or spinnery sleep stops service CPU and memory.
customer-cloud resourcesDatabases, storage, queues, caches, egress, retained snapshots, and third-party API usage remain visible on the customer cloud or provider bill.
security boundary unchangedAuth0, root policy, and signed-link state remain active while the meter is off.
Billing language
The first release should use product nouns consistently: Organization, Project, Workspace, Service, Resource, Shell, Runtime, Access Policy, signed dev link, and CLI. That makes the pricing boundary clear before a customer opens a paid Runtime session.
Organization + Workspace includedThe CLI opens the Shell for the selected Organization, Project, and Workspace. Git, tmux, logs, repo state, and signed dev link metadata stay ready before Runtime billing starts.
Service + Resource capacityRuntime minutes begin only when a Service, test, agent job, signed dev request, or Resource helper needs CPU, memory, ports, or declared dependencies.
not a meter switchAccess Policy, root posture, and signed dev link scope remain enforced while the Runtime is asleep, waking, awake, or stopping after spinnery sleep.
Wake receipt
Pricing needs to make the moment of charge obvious: opening the shell is included, service work wakes paid capacity, the active session shows its trigger and estimate, and sleep stops the meter without deleting the workspace.
spin upA developer or agent lands in the included shell baseline with Git, tmux, Claude, Codex, logs, metadata, and signed-link state. Runtime minutes remain at zero until service work wakes.
signed dev request / tests / jobsA signed dev request for web or backend /api, test run, worker, or service command can wake the selected Small, Medium, or Large runtime for web, /api, assets, realtime, and declared resources.
awake minutes + triggerWhile the runtime is awake, the page should name the size, wake trigger, current session minutes, estimated spend, cap posture, and separate customer-cloud resource costs.
auto-sleep / spinnery sleepIdle sleep or spinnery sleep stops paid service CPU and memory while preserving the shell, repo checkout, workspace metadata, workspace event history, and valid signed-link policy.
Operational checks
A release-facing pricing model needs more than size names. Teams should see what can wake paid capacity, what the active session is accumulating, what sleep recorded, and which resources stay on a separate cloud bill.
estimate + cap visibleThe pricing surface should show the selected runtime size, cap posture, and what can wake paid service capacity before tests, jobs, or reviewers start it.
session minutes visibleAn active runtime session should show awake minutes, estimated spend, service state, and the actor or trigger that woke the runtime.
receipt retainedSleep should leave a usage receipt with wake and sleep timestamps, selected size, cap events, and whether signed dev traffic can wake the runtime later.
customer-cloud billDatabase, storage, queue, cache, egress, retained snapshots, and third-party costs remain visible as provider costs outside Spinnery runtime minutes.
Awake-only runtime
Runtime size sets reserved CPU and memory for awake periods. The hourly meter starts when service processes run and stops after auto-sleep, so dev URL traffic, tests, workers, and agent jobs carry the runtime cost only while they need the VM.
A developer or agent runs spin up and lands in the workspace shell without starting the runtime meter.
Signed dev traffic, tests, background jobs, or service commands wake the selected Small, Medium, or Large runtime.
When service work goes idle, Spinnery sleeps the runtime and leaves the shell and workspace storage ready for the next wake.
Usage boundary
The product plan keeps a workspace handoff ready for spin up and signed dev links, then meters only the awake runtime work needed to serve dev.spinnery.devtraffic or run services.
spin upspin up lands in the branch workspace shell with Git, tmux, editors, Claude, Codex, logs, workspace metadata, and signed dev link state. That baseline is not runtime-metered while services are idle.
dev.spinnery.devThe service--workspace--org.dev.spinnery.dev host and signed session metadata remain known while the runtime sleeps. A request to web, /api, assets, or realtime paths can wake the selected runtime.
awake servicesWeb, API, workers, tests, database, cache, mail, storage, and queue processes bill during awake runtime periods. Auto-sleep stops the runtime meter without deleting the workspace.
Customer-cloud resources
Spinnery meters the awake runtime. Databases, storage buckets, queues, caches, egress, retained snapshots, and third-party APIs remain customer-cloud costs so teams can inspect infrastructure spend where the resources are created.
Managed databases, buckets, queues, caches, search indexes, and other cloud resources declared for a workspace stay on the customer cloud account or provider bill.
Storage, I/O, egress, retained snapshots, and third-party API usage are not hidden inside Spinnery runtime minutes.
The repo contract records which resources a workspace needs so teams can review cost-bearing infrastructure before branch workspaces depend on it.