Network
20 points of presence on 6 continents, announced over anycast. Requests land on the nearest healthy PoP.
20PoPs
6continents
1.1Tbpsedge capacity
14msmedian TTFB
Points of presence
| PoP | City | Region | Capacity | Status |
|---|---|---|---|---|
| fra1 | Frankfurt | Europe | 100 Gbps | live |
| ams1 | Amsterdam | Europe | 100 Gbps | live |
| hel1 | Helsinki | Europe | 40 Gbps | live |
| waw1 | Warsaw | Europe | 40 Gbps | live |
| mad1 | Madrid | Europe | 40 Gbps | live |
| mxp1 | Milan | Europe | 40 Gbps | live |
| arn1 | Stockholm | Europe | 40 Gbps | live |
| ist1 | Istanbul | Europe / Middle East | 40 Gbps | live |
| dxb1 | Dubai | Middle East | 40 Gbps | live |
| bom1 | Mumbai | Asia | 40 Gbps | live |
| sin1 | Singapore | Asia | 100 Gbps | live |
| icn1 | Seoul | Asia | 40 Gbps | live |
| nrt1 | Tokyo | Asia | 100 Gbps | live |
| syd1 | Sydney | Oceania | 40 Gbps | live |
| iad1 | Ashburn | North America | 100 Gbps | live |
| dfw1 | Dallas | North America | 40 Gbps | live |
| lax1 | Los Angeles | North America | 40 Gbps | live |
| yyz1 | Toronto | North America | 40 Gbps | live |
| gru1 | São Paulo | South America | 40 Gbps | live |
| jnb1 | Johannesburg | Africa | 20 Gbps | live |
How routing works
Every PoP announces the same anycast prefixes. If a PoP fails health checks it withdraws its routes and traffic shifts to the next-closest site in seconds. The x-td-pop response header shows which site served you.
Origin shield
Cache misses go to a regional shield (fra1, iad1 or sin1) before reaching storage, so a cold file is fetched from the origin at most once per region.
$ curl -sI https://cdntidal.com/v/lumen/3.4.1/lumen.min.js | grep x-td
x-td-pop: sin1
x-td-cache: HIT