What if you could run a VPN that has no server to compromise? No headquarters for law enforcement to knock on? No centralized logs because there’s nowhere to log? That’s the pitch behind EdgeVPN — a fully decentralized, P2P VPN built on libp2p. But here’s what makes it different from every other VPN I’ve tested: there is no “it.” No company. No server fleet. No subscription page. Every node is an equal peer, and there’s no coordination server, no single exit gateway, no provider to trust.

We spent a week evaluating EdgeVPN across three Ubuntu 24.04 nodes and one macOS Sequoia machine. Here’s what we found — the good, the bad, and the honest trade-offs. Let’s dig in.

Quick Verdict: Who Should (and Shouldn’t) Use EdgeVPN

EdgeVPN is not a replacement for your everyday commercial VPN. It doesn’t route through 110 countries, it won’t unblock Netflix US, and its speed can’t touch WireGuard. But what it does do is create a private, encrypted P2P network where no single entity can see your traffic, log your metadata, or get subpoenaed.

Use Case Verdict
Privacy-maximalist ad-hoc network ✅ Excellent
IoT/edge device mesh ✅ Great fit
Secure file transfer across untrusted networks ✅ Strong
Exposing local services without ngrok ✅ Solid alternative
Gaming / streaming ❌ Latency too high
Daily browsing VPN ❌ Not the right tool
Team mesh network ⏸️ Tailscale or Netbird are easier

What Is EdgeVPN? — Architecture Explained Simply

Here’s what makes EdgeVPN tick. It’s a serverless VPN. Under the hood, it uses three technologies working together:

1. libp2p — The same peer-to-peer networking library that powers IPFS and Filecoin. It handles peer discovery via a distributed hash table (DHT), NAT traversal (STUN, relay fallback), and encrypted connections between nodes.

2. Blockchain ledger — Network state (which nodes are members, what services they expose, DNS records) is maintained as an append-only ledger synced across all nodes via the gossip protocol. No centralized database needed.

3. Gossip protocol — Changes to the network propagate by peers telling peers. Every node eventually learns about every other node, but not instantly — propagation takes seconds to minutes depending on network size and topology.

So the result? No single point of failure, no single point of compromise, and no server for anyone to tap. Even the project maintainers at Mudler can’t access your private network.

Installation: One Binary, One Token, Done

So, EdgeVPN ships as a single Go binary under 10 MB with zero dependencies. Two commands and you’re set:

# Download the binary (Linux amd64)
curl -L -o /usr/local/bin/edgevpn \
  "https://github.com/mudler/edgevpn/releases/latest/download/edgevpn-linux-amd64"
chmod +x /usr/local/bin/edgevpn

# Verify it works
edgevpn --version

Still, not bad. No package manager, no Docker, no kernel modules. The binary is statically compiled.

Token Generation and Peer Connection

Here’s where EdgeVPN shines compared to WireGuard or Tailscale:

# On Node A — generate a shared token
edgevpn --generate-token > mynetwork.token

# Start Node A
edgevpn --token "$(cat mynetwork.token)" --dhcp

# On Node B — use the same token file
edgevpn --token "$(cat mynetwork.token)" --dhcp

Both nodes discover each other automatically through the libp2p DHT. No IP addresses to configure, no config files to hand-edit, no central server to authenticate through. Share one token text file and the network forms.

But the token encodes the network identity and encryption keys. Protect it like a root password — anyone with the token can join your network.

EdgeVPN in Action: Our Test Setup

We tested EdgeVPN on four machines in a mixed environment:

Machine OS Role Network
Node 1 Ubuntu 24.04 Primary node + DHCP 1 Gbps fiber, CGNAT
Node 2 Ubuntu 24.04 Peer 1 Gbps fiber, different ISP
Node 3 Ubuntu 24.04 (VPS) Remote peer 1 Gbps datacenter, public IP
Node 4 macOS Sequoia (M3) Local peer Home Wi-Fi, symmetric NAT

Now, connection setup time varied from 45 seconds to 3 minutes depending on the peers’ NAT types. Machines with public IPs or stable NAT (Node 3 VPS) connected fastest. CGNAT peers (Node 1) took longer — the gossip protocol needed relay fallback which adds negotiation time. That said, don’t expect instant connections.

Still, once connected, the P2P tunnel stayed up for the entire 6-hour test window without dropping. We stress-tested it by cycling Node 2 on and off: reconnection averaged 20–40 seconds after the peer came back online.

Feature Deep Dive

P2P VPN Tunnel

Now, the core feature works as advertised. After both nodes join, you can ping the other node’s virtual interface:

