Docs · Get started

Pricing

The short version, with a comparison to other providers, is on the pricing page.

Running time is billed per second, only while a sandbox runs: small $0.0137 an hour, default $0.0274, large $0.0685 (xlarge, $0.137, is coming soon). A full 730-hour month is $10, $20, $50 and $100. A stopped sandbox costs no running time.

Plans

A plan is needed to start sandboxes. Every plan dollar comes back as usage, so a plan is not a fee. Each one buys one VM of the matching size running all month, or the same money spread over many short runs: the $20 plan is about 730 hours of default, however you split it across runs.

PlanUsage includedSandboxes at onceSaved snapshots included
$10 a month$10210
$20 a month$20510
$50 a month$501025
$100 a month$1002550

xlarge sandboxes are coming soon, for the $100 plan and higher.

  • froog billing plan 20 chooses a plan. The first one opens Stripe Checkout in your browser (froog never sees your card number) and waits until you're subscribed. Your bank may ask you to confirm the card (3D Secure).
  • Plan changes apply at once. An upgrade charges the difference for the rest of the period, and that money comes back as usage too. A downgrade gives no credit: the new plan's limits apply at once, this period's paid usage stays, and the next period costs the new price. Plans can't change while a payment is outstanding. froog billing cancel ends the plan at the end of the period.
  • Unused plan usage expires at the end of each billing period. It doesn't carry over.
  • Bigger plans are by request: $250 a month (60 sandboxes at once, 125 saved snapshots) and $500 (125 at once, 250 saved snapshots). Email hello@froog.tech with what you'll run and we'll turn them on for your account. Until then, choosing one answers 403 plan_by_request, and froog billing lists only the plans you can choose. For more than 125 sandboxes at once, email us too.

Pause instead of cancel

froog billing cancel --keep-disks (or Pause on the dashboard's Billing tab, or DELETE /v1/billing/plan?keep_disks=true) cancels the plan at the end of the period, like a cancel, and you pay nothing more. When the plan ends, every running sandbox stops, also with money in the wallet. froog keeps the disks of your stopped sandboxes for 90 days after the paid period, not 14, and saved snapshots past those included cost nothing for those 90 days. Starting a sandbox answers 402 plan_paused. Choose a plan again (froog billing plan 20) to resume: everything works as before. After the 90 days the usual rules apply. froog billing shows the date.

Wallet

The wallet is a prepaid balance in US dollars that pays for usage past your plan. froog wallet pay 15 adds $15, charged to your saved card (whole dollars, $15 minimum). Wallet charges are capped at $1,000 a day per account, payments and auto top-ups together, so a leaked API key can't run up your card. froog wallet auto 20 turns on auto top-up: it charges $20 whenever plan usage left plus the wallet drops below 10% of that amount (never below $5). froog wallet auto off turns it off. Auto top-up doesn't run during the free trial, and it turns itself off after 3 declined charges in a row. The wallet needs a plan.

Bonus. A payment of $200 or more gets a bonus, and auto top-ups get the same. It grows evenly on a log scale, from 2% at $200 to 25% at $10,000 (and 25% above). froog wallet quote 500, froog wallet pay and the dashboard show it before you pay. The bonus is its own line in the wallet, and the daily cap counts only what your card paid.

You payBonusThe wallet gets
$15 to $199nonethe same amount
$200+2%$204
$500+7.4%$537
$1,000+11.5%$1,115

Payments above $1,000 a day need a higher cap: email hello@froog.tech. With it, $2,000 gets +15.5%, $5,000 +20.9% and $10,000 +25%.

Running out

When this period's plan usage and the wallet are both used up, new starts fail with 402 insufficient_funds and running sandboxes get a 24-hour grace period: they keep running, and you get an email. During the grace period the wallet goes below zero: its usage is debt, also when the plan itself ended. If you don't pay, the sandboxes are stopped when it ends, each stop snapshotting the disk, so nothing is lost. They're stopped sooner if the grace period adds more new debt than 25% of the plan's price, or $5 on the smaller plans. Paying into the wallet (or choosing a plan again) lifts it, the debt is paid first, and you can start them again.

Storage and invoices

  • Stopped sandboxes keep their disk for 14 days, free. Automatic snapshots are free. Saved snapshots past your plan's included number (10 to 50, more on bigger plans) cost $0.056 per snapshot per day, from the wallet. With an empty wallet, saving one more under a new name fails with 402 credit_required (saving under a name you already have replaces it, so it still works).
  • Network traffic (no egress charges), public URLs, the desktop and /dev/kvm are included.
  • Stripe charges the plan monthly. Wallet payments are separate charges. froog billing portal changes the card and downloads invoices.
  • froog billing shows your plan, its renewal, this period's usage against what's included, the wallet and the rates. froog usage breaks the period down by size, and froog usage --month 2026-10 shows a past calendar month at list prices. froog list and the dashboard show what each sandbox's running time cost this billing period, and froog usage NAME --since 2026-11-01 --until 2026-11-08 one sandbox's hours and cost in any window (also 7d, a time in UTC, or unix seconds). Saved snapshots are billed per account, so they aren't in a sandbox's cost.

Free trial and limits

Every new account gets a 7-day free trial, starting with its first plan. A card is needed, and nothing is charged for the trial. It includes 25 hours of running time in total, up to 2 sandboxes at once, in the small and default sizes, and up to 5 starts a minute, 25 an hour and 75 a day. Every sandbox needs an auto-stop timer of 2 hours or less (the trial's default): no auto-stop or a longer timer fails with 403 trial_auto_stop_required, and a start gives a new window of 2 hours or less. The trial can't save new saved snapshots (403 trial_no_saved_snapshots). Ones you have stay. Past 25 hours, running sandboxes stop and starts fail with 429 trial_compute_limit_reached. The limits stay until the plan's first payment. One trial per person: each account gets one, and a card that already had a trial on another account gets none. That plan starts paid right away (and if its charge fails, starts fail with 402 trial_blocked). froog billing end-trial ends the trial early and starts paying for the plan. If that charge fails, nothing changes: the trial goes on (402). If the charge fails when the trial ends on its own, the plan's status is unpaid and starts fail with 402 subscription_required until it's paid (froog billing portal).

After the trial, an account runs as many sandboxes at once as its plan allows, and any account can start up to 20 sandboxes a minute, 100 an hour and 500 a day. froog limits shows your limits, how much of each you've used, and the trial's days and hours.

Extra starts

Past a start limit, a start fails with 429, unless you turn on extra starts: froog billing extra-starts on (PUT /v1/billing/extra-starts {"enabled": true}). Then a start above the included number is paid from the wallet. It's off by default, and it needs an active paid plan: not the trial, a plan that's past due, or one set to end (409 requires_active_plan).

StartPriceA day, with 500 included
Includedfree1 to 500
Up to 1.5 times included$0.03501 to 750
Up to 2 times$0.05751 to 1,000
Up to 6 times$0.071,001 to 3,000
Above 6 timesfails3,001 and up

The prices apply per minute, hour and day, and a start pays the highest of the three. The most per minute is 3 times, not 6. When the wallet can't pay, the start fails with 429 and says what it would cost. Nothing is queued. Each payment is a start line in the wallet.