Pricing Teardowns
Diego Aguirre8 min read2 views

Modal Pricing in 2026: What a Serverless GPU Bill Actually Costs

Modal bills GPU compute by the second with scale-to-zero. We decode the 2026 per-GPU rate card, the keep-warm idle trap, three real 30-day bills, and the ~73% utilization crossover versus a rented pod.

Updated on July 31, 2026

Minimalist illustration of a cream GPU card with a gold stopwatch hand sweeping across it and a stack of gold coins, on a deep green background, showing GPU compute metered by the second.
Minimalist illustration of a cream GPU card with a gold stopwatch hand sweeping across it and a stack of gold coins, on a deep green background, showing GPU compute metered by the second.
On this page

Modal Modal sells GPU compute by the second, and that one fact decides your whole bill. There are no instances to reserve and, in theory, no idle server to forget about: when your code is not running, the meter stops. The catch is that "not running" is a setting you control, and the most expensive mistake on Modal is paying for a GPU to sit warm while it does nothing. This teardown walks the 2026 rate card, the single trap that turns a $200 bill into a $5,700 bill, and the utilization point where a plain rented GPU gets cheaper.

Quick answer: Modal pricing in 2026

Modal (modal.com) has three plans in 2026: Starter at $0 a month with $30 of free compute credit, Team at $250 a month with $100 of free credit, and custom Enterprise. Everything on top is metered per second with scale-to-zero. GPU rates work out to about $3.95 an hour for an H100, $2.50 for an A100 80GB, $1.95 for an L40S, $1.10 for an A10, and $0.80 for an L4. CPU is $0.047 per physical core-hour, memory is $0.008 per GiB-hour, and storage volumes are $0.09 per GiB a month with the first 1 TiB free. Your real invoice is almost entirely GPU-seconds, and the number that decides it is how long your containers stay warm, not how many requests you serve.

NVIDIA Modal quotes GPU compute per second. The per-hour column below is that per-second rate multiplied by 3,600 and rounded, so you can sanity-check a bill against a wall clock.

Scroll to see more

GPUPer secondEffective per hour
Nvidia B200$0.001736$6.25
Nvidia H200$0.001261$4.54
Nvidia H100$0.001097$3.95
Nvidia A100 80GB$0.000694$2.50
Nvidia A100 40GB$0.000583$2.10
Nvidia L40S$0.000542$1.95
Nvidia A10$0.000306$1.10
Nvidia L4$0.000222$0.80
Nvidia T4$0.000164$0.59

Source: modal.com/pricing, July 2026.

Scroll to see more

Line itemRateNotes
Starter$0/mo + $30/mo free credit1 to 6 developers
Team$250/mo + $100/mo free creditup to 20 developers
Enterprisecustom + volume discounts50+ developers
CPU$0.047 / core-hourphysical core (2 vCPU), min 0.125 cores per container
Memory$0.008 / GiB-hour
Volume storage$0.09 / GiB-monthfirst 1 TiB free

The only meter that matters is GPU-seconds

On almost every Modal bill, GPU-seconds are the whole story. CPU and memory are rounding errors next to a GPU rate, and storage is usually free because a few cached model weights sit well under the 1 TiB free tier. The mental model is one line:

bill (approximately) = GPU dollars-per-second x seconds your GPU containers are alive.

The word doing all the work is "alive." A container is alive during cold-start warmup and during any keep-warm or idle-timeout window you configure, not only while it is actively serving a request. That is where the surprises live.

The keep-warm trap: paying for a GPU to do nothing

To avoid cold starts, it is tempting to keep a GPU container warm. Do the arithmetic before you do that. One H100 held warm around the clock for 30 days is:

$0.001097 x 86,400 seconds x 30 days = $2,843 a month, at zero traffic.

Set keep_warm=2 with a generous container_idle_timeout and you have quietly rented two full-time H100s, whether anyone calls your endpoint or not. Scale-to-zero is the default that makes Modal cheap; keep-warm is the setting that turns it back into a server you forgot to switch off.

