The deciding difference is operational: Centaur can run on infrastructure you control, Fly.io cannot. If that constraint is real for you, it settles the choice before anything else is considered.
Long-running containers close to users, without owning a Kubernetes cluster.
Paradigm's self-hosted control plane: one shared team agent, an isolated k8s sandbox per Slack thread, and no raw API keys in the agent's environment.
Brings your own harness — it runs Claude Code, Codex or Amp inside the sandbox rather than replacing them. Credential boundaries mean the agent calls approved services without ever holding the key.
| Fly.io | Centaur | |
|---|---|---|
| Licence | Proprietary | Open source |
| Pricing | usage based | open source |
| Self-hostable | No | Yes |
| Languages | Any language | Any language |
| Install | brew install flyctl | — |
| Keys required | None | None |
The deciding difference is operational: Centaur can run on infrastructure you control, Fly.io cannot. If that constraint is real for you, it settles the choice before anything else is considered. Fly.io: Long-running containers close to users, without owning a Kubernetes cluster. Centaur: Paradigm's self-hosted control plane: one shared team agent, an isolated k8s sandbox per Slack thread, and no raw API keys in the agent's environment.
Fly.io is a hosted service only. Centaur can run on your own infrastructure.
Fly.io is proprietary (usage based). Centaur is open source (open source).
Every page here answers to Accept: text/markdown and returns the same content at roughly a tenth the tokens. No separate site, no toggle — same URL.
curl -s -H "Accept: text/markdown" https://newagent.build/compare/fly-vs-centaur