TON Catchain 2.0 consensus QUIC Communication Port
coreThe following information applies solely to TON nodes that are actively participating in network validation. Operators of TON nodes in other modes, such as full nodes or lite servers, do not need to follow the instructions below.
Introduction
The Catchain 2.0 consensus mechanism separates the traffic required for the validation process from the normal TON network RLDP traffic. The QUIC protocol was chosen to exchange information between nodes that actively participate in the validation mechanism.
Validator nodes must open an additional UDP network port for QUIC communication. As with the classical RLDP port, all validators must be reachable from the public internet on the QUIC port. Operators who place their validator nodes behind NAT and/or firewalls must ensure that traffic to and from the QUIC port is whitelisted and transparently forwarded to the validator node.
Activation Roadmap, Deadlines, and Consequences
March 31, 2026: Rollout of v2026.03, including support for the QUIC protocol and its configuration. Please note that the protocol is not yet active and the port is not utilized.
April 7, 2026: Voting procedure for the full activation of Catchain 2.0 consensus. Following the successful voting procedure and the activation of the new consensus, the QUIC port will become active and be used by validator nodes for data exchange.
All validator nodes must configure and activate their QUIC ports by the end of the day on April 7, 2026. Validators that fail to activate the QUIC port will not be able to perform their validation duties and will endanger network stability.
Port configuration
Validator operators have four options for adjustment of QUIC port:
1) Do nothing.
Unless configured otherwise, the node will use its main RLDP port number, increased by 1000, for QUIC communication. For example, if your node used UDP port 10000, it will use UDP port 11000 for QUIC.
Please be aware that your main node port must be =< 64536 for this to function, if your main node port is above 64536 you need to adjust it or define custom QUIC port using methods outlined below.
2) Use mytonctrl.
Adjustments by the mytonctrl can be performed online without stopping the validator process.
Following the upcoming software update on April 7, you will be able to use mytonctrl to manage the QUIC port.
To set custom QUIC port use command:
set_quic_port <port_number>
To revert to default +1000 setting use command:
set_quic_port 0
3) Use the validator-engine-console.
Adjustments by the validator-engine-console can be performed online without stopping the validator process.
Switch your validator ADNL address to category 2 with the command
add-adnl <adnl_hash> 2
Where adnl_hash is the base64-encoded hash of your validator ADNL address.
Set a custom QUIC port, using the command
add-quic-addr <ip>:<port> [ 2 ] [ ]
Where ip is the public IP address of the validator and port is the custom port number.
For example:
add-quic-addr 8.8.8.8:15000 [ 2 ] [ ]
4) Manual adjustment of the node configuration file.
Manual adjustments cannot be performed online. You must stop the validator-engine process during the adjustment.
Switch your validator ADNL address to category 2
Find your validator ADNL address in the .adnl leaf of the configuration file, and set the category field to 2.
Define the QUIC listener.
Add or adjust the element within the .addrs leaf of the configuration file as follows:
{
"@type": "engine.quicAddr",
"ip": <ip_dec>,
"port": <port>,
"categories": [
2
],
"priority_categories": []
}
Where ip_dec is the public IP address of the validator in decimal format (you can copy the value from the "engine.addr" element of the .addrs array), and port is the desired port number.
Testing Network Communication
Because the QUIC protocol will be activated following the full Catchain 2.0 activation, and only once a node is actively participating in the validation process, it is not possible to test the node's functionality beforehand.
We advise testing your NAT/firewall infrastructure as follows:
On validator host
Start netcat UDP listener on desired QUIC port
nc -u -l -p <port>
Send test packet from remote host on the internet, outside of security perimiter
echo “hello QUIC” | nc -u <public_ip> <port> -w 3
If UDP packet was able to reach the validator you will see string “hello QUIC” on console of validator.