Railway Pricing 2026: What Web + Worker + Postgres Costs

By Mark Hayes
Railway Pricing 2026: What Web + Worker + Postgres Costs

Railway does not sell you a server size. It charges a monthly minimum — $5 on Hobby, $20 on Pro — and then bills the CPU and memory your services actually use, by the second. That is why the pricing page is easy to read and the invoice is hard to predict: the number depends on how much memory your processes hold around the clock, not on a plan you picked.

This page works through the arithmetic for the stack most people actually run: a web app, a background worker and Postgres. Prices were checked against railway.com/pricing and Railway's billing docs on 1 October 2026.

Railway pricing at a glance

PlanMonthly feeIncluded usageLimits that matter
Free$0 (30-day trial with $5 of credits, then $1/month)$5 one-off during trial1 vCPU / 0.5 GB RAM per service, 0.5 GB volume, 1 project after the trial
Hobby$5 minimum$5Up to 48 vCPU / 48 GB RAM per service, 5 GB volume storage, single-developer workspace
Pro$20 minimum$20Up to 1,000 vCPU / 1 TB RAM per service, unlimited seats, 1 TB volumes
EnterpriseCustomCustomSSO, audit logs, HIPAA BAAs, dedicated VMs

The included usage is not a bonus on top of the fee — it is the fee. If your services use $3 in a month on Hobby, you pay $5. If they use $7, you pay $7: the $5 subscription plus $2 of usage. In other words, the bill is whichever is larger, $5 or your usage.

What each resource costs

ResourceRailway pricePer month, running all the time
CPU$0.00000772 per vCPU-second≈ $20 per vCPU
Memory$0.00000386 per GB-second≈ $10 per GB
Volume storage$0.00000006 per GB-second≈ $0.15 per GB
Network egress$0.05 per GB—
Object storage (buckets)$0.015 per GB-monthegress from buckets is free

CPU is billed on use, so an app that idles at 2% of a core costs cents for CPU. Memory is different: a process holds its memory whether or not anyone is using it. A Rails or Django web process sitting at 300 MB all month is $3 by itself, before a single request. For small always-on stacks, memory is usually the largest line on a Railway invoice, and it is the first thing to look at in the Metrics tab when the bill surprises you.

What a web app, a worker and Postgres cost on Railway

Below are three usage profiles for the same three services. They are illustrations, not measurements of your app: the point is to show which line grows. To get your own number, take the average CPU and memory of each service from Railway's Metrics tab and plug them into the formula after the table.

Quiet side projectSmall production appGrowing app
Average CPU (web + worker + Postgres)0.04 vCPU0.35 vCPU0.90 vCPU
Average memory (all three)0.70 GB1.50 GB2.50 GB
Postgres volume1 GB5 GB15 GB
Egress5 GB30 GB100 GB
CPU$0.80$7.00$18.00
Memory$7.00$15.00$25.00
Volume$0.15$0.75$2.25
Egress$0.25$1.50$5.00
Usage$8.20$24.25$50.25
Bill on Hobby$8.20$24.25$50.25
Bill on Pro (teams)$20.00$24.25$50.25

The formula: usage = vCPU × $20 + GB of RAM × $10 + GB of volume × $0.15 + GB of egress × $0.05, using monthly averages. Your bill is max($5, usage) on Hobby and max($20, usage) on Pro.

Two things stand out. In every profile memory costs more than CPU — in the small production app it is $15.00 of $24.25. And the step from Hobby to Pro matters more than the usage for small apps: Hobby is a single-developer workspace, so the moment a second person needs access to the project, the quiet side project goes from $8.20 to $20 a month.

Does Serverless make it cheaper?

Railway's Serverless setting (formerly App Sleeping) stops a service that has sent no outbound traffic for roughly 5–10 minutes and wakes it on the next request. While it sleeps, it uses no CPU or memory, so a demo or an internal tool that is idle most of the day can cost a fraction of the numbers above. The first request after a sleep waits for a cold start.

It helps the web service far more than the rest of the stack. A queue worker polls its broker every few seconds by design, so it is never quiet for ten minutes, and you do not want your database falling asleep. For the stack on this page, expect Serverless to trim the web service's share and leave the worker and Postgres where they are.

What about Railway Postgres?

Postgres on Railway is a template: a Postgres container running as a service in your project, on a volume. It is billed exactly like any other service — CPU, memory and volume storage — which is why it appears in the usage table rather than as a separate price. Railway's own documentation describes its database templates as unmanaged: you have full control over configuration and maintenance, and the tuning, upgrades and connection limits are yours to look after. Volume backups can be created and restored from the dashboard.

If your app opens more connections than a small Postgres instance comfortably handles, put a pooler in front of it; we explain why in what connection pools are and how they help PostgreSQL.

When Railway is the cheaper choice

