Port Reference
MainNet Ports
| Chain | Protocol | Port | Purpose |
|---|---|---|---|
| ELA | TCP | 20333 | Node info (HttpInfoPort) |
| ELA | TCP | 20334 | REST API |
| ELA | TCP | 20335 | WebSocket |
| ELA | TCP | 20336 | JSON-RPC |
| ELA | TCP | 20338 | P2P |
| ELA | TCP | 20339 | BPoS consensus |
| ESC | UDP | 20630 | Bootnode discovery |
| ESC | TCP | 20632 | Oracle RPC / WebSocket |
| ESC | TCP | 20636 | JSON-RPC (HTTP) |
| ESC | TCP+UDP | 20638 | P2P |
| ESC | TCP | 20639 | PBFT consensus |
| EID | UDP | 20640 | Bootnode discovery |
| EID | TCP | 20642 | Oracle RPC / WebSocket |
| EID | TCP | 20646 | JSON-RPC (HTTP) |
| EID | TCP+UDP | 20648 | P2P |
| EID | TCP | 20649 | PBFT consensus |
| PG | TCP | 20672 | Oracle RPC / WebSocket |
| PG | TCP | 20676 | JSON-RPC (HTTP) |
| PG | TCP+UDP | 20678 | P2P |
| PG | TCP | 20679 | PBFT consensus |
| Arbiter | TCP | 20536 | JSON-RPC |
| Arbiter | TCP | 20538 | REST API / P2P |
TestNet Ports
TestNet uses the 21xxx port range instead of 20xxx. Replace the leading 20 with 21 for all ports above.
Example: ELA JSON-RPC is 21336 on TestNet instead of 20336.
Firewall Rules
Minimal (ELA full node only):
# P2P is required — without it, your node cannot participate in the network
sudo ufw allow 20338/tcp comment "ELA P2P"
# BPoS port — required if you are a registered supernode
sudo ufw allow 20339/tcp comment "ELA BPoS"
# Deny RPC from external access (it should only be accessed locally)
sudo ufw deny 20336/tcp comment "ELA RPC - local only"
Full supernode:
# ELA
sudo ufw allow 20338/tcp comment "ELA P2P"
sudo ufw allow 20339/tcp comment "ELA BPoS"
# ESC
sudo ufw allow 20638/tcp comment "ESC P2P TCP"
sudo ufw allow 20638/udp comment "ESC P2P UDP"
sudo ufw allow 20639/tcp comment "ESC PBFT"
# EID
sudo ufw allow 20648/tcp comment "EID P2P TCP"
sudo ufw allow 20648/udp comment "EID P2P UDP"
sudo ufw allow 20649/tcp comment "EID PBFT"
# PG
sudo ufw allow 20678/tcp comment "PG P2P TCP"
sudo ufw allow 20678/udp comment "PG P2P UDP"
sudo ufw allow 20679/tcp comment "PG PBFT"
# Enable firewall
sudo ufw enable
Port Purpose Reference
| Port Type | Purpose | Must Be Public? |
|---|---|---|
| P2P | Peer-to-peer block/transaction propagation | Yes: required for network participation |
| BPoS/PBFT | Consensus protocol messages between supernodes | Yes: required for block production |
| JSON-RPC | API access for queries and transactions | No: keep behind firewall or reverse proxy |
| REST | Alternative API format (ELA main chain) | No: keep behind firewall |
| WebSocket | Subscription-based API (ESC/EID) | No: keep behind firewall or reverse proxy |
| Oracle | Cross-chain bridge communication | No: internal only (loopback) |
| Bootnode | Initial peer discovery (UDP) | Only if running a bootnode |