{
 "features_resolved": {
  "snapshot_any": true,
  "snapshot_mem": false,
  "fork": true,
  "pause_resume": true,
  "persistent_disk": true,
  "whole_disk": true,
  "persist_scope": true,
  "volumes": false,
  "auto_stop_idle": true,
  "long_sessions": true,
  "custom_image": true,
  "image_snapshot": true,
  "image_oci": false,
  "vm_isolation": false,
  "docker_inside": false,
  "nested_virt": false,
  "root": null,
  "systemd": null,
  "browser": true,
  "desktop": false,
  "computer_use": false,
  "code_interpreter": false,
  "browser_control": null,
  "desktop_control": null,
  "browser_and_desktop": false,
  "anti_bot": false,
  "captcha_solving": false,
  "residential_ip": false,
  "agent_harnesses": true,
  "ssh": true,
  "public_ipv4": false,
  "inbound_https": true,
  "custom_domain": null,
  "raw_tcp_inbound": false,
  "egress_allowlist": true,
  "open_internet": true,
  "static_egress_ip": false,
  "private_network": false,
  "self_host": false,
  "byoc": false,
  "open_source": false,
  "soc2": true,
  "hipaa": false,
  "sso": false,
  "gpu": false,
  "arm64": true,
  "windows": false,
  "macos": false,
  "lang_python": true,
  "lang_node": true,
  "lang_go": true,
  "lang_rust": true,
  "lang_java": null,
  "gpu_desktop": false,
  "credential_injection": true,
  "egress_http_rules": false,
  "wake_on_request": true,
  "live_resize": false,
  "fork_running": true,
  "memory_snapshot_fork": false,
  "webhooks": true,
  "scheduled_wakeups": true,
  "audit_logs": null,
  "eu_data_residency": false,
  "zero_data_retention": null,
  "scoped_api_keys": null,
  "spend_limits": null,
  "mcp_server": true,
  "usage_api": true,
  "snapshot_auto": false,
  "snapshot_on_demand": true,
  "harness_api": true,
  "own_agent_api": true,
  "fast_boot": false,
  "strong_isolation": false,
  "ingress_rules": true,
  "guest_firewall": false,
  "secret_proxy": true,
  "secret_proxy_any": true,
  "volume_attach": false,
  "volume_shared": false,
  "sidecar": null,
  "fuse": null,
  "kernel_features": null,
  "burst": null
 },
 "company": {
  "id": "upstash-box",
  "checked": "2026-09-30",
  "company": "Upstash, Inc.",
  "ownership": {
   "value": "independent",
   "parent": null,
   "source": "https://techcrunch.com/2024/02/08/upstashs-serverless-data-platform-hits-arr-of-1m-just-two-years-after-seed-funding/",
   "quote": "Company founder and CEO Enes Akar says that his idea to create a consumption-based pricing model... he was more interested in staying independent while he built up the business"
  },
  "stage": {
   "value": "series-a",
   "source": "https://techcrunch.com/2024/02/08/upstashs-serverless-data-platform-hits-arr-of-1m-just-two-years-after-seed-funding/",
   "quote": "the company is boasting ARR of $1 million, a $10 million Series A led by a16z and a shiny new vector database.",
   "confidence": "high",
   "note": "Last priced round confirmed is the Feb 2024 $10M Series A led by Andreessen Horowitz (a16z); no later priced round found as of 2026-09-30."
  },
  "accelerators": [],
  "total_funding_usd": {
   "value": 11900000,
   "status": "confirmed",
   "basis": "Sum of confirmed rounds per TechCrunch: $1.9M seed (Mar 2022) + $10M Series A (Feb 2024)",
   "source": "https://techcrunch.com/2024/02/08/upstashs-serverless-data-platform-hits-arr-of-1m-just-two-years-after-seed-funding/",
   "quote": "Upstash announced a $1.9 million seed round almost exactly two years ago... the company is boasting ARR of $1 million, a $10 million Series A led by a16z"
  },
  "last_round": {
   "type": "series-a",
   "amount_usd": 10000000,
   "date": "2024-02",
   "leads": [
    "Andreessen Horowitz (a16z)"
   ],
   "status": "confirmed",
   "source": "https://techcrunch.com/2024/02/08/upstashs-serverless-data-platform-hits-arr-of-1m-just-two-years-after-seed-funding/",
   "quote": "the company is boasting ARR of $1 million, a $10 million Series A led by a16z and a shiny new vector database."
  },
  "investors": [
   "Andreessen Horowitz (a16z)",
   "Mango Capital",
   "AngelList",
   "ScaleX Ventures"
  ],
  "portfolio_listings": [],
  "revenue": {
   "value_usd": 1000000,
   "kind": "ARR",
   "as_of": "2024-02",
   "status": "confirmed",
   "basis": "Company-stated ARR quoted by TechCrunch at the time of the Series A announcement",
   "source": "https://techcrunch.com/2024/02/08/upstashs-serverless-data-platform-hits-arr-of-1m-just-two-years-after-seed-funding/",
   "quote": "Upstash’s serverless data platform hits ARR of $1M just two years after seed funding"
  },
  "employees": {
   "value": 16,
   "source": "https://techcrunch.com/2024/02/08/upstashs-serverless-data-platform-hits-arr-of-1m-just-two-years-after-seed-funding/"
  },
  "note": "Founded 2020 by CEO Enes Akar (Turkey-based team, founders now also in Silicon Valley); serverless Redis/Kafka/Vector data platform. 'Box' is a newer sandbox/compute product line (agent execution, not the original Redis business) so this card's provider-level company facts (funding, ARR, ownership) describe all of Upstash, not the Box product specifically; no separate Box revenue disclosed. No accelerator (YC/Techstars/etc.) affiliation found; a16z approached the company unsolicited per TechCrunch."
 },
 "id": "upstash-box",
 "name": "Upstash Box",
 "url": "https://upstash.com/pricing/box",
 "category": "agent-sandbox",
 "isolation": "container",
 "modes": [
  {
   "active_floor": 0,
   "ram_per_vcpu": [
    2,
    2
   ],
   "ram_fixed_per_vcpu": 2,
   "vcpu_options": [
    2
   ],
   "min_vcpu": 2,
   "max_vcpu": 2,
   "max_ram_gib": 4,
   "sizes": null,
   "pool_tiers": null,
   "requires_always_on": false,
   "always_on_month_per_instance": null,
   "commit_note": null,
   "min_billed_seconds": null,
   "granularity_s": null,
   "start_fee": 0,
   "boot_overhead_s": null,
   "multiplier": 1,
   "windows_vcpu_h": null,
   "gpu": null,
   "os": [
    "linux"
   ],
   "regions": [
    "us"
   ],
   "gpu_only": false,
   "features": {
    "pause_resume": true,
    "auto_stop_idle": true,
    "isolation": "container"
   },
   "key": "payg-small",
   "label": "Pay as You Go, Small box (2 vCPU / 4 GB), active CPU core-hours",
   "flags": [],
   "pricing": "resource",
   "vcpu_h": 0.1,
   "ram_gib_h": 0,
   "cpu_basis": "active",
   "ram_basis": "alloc",
   "note": "$0.10 per active CPU core-hour on the Small size (the per-core rate rises with box size: Small $0.10, Medium $0.20, Large $0.40). Resolved reading: price is per core-hour of actual CPU consumed (FAQ: 100% of 2 cores for 1 h = $0.20, 10% of 1 core for 1 h = $0.01; vendor blog: 0.167 core-h x $0.10 = $0.017). Full load = 2 x $0.10 = $0.20/h. RAM free. Idle (0 CPU) running box costs $0; box auto-freezes after 6 h idle (Free: 1 h), storage keeps billing at $0.10/GB-month. Disk 5 GB max. Granularity/minimum unpublished. Basis check 2026-09-28: 'You are billed based on how much CPU your code actually consumes, measured in core-hours'; 'When a standard box is idle with no CPU usage, no charges apply'; plan table 'Idle Timeout 1 hour' (Free) / '6 hours' (PAYG) (https://upstash.com/pricing/box). No memory meter, so ram_gib_h 0 and ram_basis alloc (nothing to scale)."
  },
  {
   "active_floor": 0,
   "ram_per_vcpu": [
    2,
    2
   ],
   "ram_fixed_per_vcpu": 2,
   "vcpu_options": [
    4
   ],
   "min_vcpu": 4,
   "max_vcpu": 4,
   "max_ram_gib": 8,
   "sizes": null,
   "pool_tiers": null,
   "requires_always_on": false,
   "always_on_month_per_instance": null,
   "commit_note": null,
   "min_billed_seconds": null,
   "granularity_s": null,
   "start_fee": 0,
   "boot_overhead_s": null,
   "multiplier": 1,
   "windows_vcpu_h": null,
   "gpu": null,
   "os": [
    "linux"
   ],
   "regions": [
    "us"
   ],
   "gpu_only": false,
   "features": {
    "pause_resume": true,
    "auto_stop_idle": true,
    "isolation": "container"
   },
   "key": "payg-medium",
   "label": "Pay as You Go, Medium box (4 vCPU / 8 GB), active CPU core-hours",
   "flags": [],
   "pricing": "resource",
   "vcpu_h": 0.2,
   "ram_gib_h": 0,
   "cpu_basis": "active",
   "ram_basis": "alloc",
   "note": "$0.20 per active CPU core-hour on the Medium size (the per-core rate rises with box size: Small $0.10, Medium $0.20, Large $0.40). Resolved reading: price is per core-hour of actual CPU consumed (FAQ: 100% of 2 cores for 1 h = $0.20, 10% of 1 core for 1 h = $0.01; vendor blog: 0.167 core-h x $0.10 = $0.017). Full load = 4 x $0.20 = $0.80/h. RAM free. Idle (0 CPU) running box costs $0; box auto-freezes after 6 h idle (Free: 1 h), storage keeps billing at $0.10/GB-month. Disk 10 GB max. Granularity/minimum unpublished. Basis check 2026-09-28: 'You are billed based on how much CPU your code actually consumes, measured in core-hours'; 'When a standard box is idle with no CPU usage, no charges apply'; plan table 'Idle Timeout 1 hour' (Free) / '6 hours' (PAYG) (https://upstash.com/pricing/box). No memory meter, so ram_gib_h 0 and ram_basis alloc (nothing to scale)."
  },
  {
   "active_floor": 0,
   "ram_per_vcpu": [
    2,
    2
   ],
   "ram_fixed_per_vcpu": 2,
   "vcpu_options": [
    8
   ],
   "min_vcpu": 8,
   "max_vcpu": 8,
   "max_ram_gib": 16,
   "sizes": null,
   "pool_tiers": null,
   "requires_always_on": false,
   "always_on_month_per_instance": null,
   "commit_note": null,
   "min_billed_seconds": null,
   "granularity_s": null,
   "start_fee": 0,
   "boot_overhead_s": null,
   "multiplier": 1,
   "windows_vcpu_h": null,
   "gpu": null,
   "os": [
    "linux"
   ],
   "regions": [
    "us"
   ],
   "gpu_only": false,
   "features": {
    "pause_resume": true,
    "auto_stop_idle": true,
    "isolation": "container"
   },
   "key": "payg-large",
   "label": "Pay as You Go, Large box (8 vCPU / 16 GB), active CPU core-hours",
   "flags": [],
   "pricing": "resource",
   "vcpu_h": 0.4,
   "ram_gib_h": 0,
   "cpu_basis": "active",
   "ram_basis": "alloc",
   "note": "$0.40 per active CPU core-hour on the Large size (the per-core rate rises with box size: Small $0.10, Medium $0.20, Large $0.40). Resolved reading: price is per core-hour of actual CPU consumed (FAQ: 100% of 2 cores for 1 h = $0.20, 10% of 1 core for 1 h = $0.01; vendor blog: 0.167 core-h x $0.10 = $0.017). Full load = 8 x $0.40 = $3.20/h. RAM free. Idle (0 CPU) running box costs $0; box auto-freezes after 6 h idle (Free: 1 h), storage keeps billing at $0.10/GB-month. Disk 20 GB max. Granularity/minimum unpublished. Basis check 2026-09-28: 'You are billed based on how much CPU your code actually consumes, measured in core-hours'; 'When a standard box is idle with no CPU usage, no charges apply'; plan table 'Idle Timeout 1 hour' (Free) / '6 hours' (PAYG) (https://upstash.com/pricing/box). No memory meter, so ram_gib_h 0 and ram_basis alloc (nothing to scale)."
  },
  {
   "active_floor": 0,
   "ram_per_vcpu": [
    null,
    null
   ],
   "ram_fixed_per_vcpu": null,
   "vcpu_options": null,
   "min_vcpu": null,
   "max_vcpu": null,
   "max_ram_gib": null,
   "sizes": [
    {
     "name": "small",
     "vcpu": 2,
     "ram_gib": 4,
     "disk_gib": 5,
     "hour": 0.010959,
     "month_cap": 8
    }
   ],
   "pool_tiers": null,
   "requires_always_on": true,
   "always_on_month_per_instance": 8,
   "commit_note": "keepAlive: true box never pauses; flat $8/month is the only charge for that box (CPU at any utilisation + its storage included). Proration for boxes created/deleted mid-month is unpublished.",
   "min_billed_seconds": null,
   "granularity_s": null,
   "start_fee": 0,
   "boot_overhead_s": null,
   "multiplier": 1,
   "windows_vcpu_h": null,
   "gpu": null,
   "os": [
    "linux"
   ],
   "regions": [
    "us"
   ],
   "gpu_only": false,
   "features": {
    "auto_stop_idle": false,
    "pause_resume": false,
    "wake_on_request": false,
    "isolation": "container"
   },
   "key": "keepalive-small",
   "label": "Fixed / Keep-Alive Small box, always on ($8/box/month)",
   "flags": [],
   "pricing": "sizes",
   "vcpu_h": null,
   "ram_gib_h": null,
   "cpu_basis": "alloc",
   "ram_basis": "alloc",
   "note": "hour = $8/730. Break-even vs PAYG Small: $8 / ($0.10 x 2 cores x util) = 40 h/month at 100% CPU, 133 h at 30%. Fair-use limits at sustained 100% CPU unpublished."
  },
  {
   "active_floor": 0,
   "ram_per_vcpu": [
    null,
    null
   ],
   "ram_fixed_per_vcpu": null,
   "vcpu_options": null,
   "min_vcpu": null,
   "max_vcpu": null,
   "max_ram_gib": null,
   "sizes": [
    {
     "name": "medium",
     "vcpu": 4,
     "ram_gib": 8,
     "disk_gib": 10,
     "hour": 0.021918,
     "month_cap": 16
    }
   ],
   "pool_tiers": null,
   "requires_always_on": true,
   "always_on_month_per_instance": 16,
   "commit_note": "keepAlive: true box never pauses; flat $16/month is the only charge for that box (CPU at any utilisation + its storage included). Proration for boxes created/deleted mid-month is unpublished.",
   "min_billed_seconds": null,
   "granularity_s": null,
   "start_fee": 0,
   "boot_overhead_s": null,
   "multiplier": 1,
   "windows_vcpu_h": null,
   "gpu": null,
   "os": [
    "linux"
   ],
   "regions": [
    "us"
   ],
   "gpu_only": false,
   "features": {
    "auto_stop_idle": false,
    "pause_resume": false,
    "wake_on_request": false,
    "isolation": "container"
   },
   "key": "keepalive-medium",
   "label": "Fixed / Keep-Alive Medium box, always on ($16/box/month)",
   "flags": [],
   "pricing": "sizes",
   "vcpu_h": null,
   "ram_gib_h": null,
   "cpu_basis": "alloc",
   "ram_basis": "alloc",
   "note": "hour = $16/730. Break-even vs PAYG Medium: $16 / ($0.20 x 4 cores x util) = 20 h/month at 100% CPU, 67 h at 30%. Fair-use limits at sustained 100% CPU unpublished."
  },
  {
   "active_floor": 0,
   "ram_per_vcpu": [
    null,
    null
   ],
   "ram_fixed_per_vcpu": null,
   "vcpu_options": null,
   "min_vcpu": null,
   "max_vcpu": null,
   "max_ram_gib": null,
   "sizes": [
    {
     "name": "large",
     "vcpu": 8,
     "ram_gib": 16,
     "disk_gib": 20,
     "hour": 0.043836,
     "month_cap": 32
    }
   ],
   "pool_tiers": null,
   "requires_always_on": true,
   "always_on_month_per_instance": 32,
   "commit_note": "keepAlive: true box never pauses; flat $32/month is the only charge for that box (CPU at any utilisation + its storage included). Proration for boxes created/deleted mid-month is unpublished.",
   "min_billed_seconds": null,
   "granularity_s": null,
   "start_fee": 0,
   "boot_overhead_s": null,
   "multiplier": 1,
   "windows_vcpu_h": null,
   "gpu": null,
   "os": [
    "linux"
   ],
   "regions": [
    "us"
   ],
   "gpu_only": false,
   "features": {
    "auto_stop_idle": false,
    "pause_resume": false,
    "wake_on_request": false,
    "isolation": "container"
   },
   "key": "keepalive-large",
   "label": "Fixed / Keep-Alive Large box, always on ($32/box/month)",
   "flags": [],
   "pricing": "sizes",
   "vcpu_h": null,
   "ram_gib_h": null,
   "cpu_basis": "alloc",
   "ram_basis": "alloc",
   "note": "hour = $32/730. Break-even vs PAYG Large: $32 / ($0.40 x 8 cores x util) = 10 h/month at 100% CPU, 33 h at 30%. Fair-use limits at sustained 100% CPU unpublished."
  },
  {
   "active_floor": 0,
   "ram_per_vcpu": [
    null,
    null
   ],
   "ram_fixed_per_vcpu": null,
   "vcpu_options": null,
   "min_vcpu": null,
   "max_vcpu": 2,
   "max_ram_gib": 4,
   "sizes": null,
   "pool_tiers": [
    {
     "name": "1 x Small",
     "month": 8,
     "vcpu": 2,
     "ram_gib": 4,
     "max_vms": 1
    },
    {
     "name": "5 x Small",
     "month": 40,
     "vcpu": 10,
     "ram_gib": 20,
     "max_vms": 5
    },
    {
     "name": "10 x Small",
     "month": 80,
     "vcpu": 20,
     "ram_gib": 40,
     "max_vms": 10
    },
    {
     "name": "25 x Small",
     "month": 200,
     "vcpu": 50,
     "ram_gib": 100,
     "max_vms": 25
    },
    {
     "name": "50 x Small",
     "month": 400,
     "vcpu": 100,
     "ram_gib": 200,
     "max_vms": 50
    },
    {
     "name": "100 x Small",
     "month": 800,
     "vcpu": 200,
     "ram_gib": 400,
     "max_vms": 100
    },
    {
     "name": "250 x Small",
     "month": 2000,
     "vcpu": 500,
     "ram_gib": 1000,
     "max_vms": 250
    },
    {
     "name": "500 x Small",
     "month": 4000,
     "vcpu": 1000,
     "ram_gib": 2000,
     "max_vms": 500
    },
    {
     "name": "1000 x Small",
     "month": 8000,
     "vcpu": 2000,
     "ram_gib": 4000,
     "max_vms": 1000
    }
   ],
   "requires_always_on": false,
   "always_on_month_per_instance": null,
   "commit_note": "Keep C persistent keep-alive boxes and reuse them for sessions; you pay C x $8/month regardless of hours used. Tiers are a coarse approximation of N x $8 (rounds C up to the next tier).",
   "min_billed_seconds": null,
   "granularity_s": null,
   "start_fee": 0,
   "boot_overhead_s": null,
   "multiplier": 1,
   "windows_vcpu_h": null,
   "gpu": null,
   "os": [
    "linux"
   ],
   "regions": [
    "us"
   ],
   "gpu_only": false,
   "features": {
    "auto_stop_idle": false,
    "pause_resume": false,
    "wake_on_request": false,
    "isolation": "container"
   },
   "key": "keepalive-fleet-small",
   "label": "Keep-Alive Small fleet sized to peak concurrency (part-time use)",
   "flags": [],
   "pricing": "pool",
   "vcpu_h": null,
   "ram_gib_h": null,
   "cpu_basis": "alloc",
   "ram_basis": "alloc",
   "note": "Valid only if each session fits one Small box (max 2 vCPU / 4 GB per box: sessions cannot span boxes) and sessions can reuse long-lived boxes (state carries over between sessions unless you clean it). Real cost is exactly ceil(C) x $8/month.",
   "vm_max_vcpu": 2,
   "vm_max_ram_gib": 4
  },
  {
   "active_floor": 0,
   "ram_per_vcpu": [
    null,
    null
   ],
   "ram_fixed_per_vcpu": null,
   "vcpu_options": null,
   "min_vcpu": null,
   "max_vcpu": 4,
   "max_ram_gib": 8,
   "sizes": null,
   "pool_tiers": [
    {
     "name": "1 x Medium",
     "month": 16,
     "vcpu": 4,
     "ram_gib": 8,
     "max_vms": 1
    },
    {
     "name": "5 x Medium",
     "month": 80,
     "vcpu": 20,
     "ram_gib": 40,
     "max_vms": 5
    },
    {
     "name": "10 x Medium",
     "month": 160,
     "vcpu": 40,
     "ram_gib": 80,
     "max_vms": 10
    },
    {
     "name": "25 x Medium",
     "month": 400,
     "vcpu": 100,
     "ram_gib": 200,
     "max_vms": 25
    },
    {
     "name": "50 x Medium",
     "month": 800,
     "vcpu": 200,
     "ram_gib": 400,
     "max_vms": 50
    },
    {
     "name": "100 x Medium",
     "month": 1600,
     "vcpu": 400,
     "ram_gib": 800,
     "max_vms": 100
    },
    {
     "name": "250 x Medium",
     "month": 4000,
     "vcpu": 1000,
     "ram_gib": 2000,
     "max_vms": 250
    },
    {
     "name": "500 x Medium",
     "month": 8000,
     "vcpu": 2000,
     "ram_gib": 4000,
     "max_vms": 500
    },
    {
     "name": "1000 x Medium",
     "month": 16000,
     "vcpu": 4000,
     "ram_gib": 8000,
     "max_vms": 1000
    }
   ],
   "requires_always_on": false,
   "always_on_month_per_instance": null,
   "commit_note": "Keep C persistent keep-alive boxes and reuse them for sessions; you pay C x $16/month regardless of hours used. Tiers are a coarse approximation of N x $16 (rounds C up to the next tier).",
   "min_billed_seconds": null,
   "granularity_s": null,
   "start_fee": 0,
   "boot_overhead_s": null,
   "multiplier": 1,
   "windows_vcpu_h": null,
   "gpu": null,
   "os": [
    "linux"
   ],
   "regions": [
    "us"
   ],
   "gpu_only": false,
   "features": {
    "auto_stop_idle": false,
    "pause_resume": false,
    "wake_on_request": false,
    "isolation": "container"
   },
   "key": "keepalive-fleet-medium",
   "label": "Keep-Alive Medium fleet sized to peak concurrency (part-time use)",
   "flags": [],
   "pricing": "pool",
   "vcpu_h": null,
   "ram_gib_h": null,
   "cpu_basis": "alloc",
   "ram_basis": "alloc",
   "note": "Valid only if each session fits one Medium box (max 4 vCPU / 8 GB per box: sessions cannot span boxes) and sessions can reuse long-lived boxes (state carries over between sessions unless you clean it). Real cost is exactly ceil(C) x $16/month.",
   "vm_max_vcpu": 4,
   "vm_max_ram_gib": 8
  },
  {
   "active_floor": 0,
   "ram_per_vcpu": [
    null,
    null
   ],
   "ram_fixed_per_vcpu": null,
   "vcpu_options": null,
   "min_vcpu": null,
   "max_vcpu": 8,
   "max_ram_gib": 16,
   "sizes": null,
   "pool_tiers": [
    {
     "name": "1 x Large",
     "month": 32,
     "vcpu": 8,
     "ram_gib": 16,
     "max_vms": 1
    },
    {
     "name": "5 x Large",
     "month": 160,
     "vcpu": 40,
     "ram_gib": 80,
     "max_vms": 5
    },
    {
     "name": "10 x Large",
     "month": 320,
     "vcpu": 80,
     "ram_gib": 160,
     "max_vms": 10
    },
    {
     "name": "25 x Large",
     "month": 800,
     "vcpu": 200,
     "ram_gib": 400,
     "max_vms": 25
    },
    {
     "name": "50 x Large",
     "month": 1600,
     "vcpu": 400,
     "ram_gib": 800,
     "max_vms": 50
    },
    {
     "name": "100 x Large",
     "month": 3200,
     "vcpu": 800,
     "ram_gib": 1600,
     "max_vms": 100
    },
    {
     "name": "250 x Large",
     "month": 8000,
     "vcpu": 2000,
     "ram_gib": 4000,
     "max_vms": 250
    },
    {
     "name": "500 x Large",
     "month": 16000,
     "vcpu": 4000,
     "ram_gib": 8000,
     "max_vms": 500
    },
    {
     "name": "1000 x Large",
     "month": 32000,
     "vcpu": 8000,
     "ram_gib": 16000,
     "max_vms": 1000
    }
   ],
   "requires_always_on": false,
   "always_on_month_per_instance": null,
   "commit_note": "Keep C persistent keep-alive boxes and reuse them for sessions; you pay C x $32/month regardless of hours used. Tiers are a coarse approximation of N x $32 (rounds C up to the next tier).",
   "min_billed_seconds": null,
   "granularity_s": null,
   "start_fee": 0,
   "boot_overhead_s": null,
   "multiplier": 1,
   "windows_vcpu_h": null,
   "gpu": null,
   "os": [
    "linux"
   ],
   "regions": [
    "us"
   ],
   "gpu_only": false,
   "features": {
    "auto_stop_idle": false,
    "pause_resume": false,
    "wake_on_request": false,
    "isolation": "container"
   },
   "key": "keepalive-fleet-large",
   "label": "Keep-Alive Large fleet sized to peak concurrency (part-time use)",
   "flags": [],
   "pricing": "pool",
   "vcpu_h": null,
   "ram_gib_h": null,
   "cpu_basis": "alloc",
   "ram_basis": "alloc",
   "note": "Valid only if each session fits one Large box (max 8 vCPU / 16 GB per box: sessions cannot span boxes) and sessions can reuse long-lived boxes (state carries over between sessions unless you clean it). Real cost is exactly ceil(C) x $32/month.",
   "vm_max_vcpu": 8,
   "vm_max_ram_gib": 16
  }
 ],
 "storage": {
  "included_disk_gib": 0,
  "disk_gib_month": 0.1,
  "disk_billed_when_stopped": true,
  "snapshot_gib_month": 0.1,
  "paused_ram_billed": false
 },
 "network": {
  "egress_free_gib": null,
  "egress_gib": null,
  "ipv4_month": null,
  "ipv4_available": false,
  "internet": {
   "default": "configurable",
   "evidence": [
    {
     "quote": "`allow-all` | Default. No outbound restrictions.",
     "url": "https://upstash.com/docs/box/overall/network-policy.md"
    }
   ]
  }
 },
 "plans": [
  {
   "name": "Free",
   "fee": 0,
   "flags": [],
   "fee_is_credit": false,
   "included_usd": 0.5,
   "per_seat": 0,
   "concurrency": 10,
   "max_session_h": null,
   "max_vcpu": 2,
   "max_ram_gib": 4,
   "sizes_allowed": [
    "small"
   ],
   "note": "Hard cap of 5 active CPU-hours/month (= $0.50 at the Small $0.10 rate), Small boxes only, 10 concurrent, idle freeze after 1 h, $1/month LLM budget then API returns 400. Storage free. Not an overage plan: usage beyond 5 CPU-h is blocked, not billed. Verifier 2026-09-28: marked trial_only so the engine never picks it: it is a hard cap (5 CPU-h, blocked not billed), so pricing it as fee 0 + usage minus $0.50 would understate any workload that exceeds the cap.",
   "trial_only": true
  },
  {
   "name": "Pay as You Go",
   "fee": 0,
   "flags": [],
   "fee_is_credit": false,
   "included_usd": 0,
   "per_seat": 0,
   "concurrency": 1000,
   "max_session_h": null,
   "max_vcpu": 8,
   "max_ram_gib": 16,
   "sizes_allowed": [
    "small",
    "medium",
    "large"
   ],
   "note": "No fee. 1,000 concurrent boxes default (soft quota, raisable on request). Idle freeze after 6 h. Keep-alive (Fixed) boxes are bought per box under this same account ($8/$16/$32). $100/month LLM budget for the built-in agent, then BYOK or contact."
  },
  {
   "name": "Enterprise",
   "fee": null,
   "flags": [
    "sales"
   ],
   "fee_is_credit": null,
   "included_usd": null,
   "per_seat": null,
   "concurrency": null,
   "max_session_h": null,
   "max_vcpu": null,
   "max_ram_gib": null,
   "sizes_allowed": null,
   "note": "Custom sizes, limits, prices, regions; dedicated support. Unpublished."
  }
 ],
 "extras": [
  {
   "item": "Built-in AI agent LLM tokens",
   "price": "Included up to $1/month (Free) or $100/month (PAYG/Fixed); beyond that BYOK or contact sales"
  },
  {
   "item": "Dedicated support",
   "price": "Enterprise only, unpublished"
  }
 ],
 "free": {
  "monthly_credit": 0,
  "one_time_credit": 0
 },
 "features": {
  "linux": true,
  "windows": false,
  "macos": false,
  "arm64": true,
  "gpu": false,
  "gpu_types": [],
  "snapshot": "fs",
  "pause_resume": true,
  "fork": true,
  "persistent_disk": true,
  "volumes": false,
  "auto_stop_idle": true,
  "max_session_h": null,
  "custom_image": false,
  "docker_inside": false,
  "nested_virt": false,
  "root": null,
  "systemd": null,
  "browser": true,
  "desktop": false,
  "computer_use": false,
  "code_interpreter": false,
  "agent_harnesses": true,
  "ssh": true,
  "public_ipv4": false,
  "inbound_https": true,
  "custom_domain": null,
  "raw_tcp_inbound": false,
  "egress_allowlist": true,
  "static_egress_ip": false,
  "private_network": false,
  "self_host": false,
  "byoc": false,
  "open_source": false,
  "regions": [
   "us"
  ],
  "soc2": true,
  "hipaa": false,
  "sso": false,
  "lang_python": true,
  "lang_node": true,
  "lang_go": true,
  "lang_rust": true,
  "lang_java": null,
  "gpu_desktop": false,
  "credential_injection": true,
  "egress_http_rules": false,
  "wake_on_request": true,
  "live_resize": false,
  "fork_running": true,
  "memory_snapshot_fork": false,
  "webhooks": true,
  "scheduled_wakeups": true,
  "audit_logs": null,
  "eu_data_residency": false,
  "zero_data_retention": null,
  "scoped_api_keys": null,
  "spend_limits": null,
  "mcp_server": true,
  "isolation": "container",
  "image_oci": false,
  "snapshot_auto": false,
  "snapshot_on_demand": true,
  "harness_api": true,
  "egress_allowlist_level": "both",
  "ingress_rules": true,
  "secret_proxy": "any-http",
  "volume_shared": false,
  "anti_bot": false,
  "captcha_solving": false,
  "egress_ip_type": "datacenter",
  "volume_attach": false,
  "own_agent_api": true,
  "guest_firewall": false,
  "max_session_unlimited": true,
  "fast_boot": false,
  "open_internet": true,
  "usage_api": true,
  "persist_scope": "whole"
 },
 "perf": {
  "cpu_runs_s": null,
  "cold_start_ms": 445.15,
  "burst_tti_ms": 5633.01,
  "dax_s": 53.4
 },
 "perf_source": "ComputeSDK (github.com/computesdk/benchmarks results/): cold 445.15 ms (2026-08-07) and burst 5,633.01 ms (2026-09-25) with ephemeral:true at SDK default size; dax 53.4 s (2026-09-25) on size \"large\" (8 cores / 16 GB; guest saw 48 host CPUs aarch64). Pay-as-you-go and keep-alive are the same boxes. No HPC result.",
 "knobs": [],
 "caveats": [
  "'Active CPU hour' resolved as a core-hour of actual consumption priced by box size (Small $0.10, Medium $0.20, Large $0.40 per core-hour): the FAQ ($0.20 for 100% of 2 cores for 1 h; $0.01 for 10% of 1 core) and Upstash's own comparison blog (0.167 core-h x $0.10 = $0.017 on a 2 vCPU box) multiply core-hours by the size rate. The FAQ/blog only give Small examples, so the Medium/Large per-core rate is the table value applied per core (not confirmed by a worked example). Alternative readings: uniform $0.10/core-h (Medium full load $0.40/h) or price per box-hour at full load (Medium $0.20/h = $0.05/core-h). The engine uses the per-core size rate (most expensive, $0.80/h for Medium at 100%).",
  "Active basis: engine bills vcpu x util x rate using the rounded box vCPU count (e.g. a 1 vCPU workload on a Small box is billed as 2 x util); reality bills only cores actually consumed, so small workloads are slightly overestimated.",
  "Keep-alive is cheaper than PAYG even for part-time use once a box is active more than ~67 h/month at 30% CPU (Medium: $16 / (4 x 0.3 x $0.20)). The keepalive-fleet pool modes approximate a persistent fleet of C boxes (tiers 1/5/10/25/50/100/250/500/1000); real cost is exactly C x $8/$16/$32. Engine must respect each fleet mode's max_vcpu/max_ram_gib (one session per box).",
  "Keep-alive proration (create/delete mid-month) and fair-use limits at sustained 100% CPU are unpublished. Whether snapshots taken from a keep-alive box are covered by the flat price is unclear ('no separate storage charges' on that box); modeled as billed at $0.10/GB-month.",
  "Storage $0.10/GB-month applies to 'all data on disk, including snapshots', presumably actual used GB (not the 5/10/20 GB limit); the pricing card's '5 GB Included Storage' is read as the disk size, not a free allowance (included_disk_gib 0). Paused/frozen boxes keep billing storage; retention limit unpublished.",
  "No RAM charge on any plan. Idle-but-running boxes cost $0 CPU; the idle timeout (6 h PAYG / 1 h Free) only affects wake latency, not cost.",
  "Egress/ingress not published (null); docs cite 22.5 Gbps network per host. No public IPv4 (HTTPS preview URLs + SSH gateway only).",
  "Billing granularity and minimum billed time unpublished (null).",
  "Single region: AWS us-east-1. Enterprise can request other regions.",
  "Custom Docker images 'coming soon'; environments are reused via filesystem snapshots (restorable into a different size). EphemeralBox variant (exec+files only, TTL max 3 days, no agent/git/public URL/pause) has no separate price published; assumed same active-CPU rates.",
  "arm64 set true because the computesdk DAX run reports an aarch64 host (48 logical CPUs / 185 GiB visible inside the container); features research lists x86_64. The in-box CPU/RAM view shows host resources, so the cgroup cap vs billed cores is unverified.",
  "Keep-Alive pricing moved from a tooltip to its own 'Fixed' plan column on 2026-09-27 (upstash-web PR #662); no price change.",
  "perf from benchmarks.json (computesdk cold start 445 ms median, burst 5,633 ms median at 100 concurrency, DAX 53.4 s). No hpc CPU benchmark.",
  "Verified 2026-09-28 against https://upstash.com/pricing/box.md and https://upstash.com/docs/box/overall/pricing: sizes, $0.1/$0.2/$0.4 per active CPU hour, $8/$16/$32 keep-alive, $0.10/GB-month storage incl. snapshots, 1 h / 6 h idle timeouts, 10 / 1,000 concurrency all confirmed. Per-core-by-size reading still only evidenced by Small-rate examples."
 ],
 "sources": [
  "https://upstash.com/pricing/box",
  "https://upstash.com/pricing/box.md",
  "https://upstash.com/docs/box/overall/how-it-works",
  "https://upstash.com/docs/box/overall/keep-alive",
  "https://upstash.com/docs/box/overall/ephemeral-box",
  "https://upstash.com/docs/box/overall/snapshots",
  "https://upstash.com/blog/upstash-box",
  "https://upstash.com/blog/ai-agent-sandbox-providers-compared-2026",
  "https://upstash.com/blog/running-claude-code-in-a-remote-sandbox-with-upstash-box",
  "https://github.com/upstash/upstash-web/pull/662",
  "https://github.com/upstash/upstash-web/blob/master/src/data/pricing/box.ts"
 ],
 "fleet": {
  "default_max_instances": 10,
  "default_max_vcpu": null,
  "default_max_gpus": null,
  "raise": "self-serve",
  "raise_time_days": null,
  "verification": null,
  "tiers": "Free 10; PAYG and fixed keep-alive 1,000 default; higher soft quota by contacting provider.",
  "notes": "10 fits Free within 5 CPU-hours/month; 50/300/1,000 fit paid quota. 1,000 is a raisable soft limit, not hard product cap. LLM budget separate from concurrency; no review turnaround stated.",
  "sources": [
   "https://upstash.com/pricing/box",
   "https://upstash.com/pricing/box.md"
  ],
  "researched": "2026-09-28"
 },
 "feature_evidence": {
  "snapshot_auto": {
   "value": false,
   "source": "https://upstash.com/docs/box/overall/how-it-works.md",
   "quote": "While a box is paused, it releases its compute resources but preserves the filesystem and environment. You can resume it explicitly or simply send new work to wake it back up.",
   "note": "Idle auto-pause keeps the filesystem (persistent disk), with no documented memory/process checkpoint. Snapshots are only described as explicit box.snapshot() calls.",
   "checked": "2026-09-29"
  },
  "snapshot_on_demand": {
   "value": true,
   "source": "https://upstash.com/docs/box/overall/snapshots.md",
   "quote": "Call `snapshot()` on a running or paused box. The returned `Snapshot` object contains the ID you need to restore later.",
   "note": "Filesystem + agent configuration only, no memory ('A snapshot captures: Filesystem ... Agent configuration'). Box.fromSnapshot() boots new boxes from it (fan-out/template, also into a different size). Snapshots survive box deletion. Not available on EphemeralBox.",
   "checked": "2026-09-29"
  },
  "harness_api": {
   "value": true,
   "source": "https://upstash.com/docs/box/overall/agent.md",
   "quote": "For every box, you can configure a built-in agent like Claude Code, Codex or OpenCode",
   "note": "SDK box.agent.run() (typed/structured result, cost) and box.agent.stream() (real-time chunks) with harness-specific options (ClaudeCode maxTurns/effort/..., Codex, OpenCode). Follow-ups: how-it-works says 'You can send multiple prompts to the same box and the agent picks up exactly where it left off.' box.listRuns() lists runs. Custom harness guides exist for Aider, CrewAI, Gemini, Goose, Pi, Pydantic AI via custom-agent. Scheduled prompts also supported.",
   "checked": "2026-09-29"
  },
  "egress_allowlist": {
   "value": true,
   "source": "https://upstash.com/docs/box/overall/network-policy.md",
   "quote": "| `custom` | Allow or deny specific domains and CIDR ranges. |",
   "note": "Modes allow-all (default), deny-all, custom (allowedDomains with *.suffix wildcards, allowedCidrs, deniedCidrs). Updatable on a running box: 'Changes take effect immediately.' Private IP ranges always blocked. Also on fromSnapshot and EphemeralBox.",
   "checked": "2026-09-29",
   "level": "both"
  },
  "ingress_rules": {
   "value": true,
   "source": "https://upstash.com/docs/box/overall/preview.md",
   "quote": "Expose ports from a box with public URLs. Each public URL maps to a specific port and can optionally require authentication.",
   "note": "Per-port public URLs created explicitly via getPublicURL(port), optional bearerToken or basicAuth. SSH via gateway authenticated with Box API key. No IP allowlists documented.",
   "checked": "2026-09-29"
  },
  "secret_proxy": {
   "value": "any-http",
   "source": "https://upstash.com/docs/box/overall/attach-headers.md",
   "quote": "`attachHeaders` lets you inject HTTP headers into outbound HTTPS requests from a box without the secrets ever entering the container.",
   "note": "TLS-intercepting proxy on the host injects headers for arbitrary host patterns (exact or *.suffix); global (user/team console) + per-box. Limits: 'Only HTTPS traffic on port `443` is intercepted'; set at creation, not updatable on a running box; HTTP/2 downgraded to 1.1. Non-HTTP protocols (DB, SSH, git over ssh) not covered. Env vars are the other (visible) option.",
   "checked": "2026-09-29"
  },
  "volume_shared": {
   "value": false,
   "source": "https://upstash.com/docs/box/overall/how-it-works.md",
   "quote": "Each box has its own filesystem. No shared volumes between boxes.",
   "note": null,
   "checked": "2026-09-29"
  },
  "docker_inside": {
   "value": false,
   "source": "https://upstash.com/docs/box/overall/how-it-works.md",
   "quote": "Each box is an isolated container with its own filesystem, shell, network stack, and optional coding agent.",
   "note": "not offered: outside the product's scope. Box is itself a container-isolated sandbox; docs cover installing packages via apt-get (shell.md) but never mention Docker/containers running inside a box, and no privileged/nested-container capability is documented.",
   "checked": "2026-09-30"
  },
  "anti_bot": {
   "value": false,
   "source": "https://upstash.com/docs/box/overall/browser/overview.md",
   "quote": "Create a box with `browser: true` to get a managed, headless Chromium that you control through the SDK. ... Everything works headless. There is no desktop, no VNC, and nothing to install.",
   "note": "not offered: the built-in browser is a plain managed headless Chromium (tabs, screenshots, extraction, AI actions, CDP connect); no stealth/fingerprint-evasion or anti-bot-detection feature is documented anywhere in the browser docs.",
   "checked": "2026-09-30"
  },
  "captcha_solving": {
   "value": false,
   "source": "https://upstash.com/docs/box/overall/browser/ai-actions.md",
   "quote": "A DOM-aware browser agent runs inside the box and resolves natural-language instructions against the live page. It can find elements and execute single actions.",
   "note": "not offered: outside the product's scope. The browser AI actions (observe/act/extract) automate DOM interaction; no CAPTCHA-solving service or API is mentioned in the browser, security, or pricing docs.",
   "checked": "2026-09-30"
  },
  "egress_ip_type": {
   "value": "datacenter",
   "source": "https://upstash.com/docs/box/overall/network-policy.md",
   "quote": "Single region: AWS us-east-1.",
   "note": "Boxes run as AWS-hosted containers in us-east-1; outbound traffic uses standard AWS/cloud-provider (datacenter) IP ranges. No residential/mobile IP option is documented anywhere.",
   "checked": "2026-09-30"
  },
  "fork_running": {
   "value": true,
   "source": "https://upstash.com/docs/box/overall/snapshots.md",
   "quote": "Call `snapshot()` on a running or paused box. ... `Box.fromSnapshot()` provisions a new box with the exact state from the snapshot. The original box is unaffected. You can branch into multiple boxes from the same checkpoint.",
   "note": "A running box can be snapshotted (no stop required) and Box.fromSnapshot() clones it into one or more new boxes while the original keeps running unaffected — i.e. cloning a running machine without stopping it.",
   "checked": "2026-09-30"
  },
  "volume_attach": {
   "value": false,
   "source": "https://upstash.com/docs/box/overall/how-it-works.md",
   "quote": "Each box has its own filesystem. No shared volumes between boxes.",
   "note": "not offered: outside the product's scope. Each box gets one built-in persistent disk (5/10/20 GB by size); no API to attach separate/extra volumes is documented (card's existing `volumes` feature is also false).",
   "checked": "2026-09-30"
  },
  "live_resize": {
   "value": false,
   "source": "https://upstash.com/docs/box/overall/keep-alive.md",
   "quote": "The selected size determines the box's available CPU, RAM, and workspace storage whether `keepAlive` is enabled or not.",
   "note": "Size (vCPU/RAM/disk) is fixed at creation via the `size` option; changing size means creating a new box (optionally via Box.fromSnapshot() into a different size), not resizing a running box in place. No live-resize API is documented.",
   "checked": "2026-09-30"
  },
  "own_agent_api": {
   "value": true,
   "source": "https://upstash.com/docs/box/overall/browser/ai-actions.md",
   "quote": "`observe()` finds actionable elements matching an instruction. ... `act()` resolves and executes exactly one action described in natural language. ... `extract()` hands the page to a DOM-aware agent inside the box and validates the result against a Zod schema.",
   "note": "This is Upstash's own first-party browser/task-agent API (observe/act/extract, natural-language DOM actions) distinct from harness_api, which drives third-party coding harnesses (Claude Code/Codex/OpenCode).",
   "checked": "2026-09-30"
  },
  "egress_http_rules": {
   "value": false,
   "source": "https://upstash.com/docs/box/overall/network-policy.md",
   "quote": "| `custom` | Allow or deny specific domains and CIDR ranges. |",
   "note": "Network policy operates at domain/CIDR (host) granularity (allowedDomains, allowedCidrs, deniedCidrs) with no HTTP method or URL-path level rules documented.",
   "checked": "2026-09-30"
  },
  "guest_firewall": {
   "value": false,
   "source": "https://upstash.com/docs/box/overall/how-it-works.md",
   "quote": "Every box is a self-contained environment ... isolated container with its own filesystem, shell, and network stack.",
   "note": "derived: isolation is `container` (shared kernel), not a full VM/microVM, so the usual root+VM basis for guest-managed iptables/nftables doesn't apply; no NET_ADMIN capability or guest firewall tooling is documented.",
   "checked": "2026-09-30"
  },
  "static_egress_ip": {
   "value": false,
   "source": "https://upstash.com/pricing/box.md",
   "quote": "No public IPv4 (HTTPS preview URLs + SSH gateway only).",
   "note": "No dedicated/static outbound IP is offered or documented; boxes have no public IPv4 and network egress goes through the shared AWS us-east-1 infrastructure.",
   "checked": "2026-09-30"
  },
  "soc2": {
   "value": true,
   "source": "https://trust.upstash.com",
   "quote": "Compliance: SOC 2 Type II, GDPR, HIPAA, Data Privacy Framework (DPF)",
   "note": "Upstash's company-wide Trust Center (Vanta-hosted) lists an active SOC 2 Type II report covering the organization's infrastructure/controls. A separate legacy FAQ (compliance.md) attributes SOC2 specifically to 'Redis databases under Pro and Enterprise'; scoping of the SOC2 report to the Box product specifically is not explicitly stated, hence medium confidence.",
   "checked": "2026-09-30"
  },
  "hipaa": {
   "value": false,
   "source": "https://upstash.com/docs/common/help/compliance.md",
   "quote": "Upstash Redis is HIPAA compliant and we are in process of getting this compliance for our other products.",
   "note": "The company's own compliance FAQ explicitly limits current HIPAA compliance to Redis and states other products (including Box) are still in progress; no BAA-for-Box is documented.",
   "checked": "2026-09-30"
  },
  "sso": {
   "value": false,
   "source": "https://upstash.com/docs/common/account/teams.md",
   "quote": "Admin: This role has full access, including the ability to add and remove members, manage databases, and payment methods. Dev: This role can create, manage, and delete databases",
   "note": "Team/account docs describe only Admin/Dev roles with email-based invites; no SAML/OIDC single sign-on option is mentioned anywhere in account, teams, or trust-center docs.",
   "checked": "2026-09-30"
  },
  "max_session_h": {
   "value": "none",
   "source": "https://upstash.com/docs/box/overall/keep-alive.md",
   "quote": "When `keepAlive` is enabled, the box stays on between sessions instead of auto-pausing when idle. Use it when you need a box to remain continuously available",
   "note": "No maximum wall-clock session length is documented for standard boxes: default boxes auto-pause after an idle timeout (1h Free / 6h PAYG) but can be resumed 'days or even weeks later', and keep-alive boxes stay on indefinitely. (EphemeralBox is a separate lightweight variant with its own 3-day max TTL, not the general session cap.)",
   "checked": "2026-09-30"
  },
  "memory_snapshot_fork": {
   "value": false,
   "source": "https://upstash.com/docs/box/overall/snapshots.md",
   "quote": "A snapshot captures: Filesystem: the full disk state of the box at the time of the snapshot. Agent configuration: the agent harness, model, and API key settings.",
   "note": "Snapshots (and Box.fromSnapshot to fork a new box) cover filesystem + agent config only, not running memory/process state, so there is no memory-snapshot fork. Matches the existing feature_evidence entry for snapshot_auto.",
   "checked": "2026-09-30"
  },
  "nested_virt": {
   "value": false,
   "source": "https://upstash.com/docs/box/overall/how-it-works",
   "quote": "Every box runs as its own Docker container with an independent filesystem, process tree, and network stack.",
   "note": "Boxes are plain Docker containers (isolation: container); no VM/nested-virtualization capability is documented anywhere in the Box docs.",
   "checked": "2026-09-30"
  },
  "desktop": {
   "value": false,
   "source": "https://upstash.com/docs/box/overall/how-it-works",
   "quote": "Every box is a self-contained environment with five capabilities: Agent, Git, Shell, Filesystem, Snapshots.",
   "note": "Box is a headless shell/filesystem/agent sandbox; no GUI desktop, VNC, or display capability is documented anywhere in the product.",
   "checked": "2026-09-30"
  },
  "computer_use": {
   "value": false,
   "source": "https://upstash.com/docs/box/overall/how-it-works",
   "quote": "The agent has full access to the shell, filesystem, and git inside its box.",
   "note": "Agent tools are shell/filesystem/git only; there is no browser/GUI computer-use tool documented for the box product.",
   "checked": "2026-09-30"
  },
  "custom_image": {
   "value": false,
   "source": "https://upstash.com/pricing/box.md",
   "quote": "Can I use my own Docker container? Yes, custom Docker container support is planned and coming soon.",
   "note": "Confirms custom images are not yet available; only fixed pre-built runtimes (node, python, go, ruby, rust, plus -alpine variants) can be selected today.",
   "checked": "2026-09-30"
  },
  "image_oci": {
   "value": false,
   "source": "https://upstash.com/pricing/box.md",
   "quote": "Can I use my own Docker container? Yes, custom Docker container support is planned and coming soon.",
   "note": "No OCI/Docker image import exists yet; same 'coming soon' gap as custom_image. Environments are instead reproduced via filesystem snapshots restored into new boxes.",
   "checked": "2026-09-30"
  },
  "volumes": {
   "value": false,
   "source": "https://upstash.com/docs/box/overall/how-it-works.md",
   "quote": "Each box has its own filesystem. No shared volumes between boxes.",
   "note": "No attachable/shared persistent volume feature; each box only has its own local disk (persistent across pause/resume, but not a mountable volume, and never shared).",
   "checked": "2026-09-30"
  },
  "public_ipv4": {
   "value": false,
   "source": "https://upstash.com/docs/box/overall/preview.md",
   "quote": "Expose ports from a box with public URLs. Each public URL maps to a specific port and can optionally require authentication. ... https://{BOX_ID}-3000.preview.box.upstash.com",
   "note": "Inbound access is only via HTTPS preview subdomains (getPublicURL) or the SSH gateway (ssh <box-id>@us-east-1.box.upstash.com); no dedicated public IPv4 address is offered.",
   "checked": "2026-09-30"
  },
  "gpu": {
   "value": false,
   "source": "https://upstash.com/pricing/box.md",
   "quote": "Box Sizes (Pay as You Go): Small 2 vCPU / 4 GB RAM / 5 GB, Medium 4 vCPU / 8 GB RAM / 10 GB, Large 8 vCPU / 16 GB RAM / 20 GB.",
   "note": "Only three CPU-only container sizes are sold; no GPU option appears anywhere in pricing, docs, or FAQ.",
   "checked": "2026-09-30"
  },
  "windows": {
   "value": false,
   "source": "https://upstash.com/docs/box/overall/how-it-works",
   "quote": "Each box runs in an isolated container with a pre-installed language runtime. By default, all runtimes use Debian (glibc)... Append -alpine for smaller images based on musl.",
   "note": "Only Linux (Debian/Alpine) container runtimes are offered; Box is a Linux-container coding-agent sandbox, so Windows is outside scope.",
   "checked": "2026-09-30"
  },
  "macos": {
   "value": false,
   "source": "https://upstash.com/docs/box/overall/how-it-works",
   "quote": "Each box runs in an isolated container with a pre-installed language runtime. By default, all runtimes use Debian (glibc)... Append -alpine for smaller images based on musl.",
   "note": "Container-only product on AWS us-east-1; no macOS runtime/hardware is offered or possible for a Docker-container-based service.",
   "checked": "2026-09-30"
  },
  "self_host": {
   "value": false,
   "source": "https://github.com/upstash/box",
   "quote": "TypeScript SDK and CLI for Upstash Box — sandboxed AI coding agents",
   "note": "Only the client SDK/CLI is public; the box execution platform itself is Upstash-hosted (AWS us-east-1) with no self-hosted/on-prem deployment option documented.",
   "checked": "2026-09-30"
  },
  "byoc": {
   "value": false,
   "source": "https://upstash.com/pricing/box.md",
   "quote": "Where are boxes hosted? Boxes currently run on AWS us-east-1. We are planning to add more regions soon.",
   "note": "Boxes run only in Upstash's own AWS account/region; no bring-your-own-cloud deployment is offered, even on Enterprise (which only offers 'custom regions', not customer-cloud deployment).",
   "checked": "2026-09-30"
  },
  "open_source": {
   "value": false,
   "source": "https://github.com/upstash/box",
   "quote": "TypeScript SDK and CLI for Upstash Box — sandboxed AI coding agents",
   "note": "The upstash/box GitHub repo is only the client SDK/CLI wrapper; the sandbox execution service itself is closed-source, proprietary Upstash infrastructure.",
   "checked": "2026-09-30"
  },
  "eu_data_residency": {
   "value": false,
   "source": "https://upstash.com/pricing/box.md",
   "quote": "Where are boxes hosted? Boxes currently run on AWS us-east-1. We are planning to add more regions soon.",
   "note": "Single region only (AWS us-east-1, US); no EU region or data-residency option exists today, even mentioned as unpublished/custom only under Enterprise.",
   "checked": "2026-09-30"
  },
  "private_network": {
   "value": false,
   "source": "https://upstash.com/docs/box/overall/how-it-works.md",
   "quote": "Network: Boxes can make outbound requests (HTTP, DNS) but cannot reach other boxes.",
   "note": "Boxes are explicitly isolated from each other with no private networking/VPC-peering feature documented for the Box product; Upstash's general Enterprise VPC-peering offer (llms.txt) is not stated to extend to Box.",
   "checked": "2026-09-30"
  },
  "fast_boot": {
   "value": false,
   "source": "https://www.computesdk.com/benchmarks",
   "quote": "burst of 100: p95 8927 ms, 100% started",
   "note": "ComputeSDK sandbox benchmark 2026-09-25",
   "checked": "2026-09-25"
  },
  "usage_api": {
   "value": true,
   "source": "https://github.com/upstash/box",
   "quote": "box.listRuns() returns BoxRunData[] with cost_usd and compute_cost_usd per run; Box.list({ label }) filters by tag for group-level aggregation",
   "note": "granularity: per-sandbox; cost: yes; The Box TypeScript/Python SDKs expose a listRuns() method that returns all runs for a given box with cost_usd (LLM token cost) and compute_cost_usd (CPU cost) per run. Boxes can be created with labels (tags), listed via Box.list({ label: '...' }) to group by tag, then costs aggregated by summing per-run costs across boxes in a label. Cost is returned in USD. This is documented in the public SDK types (BoxRunData) and the GitHub repository.",
   "confidence": "high",
   "checked": "2026-01-15"
  },
  "persist_scope": {
   "value": "whole",
   "source": "https://upstash.com/docs/box/overall/how-it-works.md",
   "quote": "While a box is paused, it releases its compute resources but preserves the filesystem and environment. You can resume it explicitly or simply send new work to wake it back up.",
   "note": "The whole disk survives a stop, installed packages included.",
   "checked": "2026-10-01"
  }
 },
 "locations": [
  {
   "country": "US",
   "state": "VA",
   "city": "Ashburn",
   "provider_region": "us-east-1",
   "self_serve": true,
   "choosable": true
  }
 ],
 "locations_source": "https://upstash.com/pricing/box",
 "locations_quote": "Boxes currently run on AWS us-east-1. We are planning to add more regions soon.",
 "locations_checked": "2026-10-01"
}