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:

  1. 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.
  2. 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.
  3. 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_build cache, and source maps uploaded to log projects. sandbox_get makes 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 with record: "stop", and the ones recorded with each step): deleted after 7 days. A recording stopped for you, and the screenshots from a urls batch, are not among them: they were never uploaded and are only files in the box's /work, gone with /work when the box is stopped; if you fetch them with sandbox_get, the copy fetched is a sandbox_get file (next item);
    • Files fetched with sandbox_get (including sandbox_pull) are temporary transfers, automatically removed after about one day and excluded from artifact_storage; their download URLs last one hour. The frozen box poster and sandbox_review card picture each keep only the newest image, replacing the previous one. DELETE /v1/boxes/{id}/media deletes 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-cache clears 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.
  • 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 of box_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 /work kept and nothing billed; a box a person has taken over keeps running and billing.
  • sandbox_start and any call that would wake a frozen box fail with no 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.