All tutorials

QUIC Mode: Performance Tuning for Weak Networks

When and how to switch to QUIC for cross-border or high-packet-loss environments.

QUIC is the UDP tunnel (default port 9555). Use it when the path between the farm and the server drops packets or changes address. TCP+TLS on 8555 is the better default on a clean path, and through firewalls that block UDP.

Two different switches

They are easy to mix up.

  • client.toml [client.connection] transport: auto or quic dials QUIC first and falls back to TCP. tcp dials TCP first and falls back to QUIC. This also picks the preferred path for telemetry, updates, and the miner admin proxy.
  • Port mapping protocol: "quic" traffic for that listen port uses only the QUIC stack. "tcp" uses only TCP. The stacks are independent.
toml
[client.connection]
transport = "auto"
reconnect_interval = 5
max_reconnect_attempts = 0
heartbeat_interval = 60
heartbeat_timeout_count = 3

Make UDP actually work

  • Open 9555/udp on the server firewall. Opening only 8555/tcp leaves QUIC unable to connect, and auto mode will sit on the TCP fallback.
  • If a middlebox rewrites or drops UDP, set transport = "tcp" so the client stops preferring a path that cannot work.
  • A mapping you care about on a lossy link should use protocol "quic". A mapping that must cross a UDP-hostile firewall should use "tcp".
QUIC already has TLS 1.3. Do not expect a second frame cipher on the QUIC path. frame_encrypt_alg is the optional extra layer used with the TCP TLS tunnel, and both sides must agree.