How to run a protocol node with system file

Ivan Staker
2 min readMay 7, 2022


Rent a server on HETZNER

There are 6 pools currently in KYVE Dashboard. Best strategy is to find a pool with the least amount of tokens needed to start. Pay attention to “Minimum staking amount” of each pool. We will focus only on “new” pools since they don’t require a big amount of $KYVE to start.

Make sure you have arweave.json on your server with a funded arweve wallet. If not, please visit , follow instructions and save the json file on your server.

So firstly, you need to download the appropriate binary with the latest tag:

Bitcoin —
Solana —
Zilliqa —

Let’s take NEAR for example. If you want a different pool, just download another binary and change kyve-near to kyve-solana, for example!

mv near-linux /usr/bin/kyve-near
sudo chmod +x /usr/bin/kyve-near

Set the variables. POOLID can be seen in the Dashboard.

POOLNAME=<name of the pool>
POOLID=<number of the pool>
MNEMONIC=<mnemonic of the validator walet>
STAKE=<your amount of stake>

Please note that stake has to be above the minimum.
Next, we will create a service file.

sudo tee <<EOF >/dev/null /etc/systemd/system/kyve-neard.service 
Description=Kyve Node
ExecStart=/usr/bin/kyve-$POOLNAME \
--poolId $POOLID \
--mnemonic "$MNEMONIC" \
--initialStake $STAKE \
--keyfile /root/arweave.json \
--network korellia \

Check that all the variables are set right

cat /etc/systemd/system/kyve-neard.service

Ok, now launch the node and see the logs.

sudo systemctl daemon-reload 
sudo systemctl enable kyve-neard
sudo systemctl restart kyve-neard
journalctl -u kyve-neard -f



Ivan Staker

Professional validator, taking part in major testnets and running mainnets.