Upstash Box vs Daytona

We timed Upstash Box and Daytona through one SDK, alongside 7 other sandbox providers, on two tracks: the same 4 vCPU, 8 GB machine for every provider, and each provider's default machine. Every result is a median with its p95 and 95% interval. When the two medians sit inside each other's intervals, we call it a tie.

Sandbox bench runs on Sandbox SDK, which the same team (opencoredev) builds. We may work with some of these providers. No provider paid for these results or decided how they were tested.

Same machine: 4 vCPU, 8 GB

Upstash Box is ahead on 7 of the 24 tests both finished, Daytona on 14, and 3 are tied within their 95% intervals.

  • Median cold start Upstash Box 2.7 s vs Daytona 1.3 s (Daytona ahead).
  • Median agent tool replay Upstash Box 27 s vs Daytona 12 s (Daytona ahead).

Default machines

Upstash Box is ahead on 9 of the 23 tests both finished, Daytona on 13, and 1 is tied within their 95% intervals.

  • Median cold start Upstash Box 2.6 s vs Daytona 1.5 s (Daytona ahead).
  • Median agent tool replay Upstash Box 27 s vs Daytona 15 s (Daytona ahead).

Upstash Box vs Daytona on the same 4 vCPU, 8 GB machine

Every provider asked for Boat's machine, 4 vCPU and 8 GB, or its nearest size. Runs from 2026-10-22 to 2026-10-23, 9 providers. Upstash Box is ahead on 7 of the 24 tests both finished, Daytona on 14, and 3 are tied within their 95% intervals. Ranks are out of every provider on this track; see them all on the full results.

Upstash Box

Measured inside
4 vCPU, 8 GB
Cost per 1,000 tasks
$0.34 (billed)
Success rate
100.00% (1,075 of 1,075)
Pause and resume
pause 0.84 s, resume 0.57 s (median of 99)
  • Asked for: 4 vCPU, 8 GB ("medium").
  • Ran in: Ashburn, US.
  • Cost: $0.00034 per task, from its bill (billed over 10 tasks, high confidence).
  • Failures counted against Upstash Box: none.

Daytona

Measured inside
4 vCPU, 8 GB
Cost per 1,000 tasks
$1.36 (billed)
Success rate
100.00% (976 of 976)
Pause and resume
Daytona's container sandboxes have no pause: stop and start restarts the sandbox and ends every running process.
  • Asked for: 4 vCPU, 8 GB, template daytona-large.
  • Cost: $0.0014 per task, from its bill (billed over 10 tasks, low confidence).
  • Failures counted against Daytona: none.

A task is: create a sandbox, run the 100-call tool replay, delete it. Cost per task comes from a separate cost run, billed per sandbox.

Start-up

TestUpstash BoxDaytonaAhead
Cold start (lower is better)2.7 s 9th of 9p95 11 s95%: 2.6 s to 2.7 s1.3 s 8th of 9p95 2.1 s95%: 1.1 s to 1.3 sDaytona

Agent work

TestUpstash BoxDaytonaAhead
Agent tool replay (lower is better)27 s 7th of 9p95 32 s95%: 26 s to 28 s12 s 1st of 9p95 30 s95%: 12 s to 13 sDaytona
npm install (lower is better)1.1 s 4th of 9p95 1.2 s95%: 1.1 s to 1.1 s0.75 s 1st of 9p95 0.91 s95%: 0.73 s to 0.77 sDaytona
pip install (lower is better)4.0 s 4th of 9p95 5.0 s95%: 4.0 s to 4.1 s4.2 s 5th of 9p95 5.5 s95%: 4.0 s to 4.3 sUpstash Box
git clone (lower is better)0.69 s 3rd of 9p95 1.7 s95%: 0.67 s to 0.72 s0.43 s 1st of 9p95 1.0 s95%: 0.42 s to 0.45 sDaytona
Dev server ready (lower is better)3.7 s 7th of 9p95 5.6 s95%: 3.7 s to 3.8 s2.6 s 5th of 9p95 6.6 s95%: 2.5 s to 2.6 sDaytona
Preview URL first byte (lower is better)0.31 s 5th of 9p95 0.73 s95%: 0.29 s to 0.34 s0.25 s 2nd of 9p95 0.44 s95%: 0.25 s to 0.27 sDaytona
Edit, rebuild, reload (lower is better)0.43 s 5th of 9p95 0.93 s95%: 0.42 s to 0.43 s0.31 s 2nd of 9p95 0.76 s95%: 0.30 s to 0.34 sDaytona

