Credits
How usage is billed: the credit buckets and the order they are used in, the rate for each kind of usage, how long stored files are billed, and what happens when credits run out.
Usage is billed in credits by the minute from the moment a box is ready: 2,000 credits run a size-1 box for about 69 hours, a bigger size costs proportionally more, and a frozen box nothing. Leased devices, outbound traffic, log ingestion and storage, and stored files are metered too. sandbox_status.credits shows what is left, what the last hour used and when it runs out at that rate; tool results carry a warning when less than two hours remain.
Credits sit in three buckets, used in this order:
- The free 2,000: granted once to a new account and never expire. An account created with a GitHub, Google or Apple sign-in or an email that already received them does not get them again.
- Plan credits: Pro 5,000, Max 20,000. At each monthly renewal the bucket is refilled to that amount (annual plans refill every month too), so unused plan credits do not carry over, and they end when the plan ends.
- Purchased packs: never expire.
A running box bills until it freezes: background commands and recordings keep it awake for at most 1 hour after the last use (Box states), and requests through its URLs for 2 hours; a takeover, a foreground command, a link connection from an awake box or an attached phone keep it awake while they last.
Environments and connectors cost nothing in ParallelSandbox. What a box sends through a connection counts as its outbound traffic (below); the connector's own compute and network, such as a Fargate task or a NAT gateway, are billed by your provider.
Current rates:
| Usage | Unit | Credits |
|---|---|---|
| Running box | minute, per size unit | 0.4833 (about 29 an hour) |
| Frozen box | nothing | |
| Android emulator | minute | 0.9167 (55 an hour) |
| iOS simulator | minute | 1 (60 an hour) |
Outbound traffic (box_egress): every byte the box sends, including through environment connections and links |
GB | 114 |
Log written (log_write) |
GB | 760 |
Log kept (log_storage) |
GB per month | 33 |
Stored files (artifact_storage) |
GB per month | 25 |
| Published version images in the registry | not metered |
- Stored-file usage includes screenshots and recordings, the box pictures shown in the app, the
sandbox_buildcache, and source maps uploaded to log projects.sandbox_getmakes a temporary transfer kept for about one day and excluded from stored-file usage. Retention varies by kind:- screenshots and recordings (screenshots from
sandbox_shot, recordings you end withrecord: "stop", and the ones recorded with each step): deleted after 7 days. A recording stopped for you, and the screenshots from aurlsbatch, are not among them: they were never uploaded and are only files in the box's/work, gone with/workwhen the box is stopped; if you fetch them withsandbox_get, the copy fetched is asandbox_getfile (next item); - Files fetched with
sandbox_get(includingsandbox_pull) are temporary transfers, automatically removed after about one day and excluded fromartifact_storage; their download URLs last one hour. The frozen box poster andsandbox_reviewcard picture each keep only the newest image, replacing the previous one.DELETE /v1/boxes/{id}/mediadeletes these pictures together with the screenshots and recordings of the previous item, one box at a time (REST); they are also removed with the account; - the build cache: it keeps at most 20 GB per account and drops the oldest output first;
DELETE /v1/build-cacheclears all of it at once (REST); - source maps, and the logs stored as
log_storage:DELETE /v1/projects/{id}on log.parallelsandbox.com deletes a log project with its logs and source maps, which ends both charges (Log SDK); - published images in the registry: not metered; deleting a version with
DELETE /v1/versions/{id}also deletes its image when no other version uses the same tag.
- screenshots and recordings (screenshots from
- Outbound traffic is every byte the box sends out of its machine, whatever the destination: the internet, your networks through environment connections, other boxes through links, everything it serves through its URLs (the pages, assets and API responses a person's browser loads), image pushes, and what it sends back to ParallelSandbox (command output, screenshots, files for
sandbox_get). Bytes coming in (downloads,docker pull, what your network answers) are not metered. It is counted where the box's traffic leaves its host. Checked on a box: a 41.9 MB file downloaded through a web service's URL was metered as 42.4 MB ofbox_egress. - Registry storage for published versions is not metered; pushing an image is outbound traffic from the box.
- Rates follow cloud prices and can change; every usage event (
GET /v1/usage/events) records the credits it charged.
When the account runs out of credits:
- Boxes are frozen, with
/workkept and nothing billed; a box a person has taken over keeps running and billing. sandbox_startand any call that would wake a frozen box fail withno credits left(HTTP 402); the message says until when the boxes are kept. A page load on a frozen box's URL shows a page saying the box is paused (402) instead of waking it.- The person is notified on the ParallelSandbox mobile app, and again about two hours before the deadline.
- 24 hours after credits ran out, every box of the account is reclaimed unless credits have been added. Adding credits in time restores normal use: the next call wakes a frozen box where it left off.
Every tool and topic is listed in the tool reference.