← back to blog

Which data centre holds your account and why it matters

Every Telegram account has a home. Not a country in the legal sense, but a specific data centre that your client talks to first, every time you open the app. Most people never think about this because Telegram hides it well. But if you run more than a handful of accounts, or you rely on a proxy to keep a connection stable, understanding where your account actually lives changes how you troubleshoot problems.

What a data centre is in Telegram’s design

Telegram runs on a protocol called MTProto. Unlike a lot of messaging apps that route everything through one central API, MTProto splits the world into a small number of numbered data centres. When your client boots up for the first time, it fetches a config listing those data centres and their addresses. Your account gets tied to one of them, called your home DC, and that’s where your account metadata, your two step verification settings, and the master copy of your session state actually sit.

This isn’t a user-facing setting. You don’t pick a data centre from a menu. It gets decided once, quietly, and then the client remembers it for the life of the account.

How the assignment happens

The home DC gets chosen at registration time, and it’s based on network signals at that moment, mainly the region your connection appeared to be coming from when you verified the phone number. If you register while connected through an IP in Southeast Asia, you’re more likely to land on a DC that serves that region. If you register from Europe, you land on a different one. It’s a one-time decision made by Telegram’s infrastructure, not something the client asks you to confirm.

This matters because people sometimes assume the app “picks the closest server automatically, every session.” It doesn’t work that way. Your home DC is fixed. What changes session to session is which DC your client happens to be talking to for a given piece of data, because some data does live in other DCs depending on where a chat or a media file was created.

What actually migrates and what doesn’t

When your client talks to a DC that isn’t your home one, for example to fetch a file that lives on a different DC, MTProto has a migration flow. The server responds with a “please redirect to DC X” instruction, and the client transparently reconnects there for that specific request, then negotiates a new auth key valid for that DC. Your session file, the one that authenticates a logged-in client without asking for the phone number again, stores which DC it was issued against.

This is the part that trips people up when they move a session between devices or between hosting environments. A session file isn’t a universal credential that works identically no matter where it connects from. It carries a DC reference, and while the client can migrate across DCs when needed, if the network path to reach your home DC is broken or heavily restricted, you’ll see connection failures or degraded behaviour even though the account credentials themselves are fine.

Why this shows up as latency

Every request your client makes has to round-trip to a server somewhere. If your home DC serves Europe and your device or your hosting box is sitting on a network path with a long route to get there, every action, sending a message, loading a chat list, checking for updates, pays that round trip cost. This isn’t unique to Telegram, it’s true of any client-server system, but Telegram makes it more visible because the DC assignment is sticky. You can’t just switch to a “closer” server the way you might switch a CDN edge node.

For anyone hosting Telegram sessions on a server, this is worth checking before you assume a slow account is a broken account. Sometimes the account is fine and the network path between the box and the home DC is just long or congested.

Where a proxy actually fits into this picture

This is the part we get asked about most, because it’s genuinely confusing. A proxy, whether it’s the MTProto proxy type Telegram supports natively or a plain SOCKS/HTTP proxy sitting in front of the client’s traffic, does not change your home data centre. It changes the network path your client uses to reach whichever DC it’s already trying to reach.

Think of it as a relay, not a router of accounts. If your account’s home DC is fixed, a proxy can shorten or reroute the path to that DC, or mask the originating IP address the DC sees, but it cannot reassign the account to a different DC. People sometimes set up a proxy expecting it to “move” an account closer to a region, and get confused when latency doesn’t improve much. The proxy is doing its job, forwarding bytes, but the destination DC hasn’t changed and the underlying protocol still has to talk to that same server.

Where a proxy genuinely helps is consistency and control over the egress point: keeping a session’s apparent origin stable, avoiding a network path that’s throttled or blocked in a particular region, or standardising how a batch of hosted accounts reach the network so they don’t each pick a different, unpredictable route. That’s a real, useful function. It’s just a different function from “picking a faster DC,” and it’s worth keeping those two ideas separate when you’re diagnosing a slow or flaky account.

Why this matters for account safety

A session file is bound to the DC that issued it, and that DC has a record of the network behaviour associated with the account: connection patterns, rough geographic origin over time, and how consistent the traffic looks session to session. None of that is exotic, it’s the same kind of signal most large platforms watch. What it means practically is that an account which has spent months connecting from one general region and then abruptly starts connecting from a completely different one, especially many times in a short window, is producing a change in the exact kind of pattern that anti-abuse systems are built to notice.

This is a good reason to treat egress consistency as part of account hygiene rather than an afterthought. If you’re hosting an account long-term, keeping its network path reasonably stable, rather than bouncing it across wildly different regions from one login to the next, reduces the chances of the account looking anomalous to the system that already knows its home DC and its usual behaviour. It’s not about hiding anything, it’s about not manufacturing a pattern that looks like account takeover when it’s really just infrastructure churn.

A practical checklist

If you manage Telegram accounts on infrastructure you control, a few habits make the DC layer work with you instead of against you. Keep a session’s egress region reasonably consistent rather than rotating it through unrelated countries. If latency on an account seems consistently worse than others, check whether that’s a routing issue to its home DC before assuming the account or the client is at fault. Don’t treat a proxy as a way to relocate an account, use it to stabilise or control the path, not to chase a DC that isn’t yours. And keep session files tied to the environment they were issued in when you can, since moving them around unnecessarily adds another variable when something does go wrong.

None of this is complicated once you know the shape of it. The account has a home. The proxy moves the path, not the home. And the network pattern your account produces over time is part of what the system watching it already understands as normal.

If you’re setting up or troubleshooting Telegram hosting and proxy configuration and want this explained against your actual setup, come find the rest of our guides here.

Get new guides and videos first — join the Telegram channel.

need infra for this today?