Everyday calls

TestUpstash BoxDaytonaAhead
Run a command (lower is better)0.33 s 8th of 9p95 0.41 s95%: 0.32 s to 0.33 s0.13 s 2nd of 9p95 0.30 s95%: 0.13 s to 0.14 sDaytona
Write + read 1 KB (lower is better)0.36 s 7th of 9p95 0.71 s95%: 0.35 s to 0.36 s0.18 s 2nd of 9p95 0.52 s95%: 0.17 s to 0.18 sDaytona
Write + read 10 MB (lower is better)3.2 s 5th of 9p95 11 s95%: 3.1 s to 3.7 s1.0 s 2nd of 9p95 2.7 s95%: 1.0 s to 1.1 sDaytona
Reconnect (lower is better)0.60 s 6th of 9p95 0.81 s95%: 0.59 s to 0.63 s0.30 s 1st of 9p95 0.71 s95%: 0.28 s to 0.32 sDaytona
Destroy (lower is better)1.0 s 9th of 9p95 12 s95%: 0.71 s to 1.7 s0.85 s 8th of 9p95 2.5 s95%: 0.80 s to 0.90 sDaytona

Pause and snapshots

TestUpstash BoxDaytonaAhead
Pause + resume (lower is better)1.6 s 4th of 6p95 12 s95%: 1.3 s to 2.1 sDaytona's container sandboxes have no pause: stop and start restarts the sandbox and ends every running process.n/a
Take snapshot (lower is better)2.1 s 5th of 8p95 8.4 s95%: 2.1 s to 4.2 s7.4 s 8th of 8p95 49 s95%: 6.8 s to 12 sUpstash Box
Start from snapshot (lower is better)4.9 s 8th of 8p95 13 s95%: 4.8 s to 6.9 s2.4 s 7th of 8p95 4.6 s95%: 2.3 s to 3.0 sDaytona

Bursts

TestUpstash BoxDaytonaAhead
10 at once, all ready (lower is better)3.0 s 8th of 8p95 4.8 s95%: 2.7 s to 4.8 s2.9 s 7th of 8p95 9.9 s95%: 2.3 s to 9.9 sTied
25 at once, all ready (lower is better)5.4 s 8th of 9p95 5.7 s95%: 2.8 s to 5.7 s5.3 s 7th of 9p95 5.6 s95%: 2.3 s to 5.6 sTied

Machine speed

TestUpstash BoxDaytonaAhead
CPU, one core (higher is better)13.7M/s 5th of 9p95 13.8M/s95%: 13.7M/s to 13.7M/s9.2M/s 9th of 9p95 10.1M/s95%: 9.1M/s to 9.3M/sUpstash Box
CPU, all cores (higher is better)48.2M/s 3rd of 9p95 50.5M/s95%: 47.8M/s to 49.1M/s25.9M/s 9th of 9p95 28.5M/s95%: 25.3M/s to 26.3M/sUpstash Box
Memory bandwidth (higher is better)33.8 GB/s 3rd of 9p95 40.4 GB/s95%: 33.0 GB/s to 35.3 GB/s29.9 GB/s 5th of 9p95 33.2 GB/s95%: 29.3 GB/s to 30.9 GB/sUpstash Box
Disk write (higher is better)1.6 GB/s 2nd of 9p95 2.2 GB/s95%: 1.2 GB/s to 1.8 GB/s1.4 GB/s 3rd of 9p95 2.9 GB/s95%: 1.2 GB/s to 1.9 GB/sTied
Disk read (higher is better)20.3 GB/s 2nd of 9p95 22.8 GB/s95%: 19.9 GB/s to 20.7 GB/s17.3 GB/s 4th of 9p95 18.9 GB/s95%: 16.7 GB/s to 17.7 GB/sUpstash Box
4K random write (higher is better)340.4 IOPS 9th of 9p95 547.4 IOPS95%: 304.7 IOPS to 397.6 IOPS20.9K IOPS 2nd of 9p95 30K IOPS95%: 19.6K IOPS to 22.1K IOPSDaytona
4K random read (higher is better)501.9K IOPS 4th of 9p95 527.2K IOPS95%: 498.1K IOPS to 505.3K IOPS343K IOPS 7th of 9p95 403.6K IOPS95%: 337.3K IOPS to 364.1K IOPSUpstash Box

Upstash Box vs Daytona on each one's default machine

