Something went wrong. Try again.
[READ-ONLY] Mirror of https://github.com/openstatusHQ/openstatus. ๐ซ Status page with uptime monitoring & API monitoring as code ๐ซ openstatus.dev
bun drizzle-orm monitoring monitoring-as-code nextjs observability on-call open-source shadcn-ui status-page statuspage synthetic-monitoring tinybird turso uptime uptime-checker uptime-monitor
Something went wrong. Try again.
MDX
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788---category: Referencetitle: Location Referencedescription: Complete technical specification for Location monitoring---
openstatus monitors your endpoints from multiple global locations to ensure accurate uptime and latency reporting. Locations span several infrastructure providers (Fly.io, Railway, and Koyeb), so IP availability varies: Fly.io regions expose both IPv4 and IPv6 addresses, Railway regions are IPv4-only, and Koyeb does not provide static IPs.
You can use these locations to:
- Configure region-specific checks.- Allowlist monitoring IPs in your firewall.- Understand where requests originate during synthetic monitoring.
## Three forms of the same region code
The same probe is addressed by a different spelling depending on the surface you are using:
| Surface | Form | Example ||---|---|---|| Dashboard, CLI, deprecated v1 REST API | **bare** code | `iad`, `fra`, `koyeb_fra`, `railway_us-east4-eqdc4a` || Terraform provider | **prefixed, hyphenated** | `fly-iad`, `fly-fra`, `koyeb-fra`, `railway-us-east4` || ConnectRPC API and the SDKs | the **protobuf enum** value | `REGION_FLY_IAD`, `REGION_FLY_FRA`, `REGION_KOYEB_FRA`, `REGION_RAILWAY_US_EAST4` |
The SDKs expose the enum as a generated constant rather than a raw string โ `Region.FLY_IAD` inthe Node.js SDK, `Region::REGION_FLY_IAD` in PHP โ so you rarely type the value out.
Pick whichever form the surface you are using expects. The tables below list the bare andprefixed codes; the enum value is the prefixed code upper-cased with `-` replaced by `_` and`REGION_` prepended.
### Fly.io regions and monitoring IPs
Below is the complete list of regions used for monitoring, along with their associated IPv4 and IPv6 addresses.
| Region code | Prefixed code | Location name | IPv4 address | IPv6 address ||-------------|---------------|-------------------|-------------------|-------------------------------|| ams | `fly-ams` | Amsterdam | 209.71.64.1 | 2a09:8280:e601:1:0:22:b79b:0 || arn | `fly-arn` | Stockholm | 209.71.98.189 | 2a09:8280:e602:1:0:22:b79b:0 || bom | `fly-bom` | Mumbai | 209.71.68.172 | 2a09:8280:e605:1:0:22:b79b:0 || cdg | `fly-cdg` | Paris | 209.71.86.183 | 2a09:8280:e607:1:0:22:b79b:0 || dfw | `fly-dfw` | Dallas | 209.71.71.89 | 2a09:8280:e609:1:0:22:b79b:0 || ewr | `fly-ewr` | Secaucus, New Jersey | 209.71.69.221 | 2a09:8280:e610:1:0:22:b79b:0 || fra | `fly-fra` | Frankfurt | 209.71.90.204 | 2a09:8280:e612:1:0:22:b79b:0 || gru | `fly-gru` | Sรฃo Paulo | 209.71.94.28 | 2a09:8280:e615:1:0:22:b79b:0 || iad | `fly-iad` | Ashburn, Virginia | 209.71.81.6 | 2a09:8280:e618:1:0:22:b79b:0 || jnb | `fly-jnb` | Johannesburg | 209.71.83.120 | 2a09:8280:e620:1:0:22:b79b:0 || lax | `fly-lax` | Los Angeles | 209.71.91.96 | 2a09:8280:e621:1:0:22:b79b:0 || lhr | `fly-lhr` | London | 209.71.85.82 | 2a09:8280:e622:1:0:22:b79b:0 || nrt | `fly-nrt` | Tokyo | 209.71.88.150 | 2a09:8280:e625:1:0:22:b79b:0 || ord | `fly-ord` | Chicago | 209.71.89.1 | 2a09:8280:e626:1:0:22:b79b:0 || sin | `fly-sin` | Singapore | 209.71.80.112 | 2a09:8280:e632:1:0:22:b79b:0 || sjc | `fly-sjc` | San Jose | 209.71.101.37 | 2a09:8280:e633:1:0:22:b79b:0 || syd | `fly-syd` | Sydney | 209.71.97.108 | 2a09:8280:e634:1:0:22:b79b:0 || yyz | `fly-yyz` | Toronto | 209.71.99.51 | 2a09:8280:e637:1:0:22:b79b:0 |
## Railway regions and monitoring IPs
Below is the complete list of Railway regions used for monitoring, along with their associated IPv4 addresses.
| Region code | Prefixed code | Location name | IPv4 address ||--------------------------------|-----------------------------|------------------|-------------------|| railway_europe-west4-drams3a | `railway-europe-west4` | Europe West | 208.77.244.15 || railway_asia-southeast1-eqsg3a | `railway-asia-southeast1` | Asia Southeast | 208.77.246.15 || railway_us-east4-eqdc4a | `railway-us-east4` | US East | 162.220.234.15 || railway_us-west2 | `railway-us-west2` | US West | 162.220.232.99 |
## Koyeb regions
Koyeb does not provide static IP addresses for their regions, so IPs are not available for allowlisting. For details, see Koyeb's [documentation](https://www.koyeb.com/docs/faqs/general#i-want-to-restrict-access-to-a-database-or-other-application-by-ip-address-what-ip-addresses-does-koyeb-use).
| Region code | Prefixed code | Location name ||--------------|---------------|-------------------------|| koyeb_fra | `koyeb-fra` | Frankfurt, Germany || koyeb_par | `koyeb-par` | Paris, France || koyeb_sfo | `koyeb-sfo` | San Francisco, USA || koyeb_sin | `koyeb-sin` | Singapore || koyeb_tyo | `koyeb-tyo` | Tokyo, Japan || koyeb_was | `koyeb-was` | Washington, USA |
---
**Note:**
- Where available, IPv4 and IPv6 addresses are provided for allowlisting and diagnostics (Fly.io regions only; Railway is IPv4-only and Koyeb has no static IPs).- Location names are for reference and may be used in the dashboard UI.