Fly.io vs Railway for AI agents
As of 6 Oct 2026, Railway gets an AI agent further: L3 · Does the work against L2 · Gets in.
- Find: Docs for agents: llms.txt, an OpenAPI and an MCP server.
- Access: Sign-up in a browser.
- Use: 30% of the work.
- Pay: Card checkout.
- Leave: Leaves on its own: Nothing to cancel, deletes its account.
In on its own; 30% of the work done. Next: do half of the core work (now 30%)
Gets in on its own: L2 · Gets in. Sign-up and verification need a browser: the web form has no bot check, but the confirmation link only works in a signed-in session. Our agent then signed in with flyctl, pulled an org token headless, and ran Sprites end to end through the official API and MCP: created a Sprite, exec'd inside it. The Machines side stopped right after sign-up, flagged as high risk: every app and Machine call asked for a card, despite a documented no-card trial. Nothing was bought, so nothing to cancel. Deletion stayed in the browser, confirmed by a failed sign-in and a revoked token.
Driven 6 Oct 2026 · The drive and its evidence- Find: Docs for agents: llms.txt, an OpenAPI and an MCP server.
- Access: Try first, claim later.
- Use: 60% of the work.
- Pay: Payment not reached.
- Leave: Leaves on its own: Nothing to cancel, what it made goes after 24 hours.
Got in; payment not reached. Next: do 80% of the core work (now 60%)
L3 · Does the work: our agent gets in on its own, no account needed. `ssh railway.new` issued a project token headless, and the first API call with it succeeded. From there it ran `railway add -d postgres`, creating a Postgres service with a successful deployment, plus variables, logs and metrics on that same token. No 402 route existed anywhere, and checkout sits behind that same sign-in wall. No plan was started, so there was nothing to cancel, and the anonymous project could not be deleted: Railway's docs say unclaimed boxes expire after the claim window instead.
Gets furtherDriven 6 Oct 2026 · The drive and its evidenceThe two summaries: written and checked by our agents from each product's drive. How we write.
Where each one stops.
Fly.ioIn on its own; 30% of the work done
RailwayGot in; payment not reached
| Checkpoint | Fly.io | Railway |
|---|---|---|
| Docs | Headless | Headless |
| Sign up | In a browser | Not needed |
| Verify | In a browser | Not needed |
| Key | In a browser | Headless |
| First call | Headless | Headless |
| First action | Headless | Headless |
| Pay | Not tried | Not reached |
| Cancel | Not needed | Not needed |
| Delete | In a browser | Blocked |
Headless or in a browser.
How our agent passed each checkpoint, and what each product offers an agent.
Checkpoints by route, API, MCP, CLI and SDK
| Fly.io | Railway | |
|---|---|---|
| Headless (checkpoints) | 3 | 4 |
| In a browser (checkpoints) | 4 | 0 |
| Needs a human (checkpoints) | 0 | 0 |
| Blocked (checkpoints) | 0 | 1 |
| Not tested (checkpoints) | 1 | 1 |
| Work done | 30% of the core | 60% of the core |
| API | Yes | Yes |
| OpenAPI | Yes | Yes |
| MCP server | Yes (official) | Yes (official) |
| CLI | Yes | Yes |
| SDK | Yes | No |
| llms.txt | Yes | Yes |
Bot checks, and where a person was needed.
| Fly.io | Railway | |
|---|---|---|
| Bot check | None met | Cloudflare Turnstile on the email sign-up; it got in another way |
| Wall type | No bot-check wall | A challenge on the form |
| First wall | None | Got in; payment not reached |
| A person helped | No | No |
A challenge on the form: It asks every visitor to prove they are human. It stops every agent on any network, and a signature doesn't help: a person does this step, or the owner opens it for agents. Where we drive from.
Level and part scores.
| Fly.io | Railway | |
|---|---|---|
| Level | L2 · Gets in | L3 · Does the work |
| Agent-ready setup | 100 of 100, good | 100 of 100, good |
| Standards | MCP spec of 25 Nov 2025 (1 version behind) · MCP discovery (behind) · MCP client registration (current) · OpenAPI 3.1.0 (1 version behind) | MCP client registration (current) · OpenAPI 3.1.0 (1 version behind) |
Holds up: not measured in these drives. Docs match is measured in an Audit. What the scores mean.
Pay, cancel and delete.
| Fly.io | Railway | |
|---|---|---|
| Pay | Card checkout | Payment not reached |
| Free plan or trial | Trial, no card | Trial, no card |
| Cancel | Not needed | Not needed |
| Delete the account | In a browser | Blocked |
How each one takes payment
- Fly.io: Card checkout.
- Railway: Payment not reached.
Fly.io vs Railway: the short answers.
Which can an AI agent use, Fly.io or Railway?
Railway gets an AI agent further: L3 · Does the work against L2 · Gets in. With Fly.io our agent got in on its own and did 30% of the work; with Railway it got in (payment not reached). Both driven 6 Oct 2026.
Can an AI agent sign up for Fly.io and Railway on its own?
Fly.io: yes, in a browser. Railway: not needed.
Do Fly.io and Railway have an MCP server?
Fly.io: yes (official). Railway: yes (official).
Can an AI agent delete its Fly.io or Railway account?
Fly.io: yes, in a browser. Railway: blocked.
The drives and the category.
Put your own shortlist side by side.
A Stack check drives the tools you're choosing between and shows which ones your agents can use. $490 for three tools, ready in 24 hours.