Sseekdeploy

Modal

Serverless Python and containers on CPU and GPU: functions, inference, batch jobs and agent sandboxes, billed per second.

Freemium#serverless#gpu#python#sandboxes#inference

What is Modal?

Modal is a serverless cloud for Python and containers. You decorate ordinary Python functions with the image, CPU, memory and GPU they need, and modal deploy turns them into autoscaling containers, cron jobs or web endpoints that scale to zero when idle. Sandboxes are the second building block: containers or VMs created at runtime for coding agents, RL rollouts and untrusted code, isolated with gVisor or a VM runtime. There are Python, JavaScript/TypeScript and Go SDKs and a CLI.

Modal Labs bills per second for the CPU, memory and GPU a container requests or uses, whichever is higher, and the Starter plan includes $30 of compute a month. The client SDK (modal-client) is Apache-2.0; the platform itself is proprietary, running on a capacity pool Modal says spans 20+ clouds.

On 14 October 2026 Modal raised a $750M Series D led by Accel at a $15.75B post-money valuation. It said it had passed $1B in annualized run rate, that Sandboxes alone ran at $300M, and that VM Sandboxes were generally available. Next to Fly.io or Railway, it trades always-on servers for scale-to-zero, Python-first code.

Our review

4.0

The easiest place we list to run Python on a GPU for minutes rather than months, and a serious sandbox platform besides, as long as you're willing to write your code around Modal. You pay per second for what containers request or use, a scaled-to-zero app costs nothing, and the $30 monthly credit covers a small always-warm CPU endpoint outright. The costs hide in multipliers: Functions can be preempted unless you pay 3x for CPU and memory, Sandboxes always pay that 3x rate, pinning a region adds 1.15x to 1.75x, and custom domains need the $250-a-month Team plan. Your code ends up full of Modal decorators and images, and it's the wrong shape for an always-on web app with a database. On StarSling's October sandbox run its VM runtime landed mid-pack and the gVisor runtime near the back. Independent discussion is thin right now, so there's little outside evidence of how support behaves when something breaks.

Pros

  • + Per-second, usage-based billing with scale to zero and $30 of free compute every month on Starter
  • + GPUs from a T4 ($0.59/h) to a B300 ($7.10/h) with no reservation, plus CPU functions, cron, web endpoints, volumes and sandboxes from one Python SDK
  • + Sandboxes on gVisor or a VM runtime (Docker, FUSE and nested cgroups on VMs), billed on actual usage rather than reserved size

Cons

  • − Lock-in: apps are written against Modal's decorators, image builder and volumes, and only the client is open source
  • − Multipliers stack: 3x for non-preemptible CPU and memory (all Sandboxes pay it), 1.15x to 1.75x for a pinned region
  • − A payment method is required even on Starter, and custom domains, rollbacks and RBAC start at $250 a month

Reviewed by SeekDeploy Editorial · updated 2026-11-15. Reviews are independent — we don’t accept payment for coverage or ratings.

Should you use Modal?

A good fit if you're…

  • Python teams that need GPUs for inference, fine-tuning or batch jobs by the hour without reserving instances
  • Spiky or scheduled workloads (cron jobs, batch pipelines, webhooks) that should cost nothing while idle
  • Products running agent, eval or RL sandboxes at scale that want to pay for CPU actually used rather than a reserved size

Probably not for you if you're…

  • Classic always-on web apps with a database and long requests: there's no managed database, web requests hand back a redirect after 150 seconds, and Starter has no custom domains
  • Teams that want code they can move to another host unchanged: apps depend on Modal's decorators, images and volumes
  • Workloads that must run in one specific region on a tight budget: region pinning costs 1.15x to 1.75x

Pick something else if…

  • you're running long-lived servers with volumes and websockets in many regions rather than bursty Python jobs → Fly.io
  • you want a conventional web app plus a database deployed from a repo, without rewriting code around a framework's decorators → Railway
  • your agents need Windows or macOS sandboxes, or VMs that pause and fork, and you prefer a fixed price per reserved size → Daytona