Each provider's default sandbox, so machine sizes differ. Runs from 2026-10-22 to 2026-10-23, 9 providers. Upstash Box is ahead on 9 of the 23 tests both finished, Daytona on 13, and 1 is tied within their 95% intervals. Ranks are out of every provider on this track; see them all on the full results.

Upstash Box

Measured inside
2 vCPU, 4 GB
Cost per 1,000 tasks
$0.17 (billed)
Success rate
100.00% (1,076 of 1,076)
Pause and resume
pause 0.73 s, resume 0.59 s (median of 100)
  • Asked for: 2 vCPU, 4 GB.
  • Ran in: Ashburn, US.
  • Cost: $0.00017 per task, from its bill (billed over 10 tasks, high confidence).
  • Failures counted against Upstash Box: none.

Daytona

Measured inside
1 vCPU, 1 GB
Cost per 1,000 tasks
$0.64 (billed)
Success rate
100.00% (973 of 973)
Pause and resume
Daytona's container sandboxes have no pause: stop and start restarts the sandbox and ends every running process.
  • Asked for: 1 vCPU, 1 GB.
  • Cost: $0.00064 per task, from its bill (billed over 10 tasks, low confidence).
  • Failures counted against Daytona: none.

A task is: create a sandbox, run the 100-call tool replay, delete it. Cost per task comes from a separate cost run, billed per sandbox.

Start-up

TestUpstash BoxDaytonaAhead
Cold start (lower is better)2.6 s 9th of 9p95 13 s95%: 2.6 s to 2.7 s1.5 s 8th of 9p95 2.8 s95%: 1.4 s to 1.6 sDaytona

Agent work

TestUpstash BoxDaytonaAhead
Agent tool replay (lower is better)27 s 7th of 9p95 31 s95%: 26 s to 28 s15 s 2nd of 9p95 34 s95%: 13 s to 18 sDaytona
npm install (lower is better)1.1 s 3rd of 9p95 1.2 s95%: 1.1 s to 1.1 s1.2 s 4th of 9p95 1.4 s95%: 1.2 s to 1.3 sUpstash Box
pip install (lower is better)4.1 s 3rd of 9p95 5.0 s95%: 4.0 s to 4.4 s4.6 s 7th of 9p95 6.2 s95%: 4.3 s to 4.7 sUpstash Box
git clone (lower is better)0.70 s 3rd of 9p95 1.3 s95%: 0.68 s to 0.77 s0.62 s 2nd of 9p95 0.97 s95%: 0.47 s to 0.87 sDaytona
Dev server ready (lower is better)3.8 s 7th of 9p95 4.8 s95%: 3.7 s to 3.8 s2.8 s 5th of 9p95 6.8 s95%: 2.6 s to 3.6 sDaytona
Preview URL first byte (lower is better)0.30 s 5th of 9p95 0.43 s95%: 0.29 s to 0.31 s0.28 s 3rd of 9p95 0.46 s95%: 0.26 s to 0.31 sDaytona
Edit, rebuild, reload (lower is better)0.43 s 5th of 9p95 1.1 s95%: 0.42 s to 0.44 s0.34 s 3rd of 9p95 0.96 s95%: 0.33 s to 0.45 sDaytona

Everyday calls

TestUpstash BoxDaytonaAhead
Run a command (lower is better)0.32 s 8th of 9p95 0.41 s95%: 0.32 s to 0.33 s0.14 s 2nd of 9p95 0.31 s95%: 0.13 s to 0.17 sDaytona
Write + read 1 KB (lower is better)0.36 s 7th of 9p95 1.1 s95%: 0.35 s to 0.36 s0.18 s 2nd of 9p95 0.53 s95%: 0.17 s to 0.18 sDaytona
Write + read 10 MB (lower is better)2.9 s 6th of 9p95 7.5 s95%: 2.8 s to 3.1 s1.2 s 2nd of 9p95 2.5 s95%: 1.2 s to 1.3 sDaytona
Reconnect (lower is better)0.60 s 6th of 9p95 0.76 s95%: 0.59 s to 0.64 s0.31 s 1st of 9p95 0.77 s95%: 0.29 s to 0.34 sDaytona
Destroy (lower is better)0.96 s 9th of 9p95 7.8 s95%: 0.80 s to 1.2 s0.96 s 8th of 9p95 3.2 s95%: 0.90 s to 1.1 sTied

Pause and snapshots

