{
 "features_resolved": {
  "snapshot_any": true,
  "snapshot_mem": true,
  "fork": true,
  "pause_resume": true,
  "persistent_disk": true,
  "whole_disk": true,
  "persist_scope": null,
  "volumes": true,
  "auto_stop_idle": true,
  "long_sessions": true,
  "custom_image": true,
  "image_snapshot": true,
  "image_oci": true,
  "vm_isolation": true,
  "docker_inside": true,
  "nested_virt": false,
  "root": true,
  "systemd": false,
  "browser": true,
  "desktop": true,
  "computer_use": true,
  "code_interpreter": false,
  "browser_control": true,
  "desktop_control": true,
  "browser_and_desktop": true,
  "anti_bot": false,
  "captcha_solving": false,
  "residential_ip": false,
  "agent_harnesses": true,
  "ssh": false,
  "public_ipv4": false,
  "inbound_https": true,
  "custom_domain": true,
  "raw_tcp_inbound": false,
  "egress_allowlist": true,
  "open_internet": true,
  "static_egress_ip": true,
  "private_network": true,
  "self_host": false,
  "byoc": true,
  "open_source": false,
  "soc2": true,
  "hipaa": true,
  "sso": true,
  "gpu": false,
  "arm64": false,
  "windows": false,
  "macos": false,
  "lang_python": true,
  "lang_node": true,
  "lang_go": null,
  "lang_rust": null,
  "lang_java": null,
  "gpu_desktop": false,
  "credential_injection": true,
  "egress_http_rules": true,
  "wake_on_request": true,
  "live_resize": false,
  "fork_running": true,
  "memory_snapshot_fork": true,
  "webhooks": null,
  "scheduled_wakeups": true,
  "audit_logs": null,
  "eu_data_residency": true,
  "zero_data_retention": true,
  "scoped_api_keys": true,
  "spend_limits": false,
  "mcp_server": true,
  "usage_api": true,
  "snapshot_auto": true,
  "snapshot_on_demand": true,
  "harness_api": false,
  "own_agent_api": false,
  "fast_boot": true,
  "strong_isolation": true,
  "ingress_rules": true,
  "guest_firewall": true,
  "secret_proxy": true,
  "secret_proxy_any": true,
  "volume_attach": true,
  "volume_shared": true,
  "sidecar": null,
  "fuse": true,
  "kernel_features": true,
  "burst": null
 },
 "company": {
  "id": "blaxel",
  "checked": "2026-09-30",
  "company": "Blaxel",
  "ownership": {
   "value": "acquired",
   "parent": "Baseten",
   "source": "https://www.baseten.co/blog/blaxel-is-joining-baseten-to-build-the-future-of-agentic-cloud/",
   "quote": "Baseten has acquired Blaxel."
  },
  "stage": {
   "value": "subsidiary",
   "source": "https://www.baseten.co/blog/blaxel-is-joining-baseten-to-build-the-future-of-agentic-cloud/",
   "quote": "Baseten has acquired Blaxel.",
   "confidence": "high",
   "note": "Blaxel (YC S25) was an independent seed-stage startup until it was acquired by Baseten, announced 2026-09-10; deal terms and Blaxel's prior fundraising amounts were not disclosed in any source found. It now operates as part of Baseten rather than as an independently-funded company."
  },
  "accelerators": [
   {
    "name": "Y Combinator",
    "batch": "Spring 2025",
    "source": "https://www.ycombinator.com/companies/blaxel",
    "quote": "Blaxel Founded: 2024 Batch: Spring 2025 Team Size: 12 Status: Acquired Location: San Francisco Primary Partner: Nicolas Dessaigne",
    "confidence": "high",
    "via": "research"
   }
  ],
  "total_funding_usd": {
   "value": null,
   "status": "unknown"
  },
  "last_round": {
   "type": "acquisition",
   "amount_usd": null,
   "date": "2026-09-10",
   "leads": [],
   "status": "confirmed",
   "source": "https://www.baseten.co/blog/blaxel-is-joining-baseten-to-build-the-future-of-agentic-cloud/",
   "quote": "Today, Blaxel is joining Baseten. By joining forces, we aim to build the cloud for the next trillion agents."
  },
  "investors": [
   "Kima Ventures"
  ],
  "portfolio_listings": [
   {
    "source": "468 Capital",
    "company": "Blaxel",
    "batch": null,
    "how": "name"
   },
   {
    "source": "Kima Ventures",
    "company": "Blaxel",
    "batch": null,
    "how": "domain"
   }
  ],
  "revenue": {
   "value": null,
   "status": "unknown"
  },
  "employees": {
   "value": 12,
   "source": "https://www.ycombinator.com/companies/blaxel"
  },
  "note": "Blaxel was a San Francisco-based, YC S25-batch startup (founded 2024, ~12 employees) building Firecracker microVM sandboxes for AI agents. It was acquired by Baseten (announced 2026-09-10; deal terms undisclosed) and is now integrated into Baseten's agentic infrastructure platform; the blaxel.ai pricing/product referenced in the pricing card is stated to remain unchanged post-acquisition. The YC directory entry for 'Blaxel' (Spring 2025, status 'Acquired') matches the blaxel.ai domain and founder Paul Sinaï listed as Founder/CEO on blaxel.ai — confirming this is the same company, not a different 'Blaxel'."
 },
 "id": "blaxel",
 "name": "Blaxel",
 "url": "https://blaxel.ai/pricing",
 "category": "agent-sandbox",
 "isolation": "firecracker",
 "modes": [
  {
   "key": "on-demand",
   "label": "Sandbox (active time, RAM-only pricing, CPU bundled)",
   "pricing": "sizes",
   "sizes": [
    {
     "name": "2 GB",
     "vcpu": 1,
     "ram_gib": 2,
     "disk_gib": null,
     "hour": 0.0828,
     "month_cap": null
    },
    {
     "name": "4 GB",
     "vcpu": 2,
     "ram_gib": 4,
     "disk_gib": null,
     "hour": 0.1656,
     "month_cap": null
    },
    {
     "name": "8 GB",
     "vcpu": 4,
     "ram_gib": 8,
     "disk_gib": null,
     "hour": 0.3312,
     "month_cap": null
    },
    {
     "name": "16 GB",
     "vcpu": 6,
     "ram_gib": 16,
     "disk_gib": null,
     "hour": 0.6624,
     "month_cap": null
    }
   ],
   "requires_always_on": false,
   "always_on_month_per_instance": null,
   "commit_note": null,
   "min_billed_seconds": null,
   "granularity_s": 1,
   "start_fee": 0,
   "boot_overhead_s": null,
   "multiplier": 1,
   "windows_vcpu_h": null,
   "gpu": null,
   "note": "$0.0000115 per GB of allocated RAM per active second ($0.0414/GB-h); CPU derived from memory (8 GB = 4 cores, 16 GB = 6 cores) and not charged. Billed only while a connection is active; auto-standby ~15 s after last connection (then snapshot storage only). CPU utilisation does not reduce the bill. Writable FS is tmpfs (~50% of RAM), no separate disk.",
   "features": {
    "isolation": "firecracker"
   },
   "flags": [],
   "perf": {
    "cpu_runs_s": 19.48,
    "cold_start_ms": 251.38,
    "burst_tti_ms": 556.55,
    "dax_s": 45.12
   },
   "perf_source": "StarSling hpc-sandbox-benchmarks, run 36498291449 (2026-09-29), Node.js V8 Web Tooling p50 at a 4 vCPU / 8 GB target"
  },
  {
   "key": "batch-job",
   "label": "Batch Jobs (non-interactive tasks, max 24 h)",
   "pricing": "resource",
   "vcpu_h": 0,
   "ram_gib_h": 0.0216,
   "cpu_basis": "alloc",
   "ram_basis": "alloc",
   "active_floor": 0,
   "ram_per_vcpu": [
    null,
    null
   ],
   "ram_fixed_per_vcpu": 2,
   "vcpu_options": null,
   "min_vcpu": null,
   "max_vcpu": null,
   "max_ram_gib": null,
   "requires_always_on": false,
   "always_on_month_per_instance": null,
   "commit_note": null,
   "min_billed_seconds": null,
   "granularity_s": 1,
   "start_fee": 0,
   "boot_overhead_s": null,
   "multiplier": 1,
   "windows_vcpu_h": null,
   "gpu": null,
   "note": "$0.000006/GB RAM-s 'billed by the memory it uses' (possibly used rather than allocated RAM; alloc assumed = upper bound). Only valid for batch/job workloads: no standby, no interactive sessions, 24 h max per task, ~30 s boot. RAM-per-core of 2 GB assumed from sandbox/app sizing (not documented for jobs). Basis verified 2026-09-28: Pricing page: sandboxes \"billed by its allocated memory\"; batch jobs \"Active compute across every task in a job, billed by the memory it uses.\" (https://blaxel.ai/pricing). Contrast suggests used RAM but not defined; kept alloc.",
   "features": {
    "isolation": "firecracker"
   },
   "flags": [
    "alt"
   ]
  },
  {
   "key": "agent-runtime",
   "label": "Agent Runtime (announced; unpriced)",
   "flags": [
    "beta"
   ],
   "pricing": "resource",
   "vcpu_h": null,
   "ram_gib_h": null
  }
 ],
 "storage": {
  "included_disk_gib": 0,
  "disk_gib_month": 0.12,
  "disk_billed_when_stopped": true,
  "snapshot_gib_month": 0.2,
  "paused_ram_billed": false
 },
 "network": {
  "egress_free_gib": null,
  "egress_gib": 0,
  "ipv4_month": null,
  "ipv4_available": false,
  "internet": {
   "default": "full"
  }
 },
 "plans": [
  {
   "name": "Pay-as-you-go Tier 0 (free)",
   "fee": 0,
   "fee_is_credit": false,
   "included_usd": 0,
   "per_seat": 0,
   "concurrency": 10,
   "max_session_h": null,
   "max_vcpu": 2,
   "max_ram_gib": 4,
   "sizes_allowed": [
    "2 GB",
    "4 GB"
   ],
   "note": "Free credits only; forced TTL <= 7 days; cannot request quota increases. 4 GB cap from earlier research, not re-verified.",
   "flags": []
  },
  {
   "name": "Pay-as-you-go Tier 1",
   "fee": 20,
   "fee_is_credit": true,
   "included_usd": 0,
   "per_seat": 0,
   "concurrency": 50,
   "max_session_h": null,
   "max_vcpu": null,
   "max_ram_gib": null,
   "sizes_allowed": null,
   "note": "Unlocked by >= $20 real top-ups in trailing 30 days; top-up goes to wallet as usage credit. Forced TTL <= 30 days. Standby sandboxes count toward the 50 limit.",
   "flags": []
  },
  {
   "name": "Pay-as-you-go Tier 2",
   "fee": 50,
   "fee_is_credit": true,
   "included_usd": 0,
   "per_seat": 0,
   "concurrency": 200,
   "max_session_h": null,
   "max_vcpu": null,
   "max_ram_gib": null,
   "sizes_allowed": null,
   "note": "Unlocked by >= $50 top-ups / 30 days; unlimited standby persistence.",
   "flags": []
  },
  {
   "name": "Pay-as-you-go Tier 9",
   "fee": null,
   "fee_is_credit": true,
   "included_usd": 0,
   "per_seat": 0,
   "concurrency": 100000,
   "max_session_h": null,
   "max_vcpu": null,
   "max_ram_gib": null,
   "sizes_allowed": null,
   "note": "Contact sales; tiers 3-8 thresholds/limits not public.",
   "flags": []
  },
  {
   "name": "Custom",
   "fee": null,
   "fee_is_credit": false,
   "included_usd": 0,
   "per_seat": 0,
   "concurrency": null,
   "max_session_h": null,
   "max_vcpu": null,
   "max_ram_gib": 256,
   "sizes_allowed": null,
   "note": "Quote; volume pricing, private networking, bring-your-own-metal, custom SLA/hardware.",
   "flags": [
    "sales"
   ]
  }
 ],
 "free": {
  "monthly_credit": 0,
  "one_time_credit": 200
 },
 "features": {
  "linux": true,
  "windows": false,
  "macos": false,
  "arm64": false,
  "gpu": false,
  "gpu_types": [],
  "snapshot": "mem",
  "pause_resume": true,
  "fork": true,
  "persistent_disk": true,
  "volumes": true,
  "auto_stop_idle": true,
  "max_session_h": null,
  "custom_image": true,
  "docker_inside": true,
  "nested_virt": false,
  "root": true,
  "systemd": false,
  "browser": true,
  "desktop": true,
  "computer_use": true,
  "code_interpreter": false,
  "agent_harnesses": true,
  "ssh": false,
  "public_ipv4": false,
  "inbound_https": true,
  "custom_domain": true,
  "raw_tcp_inbound": false,
  "egress_allowlist": true,
  "static_egress_ip": true,
  "private_network": true,
  "self_host": false,
  "byoc": true,
  "open_source": false,
  "regions": [
   "us",
   "eu"
  ],
  "soc2": true,
  "hipaa": true,
  "sso": true,
  "lang_python": true,
  "lang_node": true,
  "lang_go": null,
  "lang_rust": null,
  "lang_java": null,
  "gpu_desktop": false,
  "credential_injection": true,
  "egress_http_rules": true,
  "wake_on_request": true,
  "live_resize": false,
  "fork_running": true,
  "memory_snapshot_fork": true,
  "webhooks": null,
  "scheduled_wakeups": true,
  "audit_logs": null,
  "eu_data_residency": true,
  "zero_data_retention": true,
  "scoped_api_keys": true,
  "spend_limits": false,
  "mcp_server": true,
  "browser_control": true,
  "desktop_control": true,
  "anti_bot": false,
  "captcha_solving": false,
  "egress_ip_type": "datacenter",
  "ip_note": "Shared Blaxel public IPs by default; dedicated egress IPs (private preview, on request) and outbound proxy with header/body injection; no residential proxies documented.",
  "isolation": "firecracker",
  "image_oci": true,
  "snapshot_auto": true,
  "snapshot_on_demand": true,
  "harness_api": false,
  "egress_allowlist_level": "domain",
  "ingress_rules": true,
  "guest_firewall": true,
  "secret_proxy": "any-http",
  "volume_attach": true,
  "volume_shared": true,
  "own_agent_api": false,
  "max_session_unlimited": true,
  "fast_boot": true,
  "open_internet": true,
  "usage_api": true
 },
 "extras": [
  {
   "item": "Add-on: Email support",
   "price": "$800/month + 3% of usage"
  },
  {
   "item": "Add-on: Dedicated support (SAML)",
   "price": "$1,600/month + 10% of usage"
  },
  {
   "item": "Add-on: HIPAA BAA",
   "price": "$250/month"
  }
 ],
 "perf": {
  "cpu_runs_s": null,
  "cold_start_ms": null,
  "burst_tti_ms": null,
  "dax_s": null
 },
 "perf_source": "Sandbox and Batch Jobs are different runtimes: perf is on the sandbox mode only.",
 "knobs": [
  {
   "id": "connected_pct",
   "label": "Share of session with an open connection",
   "kind": "slider",
   "min": 0.05,
   "max": 1,
   "step": 0.05,
   "default": 1,
   "unit": "%",
   "options": null,
   "effect": "hours_factor",
   "modes": [
    "on-demand"
   ],
   "why": "Blaxel bills allocated RAM only while the sandbox is active, i.e. has an open connection or keepAlive process (not CPU use); ~15 s after the last connection closes it drops to standby and pays snapshot storage only. Clients that disconnect between agent steps pay a fraction of wall-clock; an idle WebSocket/TCP connection keeps billing for up to 15 min and keepAlive (timeout 0) forever, so 1 (default) = whole session billed.",
   "source": "https://docs.blaxel.ai/Sandboxes/Overview"
  }
 ],
 "caveats": [
  "Billing is on allocated RAM x ACTIVE time, where active = has an open connection (not CPU utilisation). Engine running hours = wall-clock session hours; real bills can be much lower if clients disconnect between steps (auto-standby ~15 s after last connection) or higher if idle WS/TCP connections (up to 15 min) or keepAlive processes hold the sandbox active.",
  "Standby snapshot storage ($0.20/GB-month) appears to be billed on ~allocated memory size (vendor example: 2 GB sandbox in standby 1 month = $0.40); persistent fleets pay this for every standby hour.",
  "Archive (private preview) stops snapshot billing; archive storage price not published.",
  "Tier 'fee' is a rolling 30-day top-up volume deposited as wallet credit (not a fee); tier downgrades if top-ups lapse, even with balance. Promo credits do not count. Whether wallet credit expires is not documented.",
  "Sandbox-count quota includes standby sandboxes; an unpublished per-tier account memory quota also exists. Tiers 3-8 not public.",
  "Tier 0/1 force max TTL 7/30 days; unlimited persistence needs a higher tier. Source is now only the Expiration doc: \"Some quota tiers enforce expiration dates (Tier 0 and 1, with respectively up to 7 and 30 days).\" (https://docs.blaxel.ai/Sandboxes/Expiration, checked 2026-10-14); the pricing page and Sandboxes Overview no longer state the 7/30-day figures.",
  "Support add-ons carry a % of usage surcharge (3% / 10%) the card cannot model.",
  "Minimum billed seconds per resume not documented.",
  "Writable FS is tmpfs ~50% of RAM; extra disk = Volume at $0.12/GB-month on PROVISIONED size (disk_gib_month here = volume price). Images $0.045/GB-month not modelled.",
  "Sizes above 16 GB: core count undocumented (third-party cites XL 32 GB at $1.3248/h); up to 256 GB on Custom only.",
  "Batch Jobs mode is only valid for non-interactive tasks <= 24 h; MCP hosting ($0.0252/GB-h) omitted as a mode.",
  "No public inbound IPv4; dedicated egress IPs/gateway/proxy free during beta. Wildcard custom domains $20/domain-month.",
  "'Up to $200' free credits: exact amount not specified.",
  "Blaxel acquired by Baseten (2026-09-10); product/pricing stated unchanged.",
  "unverified: batch jobs may bill active (used) RAM, per \"billed by the memory it uses\" (https://blaxel.ai/pricing); card keeps alloc as the upper bound.",
  "Features check 2026-09-28: nested_virt null -> false. Blaxel: \"Each sandbox runs in a dedicated Firecracker microVM with its own kernel\" (blaxel.ai/blog/soc-2-compliant-sandbox-providers); Firecracker test_nv.py asserts guests have no nested virtualization (/dev/kvm absent). Desktop = official blaxel/xfce-vnc hub image; Docker = official blaxel/docker-in-sandbox image.",
  "Standby delay conflict (re-checked 2026-10-14): pricing FAQ says \"Sandboxes scale to zero after about 5 seconds of inactivity\" (https://blaxel.ai/pricing), but the docs say the sandbox \"transitions the sandbox to standby mode within approximately 15 seconds\" (https://docs.blaxel.ai/Sandboxes/Overview). Card keeps 15 s (conservative); if 5 s is right, disconnected sessions bill ~10 s less each."
 ],
 "sources": [
  "https://blaxel.ai/pricing",
  "https://docs.blaxel.ai/Sandboxes/Overview",
  "https://docs.blaxel.ai/Sandboxes/Expiration",
  "https://docs.blaxel.ai/Sandboxes/Archive",
  "https://docs.blaxel.ai/Sandboxes/Fork",
  "https://docs.blaxel.ai/Security/Quotas",
  "https://docs.blaxel.ai/api-reference/billing",
  "https://docs.blaxel.ai/Infrastructure/Regions",
  "https://docs.blaxel.ai/changelog",
  "https://blaxel.ai/blog/persistent-ai-sandboxes-blaxel",
  "https://blaxel.ai/blog/blaxel-vs-e2b",
  "https://blaxel.ai/blog/understand-the-lifecycle-of-a-blaxel-sandbox",
  "https://northflank.com/blog/northflank-vs-blaxel",
  "https://www.baseten.co/blog/blaxel-is-joining-baseten-to-build-the-future-of-agentic-cloud/",
  "https://blaxel.ai/blog/soc-2-compliant-sandbox-providers",
  "https://docs.blaxel.ai/Tutorials/Docker",
  "https://docs.blaxel.ai/Sandboxes/Templates",
  "https://github.com/firecracker-microvm/firecracker/blob/main/tests/integration_tests/security/test_nv.py"
 ],
 "fleet": {
  "default_max_instances": 10,
  "default_max_vcpu": null,
  "default_max_gpus": null,
  "raise": "automatic",
  "raise_time_days": null,
  "verification": "Real wallet top-ups over trailing 30 days; promotional credits and existing balance do not qualify.",
  "tiers": "Tier 0 10; Tier 1 50 after $20/30 days; Tier 2 200 after $50/30 days; Tier 9 100,000+ by contact. Other thresholds are in console.",
  "notes": "Quota includes standby as well as active sandboxes. Tier continuously adjusts with rolling top-ups and can decrease; free tier cannot request increases, paid tiers can request review in console. Tier 0/1 TTL caps 7/30 days. 300/1,000 eligibility thresholds and human approval turnaround are not public.",
  "sources": [
   "https://blaxel.ai/pricing",
   "https://docs.blaxel.ai/Security/Quotas",
   "https://docs.blaxel.ai/Sandboxes/Expiration"
  ],
  "researched": "2026-09-28"
 },
 "audit_2026_09_29": {
  "applied": 3,
  "source": "checked against the provider's live pricing and docs pages",
  "reviewed": 1
 },
 "feature_evidence": {
  "snapshot_auto": {
   "value": true,
   "source": "https://docs.blaxel.ai/Sandboxes/Overview",
   "quote": "When transitioning to standby mode, Blaxel automatically creates a snapshot of the entire state (including the complete file system in memory, preserving both files and running processes) and transitions the sandbox to standby mode within approximately 15 seconds.",
   "note": "Trigger: no active connection for ~15 s (idle WS/TCP connections count as inactive after 15 min). Memory + running processes + FS included; resume <25 ms on reconnect. Snapshot storage billed. Separate Archive (private preview) drops memory.",
   "checked": "2026-09-29"
  },
  "snapshot_on_demand": {
   "value": true,
   "source": "https://docs.blaxel.ai/Sandboxes/Fork",
   "quote": "A snapshot captures the state of a sandbox at a point in time: its filesystem, its running processes, and its memory. Use snapshots to checkpoint a sandbox before a risky change, to roll it back later, or as the basis for forking a new sandbox.",
   "note": "Private preview (Carbon / Mark 3.1). Memory included; in-place rollback or fork into new sandboxes; snapshots outlive the source sandbox.",
   "checked": "2026-09-29"
  },
  "harness_api": {
   "value": false,
   "source": "https://docs.blaxel.ai/Tutorials/Claude-Code",
   "quote": "Connect to the Claude Code sandbox terminal:",
   "note": "Claude Code / Codex hub images exist (agent_harnesses), but they are driven interactively via `bl connect sandbox` or by an external harness (Claude Agent SDK, OpenAI Agents SDK, DeepSeek Harness plugin) using the sandbox as a tool backend via MCP. No first-party prompt/stream/resume API for a harness in the API reference (Agents Hosting = deploy your own agent code as an endpoint).",
   "checked": "2026-09-29"
  },
  "egress_allowlist": {
   "value": true,
   "source": "https://docs.blaxel.ai/Sandboxes/Proxy-domains",
   "quote": "To enforce filtering even for tools that bypass those variables, add a `firewall` config with `rulesets: [\"proxy\"]`. This locks down the sandbox's egress at the network level so that all outbound traffic must flow through the proxy.",
   "note": "allowedDomains / forbiddenDomains with wildcards, updatable on a running sandbox. Without firewall ruleset it only relies on HTTP(S)_PROXY env vars (bypassable). Enforcement set only at creation and only on Mark 3.0 (not Carbon). Private ranges/169.254.169.254 always bypass the proxy. No IP/CIDR egress rules documented.",
   "checked": "2026-09-29",
   "level": "domain"
  },
  "egress_http_rules": {
   "value": true,
   "source": "https://docs.blaxel.ai/Sandboxes/Proxy-domains",
   "quote": "You can also scope a rule to specific HTTP methods and URL paths by adding method prefixes and a path suffix:",
   "note": "Pattern [!]METHOD:...:domain[/path]; path prefix canonicalized. No header-based rules; the proxy also injects headers/body fields.",
   "checked": "2026-09-29"
  },
  "ingress_rules": {
   "value": true,
   "source": "https://docs.blaxel.ai/Sandboxes/Preview-url",
   "quote": "This preview URL can be either **public** (does not require you to be authenticated to access it) or **private** (see below).",
   "note": "Per-port preview URLs chosen by you; private ones need a bl_preview_token query param or X-Blaxel-Preview-Token header (expiring tokens). No public IPv4 / raw TCP; no inbound IP allowlist documented.",
   "checked": "2026-09-29"
  },
  "guest_firewall": {
   "value": true,
   "source": "https://docs.blaxel.ai/Sandboxes/Overview",
   "quote": "By default, sandboxes run on a minimal kernel without iptables support. You can enable iptables by passing `extraArgs` at creation time.",
   "note": "Firecracker microVM with root; iptables only when created with extraArgs {iptables: enabled} (used by Tailscale tutorial).",
   "checked": "2026-09-29"
  },
  "secret_proxy": {
   "value": "any-http",
   "source": "https://docs.blaxel.ai/Sandboxes/Proxy-secrets-injection",
   "quote": "Secrets are resolved server-side by the proxy — the sandbox runtime never sees raw secret values",
   "note": "Public preview. MITM HTTPS proxy; per-destination routing rules inject {{SECRET:name}} into headers/body for any host; write-only secrets. HTTP/1.1, HTTP/2 and gRPC (header injection only on streams); no database/SSH/raw TCP credential injection documented.",
   "checked": "2026-09-29"
  },
  "volume_attach": {
   "value": true,
   "source": "https://docs.blaxel.ai/Sandboxes/Volumes",
   "quote": "At this time, you can only attach one volume to a sandbox. A volume can also only be attached to one sandbox at a time.",
   "note": "Block volumes, attach only at sandbox creation, cannot detach; $0.12/GB-month provisioned.",
   "checked": "2026-09-29"
  },
  "volume_shared": {
   "value": true,
   "source": "https://docs.blaxel.ai/Agent-drive/Overview",
   "quote": "Drives support concurrent read-write access (RWX) from multiple sandboxes simultaneously, with built-in replication for durability.",
   "note": "Agent Drive: private preview, us-was-1 only; FUSE distributed FS, hot-mount on running sandboxes, read-write or read-only mounts, label-based ACLs, S3-compatible endpoint. Block Volumes themselves are single-attach.",
   "checked": "2026-09-29"
  },
  "anti_bot": {
   "value": false,
   "source": "https://docs.blaxel.ai/Overview",
   "quote": "Blaxel documentation: cloud sandboxes, AI agent hosting, MCP servers, batch jobs, and model gateway for building and deploying AI-powered applications.",
   "note": "not offered: outside the product's scope. Blaxel gives you generic microVM sandboxes with a browser/desktop hub image and outbound proxy (domain allow/deny lists, secret injection), but nowhere documents stealth/fingerprint-evasion features against bot detection. No mention of anti-bot, stealth, or fingerprinting anywhere in the full docs corpus (llms-full.txt) or pricing/blog pages found.",
   "checked": "2026-09-30"
  },
  "captcha_solving": {
   "value": false,
   "source": "https://docs.blaxel.ai/Overview",
   "quote": "Blaxel documentation: cloud sandboxes, AI agent hosting, MCP servers, batch jobs, and model gateway for building and deploying AI-powered applications.",
   "note": "not offered: outside the product's scope. No CAPTCHA-solving feature or integration is documented anywhere in the docs, pricing page, or blog; Blaxel's browser/desktop offering is generic sandbox infrastructure, not a scraping/anti-bot product.",
   "checked": "2026-09-30"
  },
  "fork_running": {
   "value": true,
   "source": "https://docs.blaxel.ai/Sandboxes/Fork",
   "quote": "Forking creates a new sandbox from an existing one, forking its entire memory state (files + running processes)... Calling fork() automatically snapshots the source sandbox's current state and forks from it. You don't need to create a snapshot first.",
   "note": "fork() operates on the live/current sandbox (auto-snapshots it in the background) without requiring the source sandbox to be stopped first; the source sandbox keeps running throughout. Private preview (Carbon generation).",
   "checked": "2026-09-30"
  },
  "live_resize": {
   "value": false,
   "source": "https://docs.blaxel.ai/Sandboxes/Environment-variables",
   "quote": "On the new sandbox generation, you can update environment variables on a running sandbox... Other parts of the runtime spec, such as memory, cannot be changed on a running sandbox.",
   "note": "Confirmed elsewhere: \"certain changes (like image or memory) may reset the sandbox state\" (api-reference/compute/update-sandbox) — changing memory/CPU redeploys (restarts) the sandbox rather than resizing it live.",
   "checked": "2026-09-30"
  },
  "own_agent_api": {
   "value": false,
   "source": "https://docs.blaxel.ai/Overview",
   "quote": "Agents Hosting (sync mode) | Agent API that answers fast | a few seconds (maximum 100 s) | ~25ms | Custom API endpoints",
   "note": "not offered: outside the product's scope. \"Agents Hosting\" and \"harness_api\"-style features let you deploy and expose YOUR OWN agent code (or a coding-harness hub image like Claude Code/Codex) behind a Blaxel-managed endpoint; Blaxel does not ship a first-party browser/computer-use/research task agent of its own that you call via API. computer_use/browser/desktop_control are infrastructure primitives for driving agents you bring, not a Blaxel-operated agent.",
   "checked": "2026-09-30"
  },
  "max_session_h": {
   "value": "none",
   "source": "https://docs.blaxel.ai/Overview",
   "quote": "Sandboxes resume from standby in under 25 milliseconds and automatically scale to zero after a few seconds of inactivity... your sandboxes wait on standby indefinitely when not used, eliminating cold starts without complex orchestration.",
   "note": "The core Sandbox mode has no forced maximum active-session duration by default; sandboxes persist/standby indefinitely unless the user sets a TTL/lifecycle policy. Lower account tiers force a maximum lifetime for persistence (Tier 0: 7 days, Tier 1: 30 days, per https://docs.blaxel.ai/Sandboxes/Expiration: \"Some quota tiers enforce expiration dates (Tier 0 and 1, with respectively up to 7 and 30 days).\"; the pricing page no longer lists these caps) but this caps how long a sandbox+its data may exist, not how long a single connected/active session can run. The separate Batch Jobs mode is capped at 24h max per task (docs.blaxel.ai/Overview, Agents Hosting/Batch Jobs comparison table), which does not apply to the interactive Sandbox mode this field targets.",
   "checked": "2026-10-14"
  },
  "nested_virt": {
   "value": false,
   "source": "https://blaxel.ai/blog/soc-2-compliant-sandbox-providers",
   "quote": "Each sandbox runs in a dedicated Firecracker microVM with its own kernel",
   "note": "Quote is from a Blaxel blog post, not the docs (the Sandboxes Overview doc does not mention Firecracker). Firecracker microVMs do not expose nested virtualization; the upstream Firecracker security test suite (test_nv.py) asserts guests have no /dev/kvm. Blaxel docs never mention KVM/nested-virt passthrough for sandboxes.",
   "checked": "2026-10-14"
  },
  "isolation": {
   "value": "firecracker",
   "source": "https://blaxel.ai/blog/soc-2-compliant-sandbox-providers",
   "quote": "Each sandbox runs in a dedicated Firecracker microVM with its own kernel.",
   "note": "Stated on this Blaxel blog post; https://docs.blaxel.ai/Sandboxes/Overview contains no Firecracker/microVM wording, so the blog is the citable page.",
   "checked": "2026-10-14"
  },
  "ssh": {
   "value": false,
   "source": "https://docs.blaxel.ai/cli-reference/commands/bl_connect_sandbox",
   "quote": "This command opens a direct terminal connection to your sandbox, similar to SSH.",
   "note": "No native SSH server/port on sandboxes; interactive access is via `bl connect sandbox` (CLI terminal, explicitly described as SSH-like, not SSH) or WebSocket process API. Real SSH access requires installing and running the third-party Tailscale add-on/tutorial inside the sandbox, which is not first-party SSH support.",
   "checked": "2026-09-30"
  },
  "public_ipv4": {
   "value": false,
   "source": "https://docs.blaxel.ai/Infrastructure/Regions",
   "quote": "If you need to whitelist traffic from your Blaxel deployments, you can retrieve the current list of public IP addresses used by Blaxel through the Blaxel API.",
   "note": "Those \"public IP addresses\" are Blaxel's own shared/dedicated egress (outbound) IP ranges to whitelist downstream, not a dedicated inbound public IPv4 assigned to a sandbox. Inbound access is only via per-port preview URLs (docs.blaxel.ai/Sandboxes/Preview-url), never a raw public IPv4/TCP.",
   "checked": "2026-09-30"
  },
  "gpu": {
   "value": false,
   "source": "https://docs.blaxel.ai/Sandboxes/Overview",
   "quote": "You are charged for memory (based on how much you allocated at sandbox creation) and storage while a sandbox is in active mode. CPU resources are allocated accordingly by Blaxel based on your selected memory allocation and are not charged separately.",
   "note": "Sandbox/Batch Job sizing is purely memory-driven with CPU derived from it (e.g. 8 GB = 4 cores); no GPU size/option exists for sandboxes, jobs, pricing tiers, or fleet limits (default_max_gpus is null). The only GPU mention anywhere in the docs is for HuggingFace Inference Endpoint deployments proxied to Google Cloud Platform, an unrelated external-model-hosting feature, not Blaxel sandbox/VM compute.",
   "checked": "2026-09-30"
  },
  "windows": {
   "value": false,
   "source": "https://docs.blaxel.ai/Tutorials/Docker",
   "quote": "If you plan to run the final image on a Blaxel sandbox, add the `--platform linux/amd64` flag when building so the image runs correctly.",
   "note": "Sandboxes only run Linux (amd64) container images; every \"Windows\" mention in the docs refers to installing the local Blaxel CLI on a Windows workstation (or WSL), not a Windows sandbox guest OS. No Windows sandbox image exists.",
   "checked": "2026-09-30"
  },
  "macos": {
   "value": false,
   "source": "https://docs.blaxel.ai/Tutorials/Docker",
   "quote": "If you plan to run the final image on a Blaxel sandbox, add the `--platform linux/amd64` flag when building so the image runs correctly.",
   "note": "Sandboxes are Linux/amd64 Firecracker microVMs; \"Install on Mac\" sections in the docs are about running the Blaxel CLI on a macOS host machine, not a macOS guest sandbox. No macOS sandbox image is offered.",
   "checked": "2026-09-30"
  },
  "arm64": {
   "value": false,
   "source": "https://docs.blaxel.ai/Tutorials/Docker",
   "quote": "docker build --platform linux/amd64 -t ttl.sh/my-app:1h .",
   "note": "Docs explicitly instruct building images with `--platform linux/amd64` for sandboxes to run correctly, and Go version checks in tutorials show `linux/amd64` as the target. No arm64 sandbox/build target is documented anywhere.",
   "checked": "2026-09-30"
  },
  "self_host": {
   "value": false,
   "source": "https://docs.blaxel.ai/Infrastructure/Regions",
   "quote": "Blaxel is a fully managed cloud platform. For regulated or enterprise customers who require \"self-hosted\" options: private network connectivity and bring-your-own-server arrangements are available; contact us to discuss your requirements.",
   "note": "Confirms no standard/self-serve self-hosting; only a sales-negotiated BYOC/private-network arrangement for enterprise customers, matching the card's separate byoc:true, self_host:false split.",
   "checked": "2026-09-30"
  },
  "open_source": {
   "value": false,
   "source": "https://raw.githubusercontent.com/blaxel-ai/sandbox/main/README.md",
   "quote": "Sandbox Hub is a collection of development environment templates for creating secure, isolated micro VM environments for various application types.",
   "note": "The MIT-licensed github.com/blaxel-ai/sandbox repo is only the Dockerfile template hub (base image, py-app, ts-app, expo, omnigent-host) for images run inside sandboxes; the Firecracker orchestration control plane, billing, proxy, and scheduler that make up the actual Blaxel platform are closed-source. SDKs/CLI/templates being open source does not make the platform itself open source.",
   "checked": "2026-09-30"
  },
  "fast_boot": {
   "value": true,
   "source": "https://www.computesdk.com/benchmarks",
   "quote": "burst of 100: p95 633 ms, 100% started",
   "note": "ComputeSDK sandbox benchmark 2026-09-25",
   "checked": "2026-09-25"
  },
  "usage_api": {
   "value": true,
   "source": "https://docs.blaxel.ai/api-reference/billing.md",
   "quote": "GET /v0/accounts/{accountId}/metrics returns resource-centric, paginated timeseries of cost and usage with optional filtering and grouping by workspace, resource_type, resource_name, resource_uuid, or billing_dimension",
   "note": "granularity: per-sandbox; cost: yes; Blaxel Billing Explorer API provides REST endpoint to query cost and usage metrics. Supports per-sandbox granularity via resource_uuid parameter, per-workspace via workspace parameter, per-resource-type, and billing dimension grouping. Returns costs in USD with time-series data. Accessible via standard REST API with Bearer token authentication. Non-admin callers can access account-level aggregates; account admins can filter/group by workspace.",
   "confidence": "high",
   "checked": "2026-10-01"
  }
 },
 "locations": [
  {
   "country": "US",
   "state": "OR",
   "city": "Oregon",
   "provider_region": "us-pdx-1",
   "self_serve": true,
   "choosable": true
  },
  {
   "country": "US",
   "state": "VA",
   "city": "North Virginia",
   "provider_region": "us-was-1",
   "self_serve": true,
   "choosable": true
  },
  {
   "country": "GB",
   "state": null,
   "city": "London",
   "provider_region": "eu-lon-1",
   "self_serve": true,
   "choosable": true
  },
  {
   "country": "DE",
   "state": null,
   "city": "Frankfurt",
   "provider_region": "eu-fra-1",
   "self_serve": true,
   "choosable": true
  }
 ],
 "locations_source": "https://docs.blaxel.ai/Infrastructure/Regions",
 "locations_quote": "The following regions are available for Mark 3 infrastructure generation: Region code Location Country us-pdx-1 Oregon United States us-was-1 North Virginia United States eu-lon-1 London United Kingdom eu-fra-1 Frankfurt Germany",
 "locations_checked": "2026-10-01"
}