Gotchas to know before you commit

  • Functions are preemptible by default: Modal interrupts and restarts them on the same input. Long jobs need checkpoints, or nonpreemptible=True (client 1.2.3+) at 3x the CPU and memory price.
  • Containers stay up for 60 seconds after the last input by default, and that idle time is billed, as is model and image load time. Raising scaledown_window cuts cold starts and raises the bill.
  • Sandboxes have a default lifetime of 5 minutes and a maximum of 24 hours. Set timeout (and idle_timeout) explicitly, and use snapshots for anything longer.
  • Web endpoints have a 150-second HTTP timeout, after which they return a 303 redirect that breaks CORS requests. The default rate limit is 200 requests a second per function and 2,000 per workspace, after which you get 429s.
  • GPU Sandboxes only run on the gVisor runtime, and Docker inside a Sandbox needs the VM runtime. In StarSling's run the two runtimes differed by about 1.5x on the same dependency install.

Modal pricing

Checked Nov 15, 2026 against the official pricing page

A plan fee (Starter $0, Team $250 a month) plus per-second compute: CPU per physical core (2 vCPU), memory per GiB and GPU per second, charged on whichever is higher of what you request and what you use, minus monthly credits. It gets expensive with GPUs kept warm around the clock, with Sandboxes and non-preemptible Functions (3x CPU and memory), and with pinned regions (1.15x to 1.75x).

Starter
$0 / month + compute
Individuals and small teams
  • $30 of compute a month; 3 seats
  • 100 containers and 10 GPUs at once
  • 1 TiB a month of egress
  • Limit: Web and scheduled functions limited (5 deployed crons); no custom domains
  • Limit: Logs kept 1 day; 200 deployed apps
  • Limit: Payment method required
Team
$250 / month + compute
Startups and larger teams
  • $100 of compute a month; unlimited seats
  • 5,000 containers and 50 GPUs at once
  • Custom domains, static IP proxy, rollbacks, RBAC, 10 TiB egress
  • Limit: Logs kept 30 days; no SSO, audit logs or HIPAA
Compute rates (all plans)
Per second
  • CPU $0.0472 per physical core-hour (min 0.125 core); memory $0.0080 per GiB-hour
  • GPU per hour: T4 $0.59, L4 $0.80, L40S $1.95, H100 $3.95, B300 $7.10
  • Volumes $0.09 / GiB-month after 1 TiB free
  • Limit: Sandboxes and non-preemptible Functions: CPU $0.1419 / core-hour, memory $0.0240 / GiB-hour (3x)
  • Limit: Pinned region 1.15x (broad) to 1.75x (narrow); egress $0.04 / GiB past the allowance
Enterprise
Custom
  • Volume discounts, SSO, audit logs, HIPAA, private Slack support
  • Committed spend through AWS and GCP marketplaces
  • Limit: Contact sales

What it costs in practice

CPU web endpoint
$0 (inside the credit)
A FastAPI endpoint kept warm with one container (min_containers=1), requesting 0.5 physical core and 1 GiB, 730 h: CPU 0.5 × 730 × $0.04716 = $17.21, memory 730 × $0.00799 = $5.83, total $23.05, under Starter's $30 credit. Pin it to one narrow region (1.75x) and it's $40.33, so $10.33 over. Need a custom domain and it's the $250 Team plan, with compute inside its $100 credit.
GPU inference job
~$163 / month
A batch inference job on 1 H100 with 4 cores and 32 GiB, 2 h each workday (44 h, including model load, which is billed): GPU 44 × $3.9492 = $173.76, CPU 44 × 4 × $0.04716 = $8.30, memory 44 × 32 × $0.00799 = $11.25, total $193.32 minus the $30 credit. The same GPU kept warm 24/7 would be about $2,883 for the GPU alone.
Ten agent sandboxes
~$304 / month
10 Sandboxes 8 h a day for 22 days = 1,760 h, averaging 1 physical core (2 vCPU) and 2 GiB at Sandbox rates: 1,760 × ($0.14191 + 2 × $0.02401) = $334.29, minus $30. Billing is max(request, usage), so estimate from average use, not peaks; agents that sit idle cost less, busy builds more.

