What it is
The Pingle SDK will help you build a VPN into your own product: an app, a router firmware, a device. No writing a tunnel, routing and platform integration from scratch — you take the parts Pingle's own client is made of.
The SDK is in development and not yet released. Want to try it first? Leave your contact in the form on this page.
What it is built on
The SDK is the Pingle core, packaged for other people's products:
// Illustrative sketch: the SDK is in developmentlet tunnel = Tunnel::open() .region(Region::Auto) .await?;tunnel.route("*.example", Route::Direct);$ cargo runtunnel up · 38 msA Rust core
Like Pingle's apps: memory-safe, fast and portable to everything from phones to microcontrollers.
Plugins in WebAssembly
Routing, two-way isolation and other features are modules in a sealed sandbox: they cannot break the core or reach anyone else's data.
The platform's own tunnel
The SDK raises the tunnel the way each system expects, not through a lowest-common-denominator layer.
Platforms
The platforms are the Pingle client's:
| How the tunnel is raised | Platforms |
|---|---|
| Network Extension | iPhone, iPad, Mac, Apple TV |
| VpnService | Android, Android TV |
| Wintun | Windows |
| TUN | Linux, Steam Deck, Raspberry Pi, FreeBSD, OpenWrt |
| Container | Synology, QNAP, Docker, Home Assistant |
| WebAssembly | Browser |
| no_std | ESP32 |
On Apple devices a VPN can only run as a Network Extension, and on Android through VpnService, with the user's permission. Each system's own mechanism makes the tunnel part of the device.
What the first release covers is not settled yet: name the platform you need in the form — it shapes the order.
Who it is for
- App developers who want a VPN inside their product rather than a separate app next to it.
- Hardware makers — routers, NAS boxes, set-top devices — who want the tunnel in firmware.
- Service operators who need a client for their own platform.
For a complete VPN service under your own brand, with plans and billing, the SDK is more than you need: see your own service.
Status
The SDK grows out of the Pingle client's core. A public, documented, versioned SDK does not exist yet; until the first release, interfaces may change, and we will not publish a date we cannot keep.
You cannot build a product on the SDK today, but you can tell us about your case now, so the first version takes it into account.
Join the waitlist
Tell us in the form what you are building and for which platforms: your answers decide what comes first. We will write when the first version is ready to try; the documentation is being written alongside the SDK. For other questions, write to us.
Early access to the SDK
The SDK is in development. Leave a contact and we'll send access as soon as it opens, and answer your integration questions.
Thank you!
We'll write when the SDK is ready for its first integrations.