Ports used by the Radix Node

Introduction

The Radix setup handles allocating ports during the node installation. If you are running on a cloud service, or your own secured server, then you need to ensure the required ports are open and available for use.

Ports used for the Radix Node

port number name node type public description

30000

Gossip port

full, validator, archive

yes

This is the port used by the nodes to communicate, so should always be available.

3333

Node HTTP REST endpoints

full, validator, archive

no

With the node REST API you can control some sensitive operations on the node, so this should be protected and not accessible by anyone that does not have node management privileges.

8080

Radix Node API endpoints

archive

yes

If you decide to run an archive node, then this port needs to be accessible publicly.

Nginx Ports

In order to protect the node we use Nginx to provide URLs that don’t expose the node services directly. A well as hiding the node endpoints, the Nginx provides three other functions:

  1. It adds basic authentication to the endpoints that should only be available to node administrators/managers.

  2. Provides rate limiting to provide a basic mechanism for Denial-of-Service protection

  3. Basic request caching

nginx port number nginx endpoint maps to Radix node port:

443

/archive

8080

/construction

8080

/system

3333

/health

3333

/account

3333

/validation

3333

/metrics

3333

/version

3333

30000

30000

Endpoint usage

Each endpoint serves a different function (or group of functions) which are assigned different usernames and passwords for access. This allows you to secure the critical node functions while allowing a lower level of security for functions that can be publicly accessible:

Table 1. Radix Node API endpoints
Endpoint Purpose Node types User

/archive

Used for retrieving general ledger state information about accounts, transactions, tokens, validators, stakes and more. Useful for explorers, dashboards, and general ledger state lookup

archive

[public]

/construction

Used for constructing, signing, and submitting transactions to the network for an arbitrary Radix account. Most commonly used for wallets and similar functionality

archive

[public]

/validation

For validator node-runners, provides information relevant to validator status and epochs

validator

admin

/account

Provides information about the node’s own internal "wallet" account, as well as ability to submit transactions from this account

full validator archive

superadmin

/health

Provides the node-runner with a convenient snapshot of the node’s operating status

full validator archive

admin

/system

Provides a variety of detailed information about the network and its nodes

full validator archive

admin

/version

Provides the node’s current software version

full validator archive

admin

/metrics

Provides node and network operation metrics data in the Prometheus text format

full validator archive

metrics

You can find a full specification for the API on our Postman site