> ## Documentation Index
> Fetch the complete documentation index at: https://seilabs-docs-bridge-release-v6-6-3.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Node Types

> Learn about different types of Sei nodes, their purposes, commonly used ports, and systemd configuration.

There are a few node types that can be run on Sei network which serve a variety of purposes. These include:

* RPC / full nodes: these nodes are generally used for querying data or interacting with the chain. They maintain some state but not since genesis. The default settings will run RPC / full nodes.

* Archive / full Nodes: maintain full state of the blockchain from genesis. Generally requires large disks (10 TB+ minimum). To enable this type of node, set `min-retain-blocks=0` and `pruning="nothing"` in your `app.toml`.

* State Sync Nodes: provide snapshot data for other nodes to use to bootstrap onto the chain. To enable this type of node, set `enable=true` under the `[statesync]` section in config.toml.

* Validator Nodes provide security to the chain by proposing and signing blocks. To enable this type of node, set `mode=validator` in `config.toml`. Note that because Sei is proof-of-stake, you must have enough delegation to join the active set.

## Commonly Used Ports

Seid uses the following TCP ports. Toggle their settings to match your environment.

* `26656`: The default port for the P2P communication. This port is used to communicate with other nodes and must be open to join a network.
* `26657`: The default port for the RPC interface. Because this port is used for querying and sending transactions, it must be open for serving queries from `seid`.
* `1317`: The default port for interacting with the Seid API server for HTTP RESTful requests. This allows applications and services to interact with the `seid` instance through RPC.
* `9090`: The default port for gRPC communication. This is used for high-performance communication with the node.
* `8545`: The default port for EVM HTTP RPC. This port is used for Ethereum JSON-RPC calls and must be open if you want to interact with EVM-compatible applications.
* `8546`: The default port for EVM WebSocket RPC. This port provides real-time communication for EVM applications that require WebSocket connections.
* `26660`: The default port for interacting with the Prometheus database, which can be used to monitor the environment. In the default configuration, this port is not open.
* `8545`: Also the default listen address (`127.0.0.1:8545`) for the `frozen-rpc-router` binary, which proxies EVM JSON-RPC requests to a live node and one or more freeze-height-frozen nodes based on block number. It shares the standard EVM JSON-RPC port convention with the live node.

These ports are all customizable in `$HOME/.sei/config/config.toml` and `$HOME/.sei/config/app.toml`.

## Systemd File Template

```toml theme={null}
[Unit]
Description=Sei Node
After=network.target

[Service]
User=<USER>
Type=simple
ExecStart=<PATH_TO_SEID>/seid start --chain-id <Network>
Restart=always

# wait 30 seconds before restarting the service after it has failed.

RestartSec=30

# wait up to 30 seconds for the service to stop gracefully when it is being stopped.

TimeoutStopSec=30

# send the SIGINT signal (equivalent to pressing Ctrl-C) to the service process when it is being stopped

# giving it a chance to shut down gracefully.

KillSignal=SIGINT
LimitNOFILE=65535

[Install]
WantedBy=multi-user.target
```