Three 30-day Modal bills, same platform

Here is the same platform producing three very different invoices, driven entirely by how the containers are configured.

Bill A, weekend project, scale-to-zero. An image-generation endpoint on an A10: 3,000 generations a month at 8 seconds each is 24,000 GPU-seconds. That is 24,000 x $0.000306 = $7.34, plus about $0.75 of CPU and memory, plus a 7 GiB model cached on a Volume (free, under 1 TiB). Total near $8, which the $30 Starter credit swallows whole. Invoice: $0.

Bill B, production endpoint, keep-warm on. A chat model on an H100 serving 50,000 requests a month at 3 seconds each is 150,000 GPU-seconds of actual inference, worth $165. But keep_warm=2 keeps two H100s alive for the entire month: 2 x 2,592,000 seconds x $0.001097 = $5,687 in GPU alone. Only $165 of that is inference. About 97% of the bill is idle time.

Bill C, same workload, fixed. Drop to keep_warm=0, lean on memory snapshots to keep cold starts to a few seconds, and you bill roughly the active seconds plus short spin-up tails, near 180,000 GPU-seconds, or about $200. Same requests, same users, one configuration change.

Scroll to see more

ScenarioConfigGPU-seconds billedMonthly GPU cost
A. Side projectA10, scale-to-zero24,000~$7 (covered by $30 credit)
B. Prod, keep-warm=2H100, two always warm5,184,000~$5,687
C. Prod, fixedH100, keep-warm=0 + snapshots~180,000~$200

The one lever: match warm containers to real concurrency

The fix for Bill B is not a discount, it is a measurement. Pull your P95 concurrent requests and set the warm-container count to that number, not to "2 to be safe." Set container_idle_timeout in the tens of seconds, not minutes. Use memory snapshots so cold starts are cheap enough that you can run keep_warm=0 on everything but your hottest path. That sequence is what collapses $5,687 to about $200, at the cost of a few seconds of extra latency on the first request after a quiet spell.

The GPU-selection lever

The second-biggest lever is not renting the biggest card. Plenty of 7B to 13B models run comfortably on an L40S (48GB) or an A10, and an L40S at $1.95 an hour is 51% cheaper than an H100 at $3.95 an hour. If your model fits and your latency budget allows it, moving Bill C from an H100 to an L40S takes it from about $200 to about $98 a month for identical throughput. Reach for an H100 or H200 when the model genuinely needs the memory or the tokens-per-second, not by reflex.

RunPod Modal charges a premium for doing the ops for you, and it is worth pricing that premium honestly. Modal's H100 is about $3.95 an hour; a rented H100 PCIe pod on RunPod (2026) is $2.89 an hour on-demand, and an A100 80GB pod is $1.39. But a pod bills for every hour it is switched on, while Modal bills only the seconds it actually runs.

Suppose a single H100 is genuinely busy a fraction U of the month:

  • Modal: $2,844 x U
  • A RunPod pod left on 24/7: $2,081, flat

They cross where 2,844 x U = 2,081, so U = 0.73. Below roughly 73% GPU utilization, Modal's scale-to-zero beats a pod you leave running; above it, the always-on pod is cheaper per delivered GPU-hour. If you diligently stop and start the pod to track traffic, the lower rate tips further toward RunPod, but that scheduling is ops you now own.

When managed serverless GPU is worth paying for

Modal, and managed-inference platforms like Baseten Baseten, earn their premium when traffic is bursty, you want per-second billing, and you would rather not babysit autoscaling or remember to turn boxes off. A rented pod or a reserved instance wins when a GPU is busy most of the month and someone owns the operations. The same build-versus-rent crossover shows up across every usage-metered service; we walk the general version in when DIY beats SaaS at scale. And if the model itself is your cost center rather than the hardware, routing to a hosted API can undercut self-hosting weights entirely, which is the math in our OpenRouter pricing teardown.

