The problem with international roaming isn't the technology โ it's the agreements. Every time you cross a border, your home carrier has to have a bilateral roaming agreement with a local carrier. When it doesn't, you either pay emergency roaming rates or swap SIMs manually.
We wanted to solve this with a single profile that works in 180+ countries. Here's what building that actually looks like.
The MVNO model at global scale
GeSIM operates as an MVNO โ a Mobile Virtual Network Operator. We don't own physical towers. We lease capacity from carriers and manage the subscriber layer ourselves.
For global roaming, we've negotiated multi-region agreements with carriers in every major geography. A GeSIM profile is issued under our MVNO credentials, which include roaming rights across the full network of carrier partners.
This is the same model as iSIM providers like Airalo โ but layered with anonymous activation and crypto payment rails.
The eSIM profile design
A roaming eSIM profile needs to be region-agnostic at the profile level, while the underlying traffic gets routed to the cheapest available local carrier at any given moment. This requires:
- Dynamic MNO selection โ the profile contains a prioritized list of carrier networks by region, updated periodically via the carrier's SMSR (Subscription Manager Secure Routing) infrastructure.
- Data session anchoring โ VPN tunnel established before any user traffic exits the device, so location inference from traffic patterns is blocked.
- Profile refresh without reactivation โ when carrier agreements update, the profile refreshes silently via LPA without the user needing to re-install.
What breaks in practice
Carrier SMSR APIs are inconsistent. Some carriers in Southeast Asia use proprietary extensions to the GSMA SGP.22 standard that aren't documented publicly. We've had to reverse-engineer handshake behavior for three networks.
Number-dependent apps (ride sharing, local delivery, banking) sometimes reject foreign virtual numbers. This is a UX problem we're working on โ the solution involves a local number layer that proxies to your GeSIM virtual number in-country.
Emergency services (911, 112, 999) always route through the local network regardless of VPN state. This is correct behavior โ we don't intercept emergency calls.
What's next
The 180-country figure covers data. Voice and SMS roaming have a different regulatory layer and are lagging by about two quarters. We expect to close that gap in H1 next year.