Connect to Mainnet or Devnet
Use this guide to connect a node to either network and verify connectivity.
If you're using Ubuntu or Debian, first follow the installation guide, then return to this page for node startup.
Standalone node
Start
Note: A known issue exists with the Hetzner hosting provider. If you are using Hetzner, follow the Networking troubleshooting guidance before starting a node.
- Mainnet
- Devnet
mina daemon --peer-list-url https://bootnodes.minaprotocol.com/networks/mainnet.txt
Devnet is for testing and experimentation. MINA on Devnet has no real value.
mina daemon --peer-list-url https://bootnodes.minaprotocol.com/networks/devnet.txt
Stop
In a new terminal, run:
mina client stop-daemon
Running mina node as a service
Configure your node to keep running after logout and restart on reboot.
Start the service
- Systemd
- Docker
Create ~/.mina-env and set options as needed:
MINA_PRIVKEY_PASS="My_V3ry_S3cure_Password"
LOG_LEVEL=Info
FILE_LOG_LEVEL=Debug
Start and enable the service:
systemctl --user daemon-reload
systemctl --user start mina
systemctl --user enable mina
sudo loginctl enable-linger
Prepare directories:
cd ~
mkdir -p ~/.mina-config
Create ~/.mina-env:
- Mainnet
- Devnet
export MINA_PRIVKEY_PASS="My_V3ry_S3cure_Password"
LOG_LEVEL=Info
FILE_LOG_LEVEL=Debug
PEER_LIST_URL=https://bootnodes.minaprotocol.com/networks/mainnet.txt
export MINA_PRIVKEY_PASS="My_V3ry_S3cure_Password"
LOG_LEVEL=Info
FILE_LOG_LEVEL=Debug
PEER_LIST_URL=https://bootnodes.minaprotocol.com/networks/devnet.txt
Run the container:
- Mainnet
- Devnet
docker run --name mina-node -d \
-p 8302:8302 \
--restart=always \
-v $(pwd)/.mina-env:/entrypoint.d/mina-env:ro \
-v $(pwd)/keys:/keys:ro \
-v $(pwd)/.mina-config:/root/.mina-config \
minaprotocol/mina-daemon:3.3.0-8c0c2e6-bullseye-mainnet \
daemon
docker run --name mina-node -d \
-p 8302:8302 \
--restart=always \
-v $(pwd)/.mina-env:/entrypoint.d/mina-env:ro \
-v $(pwd)/keys:/keys:ro \
-v $(pwd)/.mina-config:/root/.mina-config \
gcr.io/o1labs-192920/mina-daemon:3.3.0-alpha1-6929a7e-bullseye-devnet \
daemon
Stop the service
- Systemd
- Docker
systemctl --user stop mina
docker stop mina-node
Monitor the mina client status
- Native/Systemd
- Docker
mina client status
docker exec -it mina-node mina client status
On first bootstrap, expect the following timeline:
| Time after start | Expected status |
|---|---|
| 0 – ~5 min | mina client status may fail to connect while the daemon initializes |
| ~5 – ~25 min | Sync Status: Bootstrap then Sync Status: Catchup |
| ~30 min | Sync Status: Synced |
Subsequent restarts sync faster when the on-disk cache in ~/.mina-config is preserved. For Docker, ensure /root/.mina-config is mounted to a persistent host volume.
Step up your game
Once synced, continue with Sending a Payment and Staking and Snarking.