Hyperliquid
Amplifier chain
This chain is verified by Amplifier verifiers. Before setting up this node, set up your ampd verifier.
Check the official documentation
The node setup steps below follow Hyperliquid's own documentation at the time of
writing and may be out of date. Check the official
documentation before you start. The Axelar-specific steps (connecting
the node to vald or ampd) are maintained here.
Set up your Hyperliquid Mainnet or Testnet node
Prerequisites
- Set up your Amplifier verifier
- Minimum hardware requirements:
- Memory: 32 GB RAM
- CPU: 4 CPU cores (64-bit)
- Disk: 200 GB of SSD storage
- Only Ubuntu 24.04
- For lowest latency, run the node in Tokyo, Japan.
- Official Documentation
Clone the Repository and Import key
cd $HOME
git clone https://github.com/hyperliquid-dex/node
cd node
gpg --import pub_key.ascConfiguring the node
echo '{"chain": "Mainnet"}' > visor.jsonecho '{"chain": "Testnet"}' > visor.jsonDownload the Visor binary
The visor binary spawns and manages the child node process.
curl https://binaries.hyperliquid.xyz/Mainnet/hl-visor > hl-visor && chmod a+x hl-visorcurl https://binaries.hyperliquid-testnet.xyz/Testnet/hl-visor > hl-visor && chmod a+x hl-visorConfigure the node
echo '{ "root_node_ips": [{"Ip": "1.2.3.4"}], "try_new_peers": true, "chain": "Mainnet" }' > override_gossip_config.jsonecho '{ "root_node_ips": [{"Ip": "1.2.3.4"}], "try_new_peers": true, "chain": "Testnet" }' > override_gossip_config.jsonFor faster bootstrapping, use a known reliable peer. Can be found here.
Note: If you don't find peers for testnet, you can still start the node, but it may take some time to bootstrap.
Start the node
sudo tee <<EOF >/dev/null /etc/systemd/system/hyperliquid.service
[Unit]
Description=Hyperliquid Node
After=network.target
[Service]
Type=simple
User=$USER
ExecStart=$HOME/hl-visor run-non-validator --serve-eth-rpc
Restart=on-failure
[Install]
WantedBy=multi-user.target
EOFTo enable and start the service:
sudo systemctl daemon-reload
sudo systemctl start hyperliquid
sudo systemctl enable hyperliquidTo check the status of the running service or to follow the logs, you can use:
sudo systemctl status hyperliquid
sudo journalctl -u hyperliquid -fAfter a few minutes, you should see lines that look like this. This means your node has started syncing with the network and is receiving blocks.
2025-05-26T06:59:33.774Z WARN >>> hl-node @@ applied block 607619100
2025-05-26T06:59:35.240Z WARN >>> hl-node @@ applied block 607619200
2025-05-26T06:59:36.233Z WARN >>> hl-node @@ applied block 607619300
2025-05-26T06:59:38.395Z WARN >>> hl-node @@ applied block 607619400
2025-05-26T06:59:39.407Z WARN >>> hl-node @@ applied block 607619500
2025-05-26T06:59:40.688Z WARN >>> hl-node @@ applied block 607619600Note: The network can generate up to 100 GB of data per day, so it is strongly recommended to archive or delete old files regularly.
For more details, refer to the official documentation.
To manage storage more efficiently, you can use the following flag:
$HOME/hl-visor run-non-validator --serve-eth-rpc --replica-cmds-style recent-actionsThis will automatically retain only the latest two height files, deleting older ones as new data is added. Itβs a simple and effective way to reduce disk usage without manual intervention.
Check latest block height
To retrieve the latest block height:
curl -X POST --header 'Content-Type: application/json' \
--data '{"jsonrpc":"2.0","method":"eth_getBlockByNumber","params":["latest",false],"id":1}' \
http://localhost:3001/evmNote: Port 3001 may take few moments to become available after the service has started.
Configure ampd
This assumes you have set up ampd as per Become an Amplifier verifier.
Add the chain to your ampd config (~/.ampd/config.toml):
[[grpc.blockchain_service.chains]]
chain_name="hyperliquid"
voting_verifier="axelar1n64vk7l3zagh2eadkuhl7602lxluu86dn9smfxyp7c2e4v8pqj5sv4ypjr"
multisig_prover="axelar1fxd8rq5j6wluyc07vl9vqr4xmdxxm25l2gd6m2an20mn5fdnzy6qll2nxx"
multisig="axelar14a4ar5jh7ue4wg28jwsspf23r8k68j7g5d6d3fsttrhp42ajn4xq6zayy5"[[grpc.blockchain_service.chains]]
chain_name="hyperliquid"
voting_verifier="axelar1n64vk7l3zagh2eadkuhl7602lxluu86dn9smfxyp7c2e4v8pqj5sv4ypjr"
multisig_prover="axelar1fxd8rq5j6wluyc07vl9vqr4xmdxxm25l2gd6m2an20mn5fdnzy6qll2nxx"
multisig="axelar14a4ar5jh7ue4wg28jwsspf23r8k68j7g5d6d3fsttrhp42ajn4xq6zayy5"Create a config directory for the evm-handler, pointing it at your node:
ampd_url = "http://127.0.0.1:9090"
chain_name = "hyperliquid"rpc_url = "<your node's RPC URL>"
finalization = "RPCFinalizedBlock"Start the handler:
evm-handler --config-dir ~/.ampd/hyperliquid/See Set up handlers for running handlers with Docker or as services.
Register chain support
Once the handler is running, register your verifier's support for the chain:
ampd register-chain-support amplifier hyperliquid