Railway
A usage-billed platform that builds a repository or runs an image as services on a visual project canvas, with databases, volumes, private networking and per-pull-request environments, on hardware Railway runs itself.
- What it is
- Platform as a service (PaaS)
- Type
- Commercial product
- Made by
- Railway Corporation
- License
- Proprietary (its Railpack builder is open source)
- Facts checked
- 23 October 2026
What it is
A Railway project is a canvas of services that share a private network. Each service takes a source: a GitHub repository, which Railway’s open-source Railpack builder turns into an OCI image without a Dockerfile (or with yours, if there is one), a Docker image from a registry, or a local folder sent with railway up. Databases such as Postgres, MySQL, Redis and MongoDB are services too, from templates, and keep data on volumes. Variables can reference each other across services, so an app can read its database’s URL. Every project starts with a production environment; you can duplicate it into staging or have Railway create a temporary environment for each pull request and delete it when the PR closes.
You pay a plan fee that counts toward usage, then per second for what services use: about $20 per vCPU and $10 per GB of RAM a month, $0.15 per GB of volume and $0.05 per GB of egress. Hobby costs $5 a month with $5 of usage included, Pro $20 per workspace with $20 included, and new accounts get a 30-day trial with $5 of credit. A service can have replicas in several regions, run on a cron schedule, or be set to sleep: after about 5 to 10 minutes without outbound traffic it stops, and the next request wakes it with a cold start. From late 2024 to mid-2025 Railway moved its workloads from Google Cloud to Railway Metal, hardware it owns and operates in datacenters in California, Virginia, Amsterdam and Singapore.
Railway was started in 2020 and released in 2021. It raised a $20 million Series A led by Redpoint in 2022 and a $100 million Series B in January 2026, when it reported 2 million users. On October 21, 2026 it disclosed that an attacker may have read customers’ encrypted environment variables, in some cases decrypted. It paused all builds, invalidated every API token and told customers to rotate all variables, then restored builds plan by plan.
Why teams pick it
- Repository to running service with no configuration: Railpack detects the language and builds an image, and databases are one click or
railway addaway - Pay per second of CPU and memory actually used, with services that can sleep when idle
- Environments are first-class: duplicate production into staging, or get a throwaway copy for every pull request
- Services in a project talk over a private network, and variables can reference other services’ values
Watch out for
- Usage-based bills are harder to predict than a fixed instance price, and the cheaper plans cap resources (Hobby: 48 vCPU and 48 GB per service, 5 GB volumes)
- Proprietary and hosted only: there is no self-hosted version, so leaving means rebuilding the setup elsewhere
- Sleeping services have cold starts, and the first request after a sleep can fail with a 502
- The October 2026 breach exposed customer secrets stored as environment variables and stopped all deploys for a time
Alternatives
What all platform as a service (paas) have in common →Compare side by side →git push your code, and Heroku builds it with a buildpack and runs it on managed containers called dynos behind its own HTTP router.render.yaml file if you like.How it fits with other technologies
Create a project, add Postgres and deploy the current folder with the Railway CLI · bash
railway init # new project with a production environment
railway add --database postgres # Postgres service with a volume
railway up # upload this folder; Railpack builds an image and deploys it
railway variable set NODE_ENV=production
railway domain # generate a public Railway domain
railway logs -n 100 # last 100 lines of deployment logs
railway run npm run migrate # run a local command with the service's variablesSee it in a real stack
No architecture uses Railway yet. Drop it into the playground and wire it up yourself.Open playground →Where it came from2020–2026
Railway began in 2020 with the aim of letting engineers deploy code without managing servers or writing large configuration files, with sensible defaults they could change later. It launched in 2021; its pre-seed and seed rounds were led by Lachy Groom and Unusual Ventures. Growth sped up after it introduced the project canvas, and in May 2022 it raised a $20 million Series A led by Redpoint Ventures.
Railway first built apps with Nixpacks, its own Nix-based builder, which built more than 14 million apps. Pinning language versions through Nix commits proved hard, images were large and caching was limited, so in March 2025 it introduced Railpack, which talks to BuildKit directly and produced images 38% smaller for Node and 77% smaller for Python. In the same period it moved from Google Cloud onto hardware of its own, called Railway Metal, migrating services from late 2024 until mid-2025.
In January 2026 Railway raised a $100 million Series B, reporting 2 million users and tens of thousands of companies. In 2026 it kept adding datacenter capacity and features aimed at AI agents. On October 21, 2026 it disclosed a security incident in which encrypted environment variables, and for some customers their decrypted contents, may have been accessed.
Why it’s built this way
- Build without a Dockerfile
- Railway wanted deploys to need no configuration, so a builder detects the language and makes an OCI image; it replaced Nixpacks with Railpack because Nix’s commit-based versioning made supported versions hard to maintain.
- Own hardware instead of a hyperscaler
- Railway Metal lets it run the hardware, software and network end to end, which it says gives faster fixes, newer CPUs, NVMe volumes, more capacity and lower egress and storage prices.
- Charge for usage, not instances
- Billing CPU, memory and disk by the second means a quiet service costs little, and a sleeping one costs nothing for compute.
- Environments as copies of the whole project
- Every service, variable and setting is duplicated together, so a pull request environment or staging has the same databases and wiring as production.
Timeline
- 2020
Work on Railway begins
- 2021
Railway is released
- 2022
$20M Series A led by Redpoint Ventures, in May
- 2024
New Trial and Hobby services start running on Railway Metal in December
- 2025
Railpack replaces Nixpacks in March; migration to Railway Metal targeted for completion by July
- 2026
$100M Series B in January; security incident and paused builds on October 21
- Railway blog: Railway raises $20M to radically simplify building software (May 31, 2022)
- Railway blog: Introducing Railpack (Mar 4, 2025)
- Railway docs: Railway Metal (rollout from December 2024, migration by July 2025)
- Railway blog: Railway raises $100M Series B to unburden the builders (Jan 22, 2026)
- Railway blog: Building datacenters with no mistakes (Jun 2026)
- Railway blog: Security disclosure, Wednesday October 21st (2026)
Sources13 · facts checked 23 October 2026
- Railway docs: About Railway (repos, images, OCI builds, environments)
- Railway docs: The basics (projects, services, volumes, variables, private networking)
- Railway docs: Build configuration (Railpack)
- Railway docs: Environments (duplicates, PR environments)
- Railway docs: App sleeping (inactivity after 5 minutes, cold boot, 502 on wake)
- Railway docs: Databases reference (PostgreSQL, MySQL, Redis and MongoDB templates; volumes)
- Railway docs: Config as code (builders, cron schedule, multi-region replicas)
- Railway docs: CLI (init, add, up, variable, domain, logs, run)
- Railway docs: Railway Metal (regions, owned hardware, leaving Google Cloud)
- Railway: Pricing (plans, per-second resource prices, plan limits)
- Railway blog: Introducing Railpack (Mar 4, 2025)
- Railway blog: Security disclosure, Wednesday October 21st (2026)
- Railway status page (builds paused and restored, API tokens invalidated, October 2026)