== SANDBOX PROVIDER COMPARISON (5 PROVIDERS) ==
Benchmarked with real API calls. Includes performance, persistence, snapshots, images, and pricing.
== 1. PERFORMANCE BENCHMARKS ==
| Provider | Cold Start | Cmd Exec | File I/O | Python |
|---|---|---|---|---|
| E2B | 0.515s BEST | 0.539s | 0.512s | 0.288s |
| Daytona | 0.753s | 0.975s | 0.386s BEST | 0.220s BEST |
| Sprites | ~1s (wake) | 0.970s | 0.957s | 0.543s |
| Modal | 1.512s | 1.913s | 2.278s | 0.222s |
| Blaxel | 2.9s / 25ms | 0.539s | 0.992s | N/A |
== 2. FILESYSTEM ==
| Provider | Access | Persistence | How It Works |
|---|---|---|---|
| E2B | Full Linux FS | Ephemeral | SDK: filesystem.write/read/list. Full /home/user access. Lost on kill. |
| Daytona | Full Linux FS | Optional | SDK: fs.upload/download/list. Direct file ops + Git. Persistent option. |
| Sprites | Full Linux FS BEST | Persistent | CLI: sprite cp, sprite exec. 100GB disk. Checkpoints at /.sprite/ |
| Modal | Container FS | Volumes | Mount Volumes at paths. NetworkFileSystem for shared. Up to 1TB. |
| Blaxel | Full Linux FS | Standby | SDK: fs.write/read. Memory preserved on standby. Volumes for long-term. |
== 3. SPIN DOWN / SCALE TO ZERO ==
| Provider | Behavior | Resume Time |
|---|---|---|
| Blaxel | 1s idle -> standby BEST | <25ms resume |
| Modal | Immediate scale-to-zero | ~1-2s cold start |
| Sprites | Auto-hibernate when idle | ~1s wake |
| E2B | Configurable timeout | Default 300s, max 24h (Pro) / 1h (Hobby) |
| Daytona | Configurable | Scales to zero on inactivity |
== 4. SNAPSHOTS / CHECKPOINTS ==
| Provider | Support | Details |
|---|---|---|
| Sprites | Full checkpoint/restore BEST | ~300ms to create, last 5 at /.sprite/checkpoints, git-like versioning |
| Modal | Filesystem snapshots | snapshot_filesystem() creates Image, memory snapshots in preview |
| Blaxel | Standby state | Full memory state preserved during standby (like hibernation) |
| E2B | Templates only | No runtime snapshots. Pre-build custom templates with CLI. |
| Daytona | None | No snapshot support. Use persistent storage for state. |
== 5. CUSTOM IMAGES ==
| Provider | Support | Details |
|---|---|---|
| Modal | Excellent BEST | modal.Image with pip_install, run_commands, from_dockerfile |
| E2B | Templates | e2b template build - custom Dockerfile-based templates |
| Daytona | Docker images | Custom Docker images supported |
| Blaxel | Custom images | blaxel/base-image or custom Dockerfiles |
| Sprites | Pre-configured | Firecracker-based, comes with Claude pre-installed |
== 6. PRICING AT SCALE ==
All calculations assume 1 vCPU + 1GB RAM sandbox, billed per-second
Per-Second Rates:
| Provider | CPU/s | Memory/GB/s | Total/s (1vCPU+1GB) | Per Hour |
|---|---|---|---|---|
| Sprites | $0.00000228 | (included) | $0.00000228 | $0.008 CHEAPEST |
| Blaxel | (memory-based) | $0.0000115 | $0.0000115 | $0.041 |
| E2B | $0.000014 | $0.0000045 | $0.0000185 | $0.067 |
| Modal | $0.00003942 | $0.00000672 | $0.00004614 | $0.166 |
| Daytona | Per-second (pricing not public) | $30-200 free credits | ||
Scenario: 1 Sandbox x 24 Hours
| Provider | Cost | Notes |
|---|---|---|
| Sprites | $0.20 CHEAPEST | Hibernates when idle (no cost) |
| Blaxel | $0.99 | <25ms resume, pay only when active |
| E2B | $1.60 | Configurable timeout |
| Modal | $3.98 | Scale-to-zero available |
Scenario: 1000 Sandboxes x 1 Hour Each
| Provider | Cost | Notes |
|---|---|---|
| Sprites | $8.20 CHEAPEST | Fly.io shared-cpu-1x rates |
| Blaxel | $41.40 | + fast cold start from standby |
| E2B | $66.60 | Fastest cold start (0.5s) |
| Modal | $166.00 | Best for GPU workloads |
Scenario: 1000 Sandboxes x 24 Hours (Heavy Usage)
| Provider | Cost | Monthly Equivalent |
|---|---|---|
| Sprites | $197 CHEAPEST | ~$5,900/mo at this rate |
| Blaxel | $994 | ~$29,800/mo |
| E2B | $1,598 | ~$47,900/mo |
| Modal | $3,994 | ~$119,800/mo |
GPU Pricing (Modal - per hour):
T4: $0.59 A10G: $1.10 L4: $0.80
A100: $2.50 H100: $3.95 B200: $6.25
COST OPTIMIZATION TIPS:
- Use scale-to-zero (Modal, Blaxel) to avoid idle costs
- Sprites hibernates automatically - best for intermittent usage
- E2B: set shorter timeouts for ephemeral tasks
- Blaxel: <25ms resume = near-zero idle cost
== 7. GIT-LIKE FEATURES ==
| Provider | Feature |
|---|---|
| Sprites | Checkpoint versioning (v0, v1, v2...) - git-like restore |
| Daytona | Built-in Git SDK (add, commit, push) |
| Modal | Filesystem snapshots as Images |
GREEN = Excellent/Native ORANGE = Partial/Available RED = None/N/A