Usage-based billing is genuinely good for some workloads. Railway tends to be the cheapest sensible option when the app is small and spends most of its time idle, when you can let the web service sleep, when traffic is bursty and you would otherwise pay for a server sized for the peak, and when you want a free trial and per-second billing to experiment. It also scales a single service far further on Hobby than most entry plans allow.

It gets expensive in the opposite situation: several always-on processes that each hold a few hundred megabytes, all month, with a team that needs Pro. That is a description of most production web apps with a worker.

The same stack on a fixed-size platform

For comparison, here is the same web + worker + Postgres on Granite, the platform we build. Granite prices resources by size rather than by use: a 1 vCPU / 1 GB service is $5 a month whether it is busy or idle, and the smallest managed Postgres (1 vCPU, 1 GB RAM, 15 GB NVMe) is $8. That is $18 of usage. The Hobby plan is $9 a month and includes $15 of usage credits, so the remaining $3 is covered by extra credits at $1 each and the bill is $12 a month. Outbound traffic is not billed, so that number does not move with bandwidth the way the egress line on Railway does.

Quiet side projectSmall production app
Railway Hobby$8.20$24.25
Railway Pro (team)$20.00$24.25
Granite Hobby (unlimited seats)$12.00$12.00

Be honest about what that table says. For the quiet side project, Railway Hobby is cheaper — $8.20 against $12 — because you pay Granite for a full core and a gigabyte per service even when they sit idle. The fixed price wins once your three services together hold about a gigabyte of memory around the clock, or once more than one person needs the project: Granite's Hobby plan has unlimited workspace seats. The growing-app profile is left out because it sits at the edge of 1 GB per service; on a fixed-size platform it would move to the next size up.

The Postgres on the Granite side is managed: system backups run automatically and are not billed; only backups you create manually are charged, at $0.05 per GB per month. Full details are on the pricing page and in the PostgreSQL pricing docs. If you are choosing between more platforms than these two, the Fly vs Railway vs Render cost comparison covers the rest.

Railway pricing FAQ

Is Railway free?

Not permanently. New accounts get a 30-day trial with $5 of credits and no credit card required. After that the Free plan costs $1 a month and is limited to 1 vCPU and 0.5 GB of RAM per service. Anything you run continuously belongs on Hobby or Pro.

Does the $5 Hobby fee include usage?

Yes. The $5 is a minimum, and it covers the first $5 of usage. You pay $5 if you use less, and your usage if you use more — not $5 plus your usage.

How much does Railway Postgres cost?

There is no separate price. Postgres runs as a service and costs its CPU, memory and volume storage: a small database idling at 0.2 GB of memory with a 1 GB volume is about $2 a month on its own.

Does Railway charge for bandwidth?

Yes, outbound network egress from services is $0.05 per GB. Egress from Railway's object storage buckets is free.

What does Railway Pro cost?

Pro is a $20 monthly minimum that includes $20 of usage, with the same per-second resource prices as Hobby. You need it as soon as more than one developer works in the same workspace.

Keep reading

More posts tagged “Community”.
Stop S3 storage bill shock: migration to low-cost storage

Your S3 storage bill is rarely about gigabytes stored. Here is where the money actually goes, and a step-by-step plan to move your files somewhere predictable.

Fri, Oct 16, 2026
Scale 12 factor apps: 12-factor app principles on Granite.so

Your Docker container works on localhost and beta users are waiting. Here is how to apply the 12 factors in one afternoon, without Terraform.

Wed, Oct 7, 2026
Railway DB vs Granite.so: migrate your database for predictable costs

Your Railway DB bill jumped and you can't explain why. Here is an honest comparison and a step-by-step migration of app and database to Granite.so in one afternoon.

Wed, Sep 30, 2026
Ditch brittle DIY: a stable platform as a service for $9/mo

Your droplet isn't saving you money if it costs you a 6-hour outage. Here's what a platform as a service actually takes off your plate, and how to move a Docker app onto one.

Fri, Sep 25, 2026
GHCR vs Granite: Docker registry or managed deploys?

GHCR is a great place to store your Docker images — but it doesn't run them. This guide breaks down what GitHub Container Registry actually does, where teams hit the wall trying to deploy on top of it, and how to decide between rolling your own infrastructure, pairing GHCR with a managed platform, or skipping the registry question entirely. Includes a concrete GitHub Actions walkthrough and an honest take on the trade-offs.

Mon, May 11, 2026
Docker vs Kubernetes: when Docker Compose is enough

A solo-founder decision framework for choosing between Docker Compose, Kubernetes, and managed platforms. Includes a five-step decision tree, signals that you've outgrown Compose, and common mistakes early-stage teams make.

Mon, May 4, 2026
Be first in line for updates
and special pricing
Get early access to new features and exclusive discounts delivered straight to your inbox