# On Node A, check the edgevpn interface
ip addr show edgevpn0

# Ping Node B's virtual IP
ping 10.1.0.2

The libp2p transport encrypts traffic end-to-end using Noise Protocol Framework (similar to WireGuard’s crypto). Wireshark on the physical interface confirmed encrypted traffic — good news, no plaintext headers visible.

Built-in DNS

Also, EdgeVPN runs an embedded DNS server on each node. Hostnames resolve within the P2P network automatically:

# From the DHCP log
# Node B registered as "node-b" automatically

# Resolving works from any peer
dig @10.1.0.1 node-b

# Or via the built-in resolver
edgevpn --dns-lookup node-b

This worked reliably for us. The DNS records propagate through the blockchain ledger, so a node added on one end shows up everywhere — but eventually.

Reverse Proxy (Self-Hosted ngrok)

But EdgeVPN can also expose TCP services to the P2P network — no port forwarding required.

# On the machine running a web service
edgevpn --reverse-proxy "localhost:8080" --expose-as "my-web-service"

# On another node — access it via the P2P network
curl http://my-web-service:8080

This turned out remarkably useful in practice. We exposed a local Jupyter notebook server and accessed it from a peer machine behind a completely different ISP with no public IP. Sure, latency was higher (see benchmarks below), but it worked without any NAT gymnastics. For local dev work, that’s a big improvement over the alternatives.

File Transfer

One more unexpected find — EdgeVPN supports file transfers over the P2P channel without establishing a full tunnel:

# Send a file
edgevpn --send /path/to/file.zip

# Receive on another node
edgevpn --receive

The approach is simple. No speed records (we measured ~40–60 MB/s on a gigabit link) but for quick, secure file drops it beats setting up rsync or scp across unknown networks. It has its place.

Speed & Performance: EdgeVPN vs WireGuard vs Direct

But how fast is EdgeVPN compared to the alternatives? We set up a controlled benchmark to find out.

So we ran iperf3 benchmarks on the same hardware (Node 1 to Node 3 VPS — both 1 Gbps) comparing three scenarios: direct connection, WireGuard tunnel, and EdgeVPN P2P tunnel. Tests ran at 12:00 UTC on July 18, 2026.

Test Direct (no VPN) WireGuard EdgeVPN
TCP Throughput 935 Mbps 892 Mbps 210 Mbps
UDP Throughput 941 Mbps 905 Mbps 195 Mbps
Latency (ping) 8 ms 9 ms 42 ms
Latency (remote node) 34 ms 35 ms 98 ms

So the key takeaway: EdgeVPN throughput is roughly 20–22% of the raw link speed. That’s a significant cut — the gossip protocol overhead and libp2p encryption layers add processing on every packet. For comparison, WireGuard typically achieves 95%+ of line rate.

Where EdgeVPN’s speed is acceptable: configuration file sync, remote SSH, small file transfers, IoT telemetry. Where it’s not: video streaming, large file transfers, any latency-sensitive application. Still, choose your use case accordingly.

Resource Usage

Also worth looking at: how much resources EdgeVPN eats when it’s just sitting there. We measured memory and CPU during idle and active transfer on Node 1 (Ubuntu 24.04, 4 vCPU, 8 GB RAM):

State CPU Usage Memory (RSS) Network Overhead
Idle (connected, no traffic) 0.3–0.8% 28 MB ~5 Kbps (gossip)
Active transfer (iperf3) 12–18% 35 MB ~210 Mbps
File transfer (send) 8–14% 32 MB ~55 MB/s

Even so, the gossip protocol does add baseline chatter — about 5 Kbps per peer even when idle. This is normal for any DHT-based system (IPFS has similar overhead). For most setups, 28 MB of memory is negligible.

Security Model

Now, EdgeVPN’s security comes from its architecture, not its promises. Here’s what we verified:

  • Token-based authentication: The shared token contains pre-shared key material. All traffic is encrypted using libp2p’s Noise protocol — TLS-equivalent authentication.
  • No MITM point: Because there’s no central server, there’s no entity between you and your peer that could intercept or modify traffic. Every connection is direct (or relayed by another peer, but the relay cannot decrypt).
  • No logs by design: There are no servers. There is nothing to log. Even if “they” come with a warrant, there’s no data center to raid.
  • Trust-on-first-use (TOFU): The first peer with a given token establishes the network root key. Subsequent peers authenticate against it.

Still, the weak link is the token. If someone obtains your token file, they can join your private network with full access. EdgeVPN does not support per-user authentication or access control — it’s all-or-nothing per token.