Estimates in USD from list prices. Your bill depends on usage, region, and discounts.

Health & activity

Updated Nov 15, 2026 · last 90 days
Closed sourceThe product itself isn't public. The figures below are for its public companion repo, so treat them as a partial view.
GitHub stars
540
140 forks
Commits
510
at least 29 committers
Issues opened / closed
22 / 10
median 3.1 days to close
Last push
Nov 13, 2026
Open issues & PRs
37

From modal-labs/modal-client (modal-client, the Apache-2.0 Python SDK and CLI; the platform is closed). Counts cover the last 90 days unless noted.

Downloads

Benchmarks

Mastra cold install (StarSling sandbox benchmarks)

Source: StarSling hpc-sandbox-benchmarks, run 37073680030

Wall-clock time for a cold dependency install of the Mastra repository on a 4 vCPU / 8 GiB sandbox, median across 12 sandboxes (11 for Modal gVisor) · s, lower is better

  • Namespace37.2 s
  • Daytona (VM)39.3 s
  • Blaxel42 s
  • boat44.4 s
  • Modal (VM)46.4 s
  • Vercel Sandbox59 s
  • Modal (gVisor)70.9 s
  • E2B72.9 s
How this was measured

Third-party run by StarSling, a CI-runner company that isn't one of the providers ranked. It requests 4 vCPU / 8 GiB / 40 GB disk from every provider and reports medians with cluster-bootstrap intervals; the raw dataset and methodology are public. StarSling marks this run partial (800 of 840 cells). It measures Modal Sandboxes only, not Functions or GPUs. Modal (VM) ranks 4th, statistically tied with boat, Novita, Microsandbox Cloud, Brezel and Vercel Sandbox; Modal (gVisor) ranks 10th of 15. Modal picks the runtime when you don't set one. Eight of 15 providers shown; copied from the leaderboard on 2026-11-15.

Versions: Modal Sandboxes (gVisor and VM runtimes) as of 2026-10-03

Published Oct 3, 2026 · source

Node.js web tooling (StarSling sandbox benchmarks)

Source: StarSling hpc-sandbox-benchmarks, run 37073680030

V8 Web Tooling Benchmark throughput on a 4 vCPU / 8 GiB sandbox, median across 5 fresh sandboxes (10 trials) · runs/s, higher is better

  • Brezel30.1 runs/s
  • boat28.1 runs/s
  • Namespace24.9 runs/s
  • Daytona (VM)21.5 runs/s
  • Modal (VM)15.5 runs/s
  • Vercel Sandbox12.7 runs/s
  • Modal (gVisor)12.6 runs/s
  • E2B11.1 runs/s
How this was measured

Same run and methodology as the table above, using the versioned Phoronix Test Suite profile. Both Modal runtimes rank 7th of 15, statistically tied with Blaxel, run.cloud, Vercel Sandbox, E2B and tama. StarSling requested 4 vCPU, which on Modal's pricing is 2 physical cores. Eight of 15 providers shown; copied from the leaderboard on 2026-11-15.

Versions: Modal Sandboxes (gVisor and VM runtimes) as of 2026-10-03

Published Oct 3, 2026 · source

What the community says

Hacker News & GitHub issues · Aug 17, 2026 – Nov 15, 2026

There wasn’t enough discussion in the last 90 days to summarise fairly. Here’s what there was.

On Hacker News · 21 threads, 0 comments mentioning it

Most-reacted new GitHub issues · 22 opened in the window

Alternatives to Modal

Spotted something wrong or out of date? Flag a correction on GitHub. Health and community data refresh on the 1st and 15th of every month.