One plan note before you upgrade: the $250 Team plan includes $100 of credit versus Starter's $30, so the plan costs about $180 a month net of that credit. Upgrade for SSO, more developer seats, and support, not for the credit arithmetic.

Math check: on Modal your bill is GPU-seconds, not requests. One H100 left warm all month is about $2,843 whether it serves a million calls or none, so the cheapest lever is almost always cutting idle warm time first, then right-sizing the GPU, in that order.

D

Written by

Diego Aguirre

Frequently asked questions

How much does Modal cost in 2026?

Modal has a Starter plan at $0 a month with $30 of free compute credit, a Team plan at $250 a month with $100 of free credit, and custom Enterprise pricing. Everything above the credit is metered per second: an H100 works out to about $3.95 an hour, an A100 80GB to $2.50, an L40S to $1.95, and an L4 to $0.80, with CPU at $0.047 per core-hour and memory at $0.008 per GiB-hour.

Does Modal really bill per second?

Yes. Modal meters GPU, CPU, and memory per second and scales to zero, so you pay only while a container is alive. The important detail is that 'alive' includes cold-start warmup and any keep-warm or idle-timeout window you configure, not just the seconds spent serving a request.

What is the keep-warm trap on Modal?

Keeping a GPU container warm to avoid cold starts means you pay the full GPU rate for every second it stays up. One H100 held warm around the clock is about $2,843 a month even at zero traffic, so a keep_warm=2 production endpoint can run over $5,600 a month with 97% of the bill being idle time rather than inference.

Which GPU should I pick to lower my Modal bill?

Match the card to the model. Many 7B to 13B models run on an L40S (48GB) at $1.95 an hour or an A10 at $1.10, both far cheaper than an H100 at $3.95. Moving a workload from an H100 to an L40S is roughly a 51% cut per warm-hour when the model fits and the latency budget allows it.

Is Modal cheaper than renting a GPU on RunPod?

It depends on utilization. Modal's H100 is about $3.95 an hour billed per second, while a RunPod H100 PCIe pod is $2.89 an hour but bills for every hour it is switched on. Below roughly 73% GPU utilization, Modal's scale-to-zero is cheaper than a pod left running; above that, the always-on pod is cheaper per delivered GPU-hour.

Is the Modal free tier enough for a side project?

Often yes. The Starter plan includes $30 of free compute credit a month. A scale-to-zero side project, such as an image endpoint doing a few thousand generations on an A10, can land under $10 of usage and be fully covered by the credit, leaving a $0 invoice.

When is the Modal Team plan worth $250 a month?

The Team plan adds $100 of monthly credit versus Starter's $30, so after the credit it costs about $180 a month more. Upgrade when you need SSO, more developer seats, or support, not for the credit itself, since the credit difference does not cover the base fee.

Build vs buy

Build vs buy: when DIY beats SaaS at scale

Build-vs-buy isn't a values debate, it's a breakeven date. SaaS wins early because it converts a big upfront build into a small monthly fee. DIY wins once your usage-based SaaS bill exceeds the fully-loaded cost of owning the code, typically around month 18 for infrastructure-style tools. This piece gives you the formula, a worked example, and the three traps that make teams build too early.

5 min read154
Infrastructure economics

Fly.io Pricing in 2026: The Real 30-Day Bill

Fly.io pricing in 2026 is pure pay-as-you-go: you pay per second for the Machines (micro-VMs) you actually run, not a fixed plan. A small always-on app on a shared-cpu-1x 256MB Machine costs about $2.02 a month; a two-Machine production SaaS with Postgres and Redis lands near $29 a month; a three-region app on performance Machines runs about $226 a month. The old Hobby, Launch, and Scale plan names were retired in the October 2024 pay-as-you-go switch, and the biggest lever left is a machine reservation, which cuts committed compute by 40%.

8 min read221