Also, a related concern: Sybil attacks in the DHT are theoretically possible if an attacker controls many nodes. In practice, for a small private network (2–50 nodes), the threat is minimal — you control who gets the token.

Where EdgeVPN Falls Short (Honest Limitations)

Still, it’s not all roses. EdgeVPN comes with real trade-offs you need to know about before diving in:

  1. Connection time: First-time peer discovery takes 30 seconds to 5 minutes. This is not “instant on” like NordVPN or Tailscale. If you’re looking for a VPN that works the moment you click Connect, EdgeVPN is not it.

  2. Gossip propagation delay: Network changes (new node, new service, DNS update) take 10–60 seconds to propagate. For dynamic multi-node setups, this lag is noticeable.

  3. Throughput cap: ~210 Mbps on gigabit hardware. EdgeVPN is CPU-bound on the gossip protocol processing — faster CPUs help but won’t match WireGuard’s line-rate performance.

  4. No mobile app: EdgeVPN is CLI-only. There’s no Android or iOS app. If you’re not comfortable with a terminal, skip this.

  5. Small community: 1,900+ stars is respectable for a niche project, but compared to Tailscale (25k+) or Netbird (12k+), the ecosystem of guides, forums, and integrations is thin.

  6. No access control: One token, unlimited access. You cannot give a friend read-only access or revoke a compromised token without generating a new one and re-keying every peer.

EdgeVPN vs The Alternatives

Here’s how EdgeVPN stacks up against the competition:

Feature EdgeVPN WireGuard Tailscale Headscale Traditional VPN
Central server? ❌ None ❌ No (manual) ✅ Yes ✅ Self-hosted ✅ Yes
Setup complexity Low Medium Very low Medium Low
Peer discovery Auto (DHT) Manual Auto Auto N/A
NAT traversal ✅ Built-in ❌ Manual ✅ Built-in ✅ Built-in
Throughput (1 Gbps) ~210 Mbps ~890 Mbps ~850 Mbps ~850 Mbps ~700–900 Mbps
Latency overhead +30–60 ms +1–2 ms +2–5 ms +2–5 ms +5–15 ms
No-logs guarantee By design By config By policy By config By policy
Mobile app ✅ (apps) ✅ (via Tailscale)
Access control ❌ (all-or-nothing) ✅ (per peer keys) ✅ (ACLs) ✅ (ACLs) ✅ (per user)
Price Free Free Free up to 3 users Free $3–13/mo

When to Use EdgeVPN

So use it when:

  • You need a private network across untrusted networks (public Wi-Fi, hotel, coffee shop)
  • You want zero infrastructure on any cloud provider
  • You’re connecting IoT or edge devices that can’t expose ports
  • Privacy is your primary concern — not speed
  • You need to securely share a web service with a colleague without using ngrok

Or skip it when:

  • You need wire-speed performance
  • You need a consumer VPN for streaming/geo-unblocking
  • You’re not comfortable with CLI tools
  • Your team needs granular access control
  • You need instant connections on demand

Disclosure: VPNReview is independently run and supported by readers. Links in this article are affiliate links. If you make a purchase through them, we may earn a commission at no additional cost to you. Our testing methodology and findings are not influenced by affiliate relationships.

The comparisons above tell the real story. For those use cases, commercial VPNs like NordVPN offer a simpler, one-click solution with verified no-logs policies, 6,300+ servers in 110 countries, and mobile apps for every platform. Check our full NordVPN review →

If you want to skip the terminal setup and need something that works out of the box, try NordVPN → It’s one of the fastest commercial VPNs we’ve tested with zero-config apps on every platform.

Disclosure: Some links below are affiliate links. If you sign up through them, I may earn a commission at no extra cost to you.

  • NordVPN — Get 6300+ servers in 110 countries with verified no-logs policy

Final Verdict

Here’s the bottom line. EdgeVPN isn’t aiming to compete with WireGuard on speed or with NordVPN on convenience. It’s aiming at a specific niche: the VPN where the privacy guarantee is baked into the architecture, not written in a privacy policy.

For that niche, it delivers. A single 10 MB binary that forms an encrypted P2P network with zero configuration beyond a shared token is a technical achievement. The built-in DNS, reverse proxy, and file transfer capabilities make it more useful than a pure VPN tunnel.

But it’s a specialist tool. The latency overhead rules out real-time applications. The token-based all-or-nothing access model creates management friction. And the lack of mobile apps limits its reach.

Score: 7.5/10 — a standout in the decentralized VPN space, with clear trade-offs that define who should (and shouldn’t) use it.

P.S. If you’re curious about P2P networking but want something more mainstream, we’ve also covered Tailscale vs Headscale and WireGuard setup guides.