Tidal_

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

PoPCityRegionCapacityStatus
fra1FrankfurtEurope100 Gbpslive
ams1AmsterdamEurope100 Gbpslive
hel1HelsinkiEurope40 Gbpslive
waw1WarsawEurope40 Gbpslive
mad1MadridEurope40 Gbpslive
mxp1MilanEurope40 Gbpslive
arn1StockholmEurope40 Gbpslive
ist1IstanbulEurope / Middle East40 Gbpslive
dxb1DubaiMiddle East40 Gbpslive
bom1MumbaiAsia40 Gbpslive
sin1SingaporeAsia100 Gbpslive
icn1SeoulAsia40 Gbpslive
nrt1TokyoAsia100 Gbpslive
syd1SydneyOceania40 Gbpslive
iad1AshburnNorth America100 Gbpslive
dfw1DallasNorth America40 Gbpslive
lax1Los AngelesNorth America40 Gbpslive
yyz1TorontoNorth America40 Gbpslive
gru1São PauloSouth America40 Gbpslive
jnb1JohannesburgAfrica20 Gbpslive

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