Portwarp
portwarp.com · Egress and tunnels · 1 record · JSON
Portwarp Egress and tunnels
caveatemailno cardDper-ip-shaping
| Free tier | 1 active tunnel, 2 extra ports per tunnel, TCP and UDP support, Unlimited bandwidth unit unlimited; metered on downloaded-bytes |
|---|---|
| Price | USD 0 |
| Per-object cap | not applicable |
| Retention | not applicable |
| Egress | Unlimited bandwidth, stated for every plan: 'Every plan includes TCP, UDP, encrypted tunnels, and unlimited bandwidth.' No rate, meter or tolerated tolerance is published.; ingress: udp free_allowance: none published |
| Identity | email a free account with browser device-code approval: 'Create an account in 30 seconds. No credit card.' https://portwarp.com/ ; 'The CLI opens a browser approval flow and displays a short code.' https://portwarp.com/docs/cli/quickstart |
| Limits |
|
| Binding | per-ip-shaping Nothing countable is published, so no quota can be designed against. At 1 TiB/month the thing that fails is an unpublished per-relay tolerance, and the free plan's second limiter is structural rather than a byte count: one active tunnel. Auto-reconnect is listed only under PRO, so a free tunnel that drops is re-established by the operator and not by the client. |
| Interface | cli pwrp login, pwrp tunnels, pwrp connect |
| Tooling | pwrp CLI, Portwarp Desktop, Docker |
| Composes with | one free UDP port is exactly one WireGuard endpoint: run wg-quick on the origin, point a free VM or a second tunnel at it, and the relay carries the datagrams |
| Reliability | auto-reconnect is a PRO feature, so a free tunnel that drops stays down until the client is restarted; 'unlimited' is a marketing word with no rate behind it |
| Notes | The strongest free-tier UDP candidate found that is not a game-preset tunnel: UDP is in the base plan, the port is configured rather than allocated, and the allowance is stated as unlimited. Not measured. The free tier's one-tunnel cap is a plan limit outside the constraint vocabulary and lives in binding_note. Re-read 2026-10-23: PRO adds 90-day traffic history and connection insights, so the edge counts bytes even though every plan is sold as unlimited. |
| Evidence rung | documented Raise to measured by running the CLI on a free account, holding a UDP port, reconnecting, and confirming the public port is unchanged after a restart; then pushing a counted byte volume through it for an hour and reading the transfer counter. |
| Checked | 2026-10-23 (live); stale on 2026-11-22 |
| Parsed numbers |
|
Evidence (5)
| date | source | what it proved |
|---|---|---|
| 2026-10-23 | portwarp.com/pricing | free plan is 1 active tunnel with TCP and UDP support and unlimited bandwidth; PRO is USD 2.99/month with 32 tunnels |
| 2026-10-23 | portwarp.com/docs/cli/quickstart | the tunnel's public port is listed as a stored property of the tunnel, not a per-session allocation; login is a browser device-code flow |
| 2026-10-23 | portwarp.com/docs/cli | 'The CLI supports TCP, UDP, and tunnels that use both protocols. It only makes outbound connections' |
| 2026-10-23 | portwarp.com/ | 'Native UDP & TCP Tunneling' and a LOCAL PORT 27015 to TUNNEL PORT 27015 mapping, plus 'No credit card' |
| 2026-10-23 | probe:https://portwarp.com/ tcp:443 | portwarp.com:443 accepts a TCP connection from this host and the pricing page returns HTTP 200 through the broker |
More fields (7)
{
"wg_path": "inside-udp",
"wg_detail": "UDP is a native free-tier protocol and the public port is a property of the tunnel configured in the dashboard, not an allocation made at connect time: 'The list shows a number, name, protocol, local port, public port, and current state for each tunnel.' https://portwarp.com/docs/cli/quickstart",
"ingress": "udp",
"volume_tib_month": null,
"volume_stated": "Unlimited bandwidth, stated for every plan: 'Every plan includes TCP, UDP, encrypted tunnels, and unlimited bandwidth.' No rate, meter or tolerated tolerance is published.",
"bytes_transit": "yes",
"transit_note": "the anycast edge carries the datagrams; the operator's POP is the single point of failure"
}Unknown or withheld values (2)
$.per_object_cap.statednot-applicable$.retention.statednot-applicable