Plans & limits
What's included on Free and Pro, how limits are enforced, and what happens when you hit them.
osmRouter has a generous free tier and a Pro plan for higher limits. Every feature — custom domains, the Traffic Inspector, streaming, branded URLs — is available on Free; Pro raises the ceilings.
What's included
| Free | Pro | |
|---|---|---|
| Concurrent tunnels | 10 | 1,000 |
| Custom domains | 2 | 25 |
| Monthly bandwidth | 50 GB | 1 TB |
| HTTP & raw TCP tunnels | ✓ | ✓ |
| Random & pinned subdomains | ✓ | ✓ |
| Basic Auth on endpoints | ✓ | ✓ |
| Traffic Inspector | ✓ | ✓ |
| Streaming / WebSockets / SSE | ✓ | ✓ |
| No warning interstitial | ✓ | ✓ |
| Priority support | — | ✓ |
How limits are enforced
- Concurrent tunnels count tunnels that are currently online. Stopping an agent frees its slot immediately.
- Custom domains count verified domains on your account.
- Bandwidth is metered as bytes transferred through your tunnels and resets monthly.
Check where you stand at any time:
curl https://api.osmrouter.com/v1/usage \
-H "Authorization: Bearer $OSM_TOKEN"What happens at the limit
When you reach your monthly bandwidth allowance, existing tunnels keep serving but new requests are throttled until the quota resets or you upgrade. Hitting the concurrent-tunnel cap rejects new tunnels until you free a slot.
- Tunnel limit reached — stop an idle agent to free a slot, or upgrade for unlimited concurrent tunnels.
- Bandwidth limit reached — use the Traffic Inspector to find heavy endpoints, wait for the monthly reset, or upgrade to Pro for 1 TB.
Upgrade
Upgrade from Dashboard → Settings. Billing is handled in the dashboard; the CLI, SDK, and API read your plan automatically once it changes — no token swap needed.
Self-hosting
Running the whole stack yourself removes these hosted limits entirely — you set your own. See Self-hosting.