TestUpstash BoxDaytonaAhead
Pause + resume (lower is better)1.7 s 5th of 6p95 13 s95%: 1.3 s to 2.8 sDaytona's container sandboxes have no pause: stop and start restarts the sandbox and ends every running process.n/a
Take snapshot (lower is better)2.1 s 5th of 8p95 17 s95%: 2.1 s to 4.2 s10 s 8th of 8p95 336 s95%: 7.5 s to 15 sUpstash Box
Start from snapshot (lower is better)4.8 s 8th of 8p95 15 s95%: 2.8 s to 4.8 s2.6 s 7th of 8p95 6.8 s95%: 2.3 s to 3.2 sDaytona

Bursts

TestUpstash BoxDaytonaAhead
10 at once, all ready (lower is better)5.0 s 9th of 9p95 6.8 s95%: 2.8 s to 6.8 s2.0 s 6th of 9p95 2.8 s95%: 1.7 s to 2.8 sDaytona
25 at once, all ready (lower is better)15 s 8th of 8p95 17 s95%: 9.0 s to 17 sIn one of its three bursts of 25, one create timed out on Daytona's side (24 of 25 ready), so only 2 of 3 bursts finished and the size is not published; coming in the next updaten/a

Machine speed

TestUpstash BoxDaytonaAhead
CPU, one core (higher is better)13.7M/s 4th of 9p95 13.8M/s95%: 13.7M/s to 13.7M/s9.1M/s 9th of 9p95 13.7M/s95%: 8.9M/s to 9.3M/sUpstash Box
CPU, all cores (higher is better)25M/s 4th of 9p95 25.8M/s95%: 24.6M/s to 25.4M/s6.9M/s 9th of 9p95 10.3M/s95%: 6.8M/s to 7M/sUpstash Box
Memory bandwidth (higher is better)35.3 GB/s 3rd of 9p95 40.1 GB/s95%: 33.9 GB/s to 36.2 GB/s31.0 GB/s 5th of 9p95 57.0 GB/s95%: 30.3 GB/s to 31.9 GB/sUpstash Box
Disk write (higher is better)1.7 GB/s 2nd of 9p95 2.2 GB/s95%: 1.5 GB/s to 1.9 GB/s1.2 GB/s 3rd of 9p95 2.9 GB/s95%: 1.1 GB/s to 1.3 GB/sUpstash Box
Disk read (higher is better)20.8 GB/s 2nd of 9p95 22.8 GB/s95%: 20.4 GB/s to 21.1 GB/s16.2 GB/s 4th of 9p95 28.8 GB/s95%: 15.9 GB/s to 16.6 GB/sUpstash Box
4K random write (higher is better)439.1 IOPS 8th of 9p95 556.2 IOPS95%: 379.4 IOPS to 480.7 IOPS20.2K IOPS 2nd of 9p95 29.6K IOPS95%: 18.6K IOPS to 20.9K IOPSDaytona
4K random read (higher is better)505.2K IOPS 4th of 9p95 527.3K IOPS95%: 501.6K IOPS to 509.1K IOPS342.4K IOPS 7th of 9p95 774.7K IOPS95%: 323.9K IOPS to 348.6K IOPSUpstash Box

How to read these numbers

  • Upstash appears twice because Box (long-lived, can pause) and Ephemeral Box (short-lived, for one-off agent jobs) are separate products.
  • Ephemeral Box has no pause, so it has no pause result.
  • Daytona was re-collected on Oct 22 after its account quota was raised from 10 vCPU / 10 GiB; earlier Daytona numbers were limited by that quota.
  • Daytona's billed cost can still change for up to 48 hours.
  • Every call starts from one server in Florida, US. Providers hosted farther away pay that round trip on every call; Boat (France) and boxd (Germany) pay a transatlantic one.
  • There are two tracks. Same machine: 4 vCPU, 8 GB: Every provider asked for Boat's machine, 4 vCPU and 8 GB, or its nearest size. A provider marked “machine differs” measured something else inside. Default machines: Each provider's default sandbox, so machine sizes differ.
  • Cost per task has a kind. Billed comes from the provider's bill, metered from its usage records at published rates, and estimate from our measured time at list price. Kinds are not directly comparable. Prices cover compute only at list rates: disk, transfer, subscriptions and credits are excluded.
  • Pause and resume times come from the previous SDK run, because the newest runs skipped them. A burst size is published only when all three bursts finished.
  • Failures caused by our own code are set aside, not counted. Every provider-side failure is kept.
  • Ranks compare medians. Medians inside each other's 95% intervals count as tied, so a close rank can be noise.

More results