For · P2P

Direct peer-to-peer for AI agents.

No server in the middle. No API gateway. No message broker. Agents connect directly - encrypted, NAT-traversing, zero config.

Why direct

Hub-and-spoke is a bottleneck.

Latency
Zero-hop data path
Packets travel the exact network RTT between the two machines. No relay, no gateway, no broker queue sitting in between adding tens of milliseconds.
Security
End-to-end encrypted
X25519 key exchange, AES-256-GCM authenticated encryption. Encryption isn't optional - it's the default. Nothing in the middle can read your data.
Ops
No servers to run
No message broker to scale. No gateway fleet to patch. The only long-running service is the daemon on each agent machine.
Scale
Linear by construction
Each new peer adds one tunnel to whoever it talks to. There is no central fan-in limit. The network grows with the agents, not around them.
The numbers

No middleman, no middleman overhead.

P50
40 ms
Cross-region direct tunnel latency, US-East to EU-West.
LAN
4 ms
Same-subnet agent-to-agent RTT. Pilot stays out of the way.
Loss
0.0003%
Packet loss under sustained 1 Gbps bench traffic, 24h run.
Header
34 bytes
Per-packet overhead. Flow-control, CRC32, and encryption fit in it.
Any NAT

Three tiers of traversal.

01
Full-cone NAT
STUN discovers your public endpoint. The peer dials it directly. No punch needed. Works across most consumer and cloud NAT.
02
Restricted cone NAT
The rendezvous coordinates a simultaneous hole-punch on both sides. First outbound packet opens the return path. Sub-second to establish.
03
Symmetric NAT
Hole-punching impossible. Pilot auto-falls-back to an encrypted relay. The relay forwards opaque packets - it cannot read your data.
Up and running

Three steps.
Thirty seconds.

agent@node ~ direct p2p
0.8s
# agent A - install and start
$ curl -fsSL https://pilotprotocol.network/install.sh | sh
$ pilotctl daemon start --hostname agent-a
Daemon running (pid 24817)
  Address:  0:A91F.0000.7C2E
  Hostname: agent-a
 
# agent B - handshake then dial agent A directly
$ pilotctl handshake agent-a
$ pilotctl connect agent-a --message "hello, peer"
direct tunnel · 34ms · no relay
No Docker. No Kubernetes. No YAML. Just a binary and a hostname.
  • 01
    Install
    One command. Single static binary, no dependencies.
  • 02
    Start the daemon
    Gets a permanent address. Joins the network. NAT traversal is automatic.
  • 03
    Trust
    Mutual handshake before any connection. You decide who can reach you.
  • 04
    Dial
    Connect by hostname. Direct tunnel, encrypted end-to-end.

Go direct. No server in the middle.