RunPod Serverless (2026): Real Rates & When It Beats a Pod
Verified August 2026 RunPod Serverless rates per GPU, why you pay for container start and idle timeout on top of execution, and the utilization point where a plain pod gets cheaper.
RunPod Serverless scales your endpoint to zero between requests and bills per second. The number people quote for it, $0.16/h, is not a serverless rate at all: that is the floor of the pod catalogue. The cheapest serverless worker is $0.58/h, and an A100 runs $2.72/h.
That gap matters, because serverless costs roughly 1.5 to 2.8 times the Secure Cloud pod rate for the identical card. You are buying scale-to-zero, and it is not free.
Serverless rates by GPU
| GPU | VRAM | Serverless | Secure Cloud pod | Multiple |
|---|---|---|---|---|
| A4000 / A4500 / RTX 4000 | 16GB | $0.58 | — | — |
| L4 / A5000 / 3090 | 24GB | $0.69 | $0.50 (3090) | 1.38× |
| RTX 4090 | 24GB | $1.10 | $0.69 | 1.59× |
| RTX PRO 4500 Blackwell | 32GB | $1.15 | — | — |
| A6000 / A40 | 48GB | $1.22 | $0.44 (A40) | 2.77× |
| RTX 5090 | 32GB | $1.58 | — | — |
| L40 / L40S / 6000 Ada | 48GB | $1.75 | $0.99 (L40S) | 1.77× |
| A100 | 80GB | $2.72 | $1.49 (SXM) | 1.83× |
| RTX 6000 Pro | 96GB | $3.49 | — | — |
| H100 | 80GB | $4.55 | $2.99 (SXM) | 1.52× |
| H200 | 140GB | $5.93 | — | — |
| B200 | 180GB | $8.64 | — | — |
| B300 | 280GB | $9.98 | — | — |
Serverless rates verified against runpod.io/pricing on 3 August 2026; pod rates against the same page on 31 July 2026.
The break-even is a duty cycle, not a price
A pod bills continuously whether or not traffic arrives. Serverless bills only while a worker is up. So the question is never which is cheaper per hour, since serverless always loses that one, but how much of the day your endpoint actually works.
Divide 1 by the multiple above and you get the utilization where the two cost the same:
- A40 48GB at 2.77×: a pod wins above 36% utilization
- RTX 4090 at 1.59×: a pod wins above 63%
- A100 80GB at 1.83×: a pod wins above 55%
- H100 80GB at 1.52×: a pod wins above 66%
An endpoint serving business-hours traffic sits near 33% by definition, which is why serverless suits it. A batch job that saturates the GPU for six hours a night is at 25% and also suits it. Anything answering steady production traffic around the clock should be on a pod, and the A40 is the card where that flips soonest.
You are billed for more than execution
This is the part that surprises people reading their first invoice. RunPod bills from when a worker starts until it fully stops, rounded up to the second, across three phases: container start, request execution, and the idle timeout that follows. The default idle window is five seconds.
Run the arithmetic on a short request. An A100 at $2.72/h is $0.000756 per second. A 400 ms inference does not cost you 400 ms:
- Execution alone: 0.4s × $0.000756 = $0.0003
- Execution plus the default 5s idle window: 5.4s × $0.000756 = $0.0041
You pay about 13.5× the compute time, before any cold start. Two levers fix this. Batch more work into each request so execution dominates the idle tail, or cut the idle timeout, though shortening it makes the next request more likely to pay a cold start instead. FlashBoot exists to make that trade less painful by keeping recently-used workers warm.
Flex and active workers
Flex workers scale to zero and are what the rates above describe. Active workers run 24/7 and never cold-start; RunPod advertises up to 40% off for them, with the exact discount handled through sales rather than published on the pricing page.
Active workers are a pod with extra steps unless you genuinely need the serverless request routing. If you are running one continuously anyway, price it against a Secure Cloud pod before committing.
Deploying an endpoint
RunPod pulls your image from a registry you control. There is no RunPod-hosted registry to push to, which trips up people following older guides.
- Build a container exposing a handler, not a web server. RunPod’s Python SDK wraps your inference function, so you do not need FastAPI or Flask, and a Node/Express app is the wrong shape for this entirely.
- Push to Docker Hub or GHCR, public or with credentials supplied to RunPod.
- Create the endpoint, point it at the image tag, and pick GPU classes. Selecting several lets the scheduler fall back when your first choice is unavailable.
- Set worker bounds and idle timeout. Max workers caps spend; the idle timeout is the lever from the section above.
- Bake model weights into the image or a network volume. Downloading a 14GB checkpoint on every cold start is the most common reason a cheap endpoint turns expensive.
Test with curl against the endpoint’s /runsync route for short jobs and /run for anything that outlives the request timeout.
FAQ
Is RunPod Serverless $0.16/hour?
No. That figure is the cheapest pod in the catalogue, not a serverless worker. Serverless starts at $0.58/h for the 16GB class and rises to $9.98/h for a B300. Comparisons that quote $0.16/h against other serverless platforms are comparing two different products.
Why is my bill higher than my measured inference time?
Because execution is only one of three billed phases. You also pay for container start and for the idle timeout after each request, five seconds by default. On sub-second inference calls that idle window can be an order of magnitude more expensive than the work itself.
When should I use a pod instead?
Above roughly 55–65% utilization for most datacenter cards, and above 36% for an A40. Work out what fraction of the day your endpoint is actually computing, then compare against the multiples in the table. Steady round-the-clock traffic belongs on a pod.
Do I need a web framework in my container?
No. The handler model expects a function that takes a job payload and returns a result, and RunPod handles HTTP, queueing and scaling around it. Adding Flask or FastAPI inside the worker duplicates infrastructure you are already paying for.
For how the underlying pod tiers price out, see the RunPod Community vs Secure Cloud breakdown, and for the wider field the full GPU cloud comparison.