Register an Operator
Download Subspace Node
Download Subspace Node
for your respective operating system.
For running the Operator Node on Linux, proceed directly to the next step.
- 🖼️ Windows
- 🍎macOS
- 🐧Ubuntu
Choosing the right domain
An operator needs to register on a specific domain and create a key pair to participate in bundle production. Autonomys is currently using domain 0
for the EVM domain.
More domains will be available in the future. It is possible to register an operator for each domain, but each operator will require running its own node.
Currently operators can only be registered on the Taurus network.
Any account with the minimum operator stake of 100 tAI3 can become an operator.
Create operator key
An operator needs a key pair to participate in bundle production.
To create a new operator key, run the following command:
subspace-node domain key create --base-path NODE_DATA_PATH --domain-id DOMAIN
Make sure to specify the base --base-path for the key generation, and running an operator node and make sure to replace the value in --domain-id with the domain ID you would like to be an operator on.
The operator is responsible for finding out the correct domain ID they want to operate on.
You have successfully generated an operator key, congratulations!
Be sure to record and securely store the printed seed phrase. If it is leaked or stolen, both your operator and nominator stakes could be at risk of being slashed.
The keys were generated in the subfolder of NODE_DATA_PATH under /domains/domainID/keystore
. If you don't see the generated keypair in the subfolder, something went wrong.
Start the domain operator node
The domain operator node is running with an embedded consensus node, thus you need to specify the args for both the consensus node and the domain operator node:
subspace-node [consensus-chain-args] -- [domain-args]
Currently, the domain chain does not support syncing from other operator nodes; it needs to be deterministically derived from the consensus chain block by block.
You need to wipe and sync your node from genesis block without using snap sync, since you need to sync both consensus and domain chains. You do not need to wipe any existing plots.
You can ignore setting up your_operator_id
while you're syncing your node as you won't have an operator id until you have registered your operator. Make sure to set it after syncing and registration
by replacing your_operator_id
with your operator_id obtained when registering the operator.
- 🖼️ Windows
- 🍎 macOS
- 🐧 Ubuntu
- 🐋 Docker
subspace-node run `
--chain taurus `
--name your_node_name `
--base-path NODE_DATA_PATH `
--blocks-pruning archive-canonical `
--state-pruning archive-canonical `
--sync full `
-- `
--domain-id your_domain_id `
--operator-id your_operator_id `
--blocks-pruning archive-canonical `
--state-pruning 16000
subspace-node run \
--chain taurus \
--name your_node_name \
--base-path NODE_DATA_PATH \
--blocks-pruning archive-canonical \
--state-pruning archive-canonical \
--sync full \
-- \
--domain-id your_domain_id \
--operator-id your_operator_id \
--blocks-pruning archive-canonical \
--state-pruning 16000
subspace-node run \
--chain taurus \
--name your_node_name \
--base-path NODE_DATA_PATH \
--blocks-pruning archive-canonical \
--state-pruning archive-canonical \
--sync full \
-- \
--domain-id your_domain_id \
--operator-id your_operator_id \
--blocks-pruning archive-canonical \
--state-pruning 16000
services:
node:
# Replace snapshot-DATE with the latest release (like mainnet-2025-jan-28)
image: ghcr.io/autonomys/node:snapshot-DATE
volumes:
# Instead of specifying volume (which will store data in /var/lib/docker), you can
# alternatively specify path to the directory where files will be stored, just make
# sure everyone is allowed to write there
- node-data:/var/subspace:rw
# - /path/to/subspace-node:/var/subspace:rw
ports:
# If port 30333 or 30433 is already occupied by another Substrate-based node, replace all
# occurrences of 30333 or 30433 in this file with another value
- "0.0.0.0:30333:30333/tcp"
- "0.0.0.0:30433:30433/tcp"
- "0.0.0.0:40333:40333/tcp"
restart: unless-stopped
command: [
"run",
"--chain", "taurus",
"--base-path", "/var/subspace",
"--listen-on", "0.0.0.0:30333",
"--dsn-listen-on", "/ip4/0.0.0.0/tcp/30433",
# Replace INSERT_YOUR_ID with your node ID (will be shown in telemetry)
"--name", "INSERT_YOUR_ID",
"--blocks-pruning", "archive-canonical",
"--state-pruning", "archive-canonical",
"--sync", "full",
"--",
# Replace INSERT_YOUR_DOMAIN_ID with domain ID you want to be operator on
"--domain-id", "INSERT_YOUR_DOMAIN_ID",
# Replace INSERT_YOUR_OPERATOR_ID with your operator ID once you have registered
"--operator-id", "INSERT_YOUR_OPERATOR_ID",
"--blocks-pruning", "archive-canonical",
"--state-pruning", "16000",
"--listen-on", "/ip4/0.0.0.0/tcp/40333"
]
healthcheck:
timeout: 5s
# If node setup takes longer than expected, you want to increase interval and retries number.
interval: 30s
retries: 60
volumes:
node-data:
You should see the node start successfully and begin syncing.
Register an operator on domain
It's crucial to fully sync your node before registering as an operator. Please follow the commands in the Start the domain operator node section and only register as an operator once your node is fully synced. If many operators are registered but their nodes are still syncing or offline, it can adversely affect the speed of block production in the domain. You are required to have at least 100 tSSC in order to register your operator.
Register an operator using Autonomys Staking interface
- Proceed to the staking tab on Astral and connect your wallet.
- Select the wallet you would like to connect. Subwallet, PolkadotJS, and Talisman wallets are supported.
- Enter your password to give an access to your wallet.
- Select the account you'd like to use from the dropdown menu. You can click the button in the upper left corner to see available and locked (staked) token balances for the selected account.
- While still on the
Staking
tab, selectRegister Operator
.
Make sure to specify a Minimum Nominator Stake of at least 1 tSSC.
--This will need a new image once we have the gemini text replaced with Taurus text
- Select your Domain (It will default to the Taurus EVM), Signing key, Amount to Stake, Nominator Tax, and a Minimum Nominator Stake.
Make sure to use the operator key generated on the previous Create operator key step.
- Approve the request in the pop-up window.
- Congratulations, you're now registered as an operator! While still on the
Staking
tab, selectOperators
and then Change the switch to sayMy nominations
to see your operator and get the Operator Id.
It can take up to 10 minutes for the operator to be registered and appear on the page. It may take a day before your Stake amount is displayed under Total Stake in the table. Once you have your Operator Id you can restart your operator node and include the --operator-id **OPERATOR_ID**
as a parameter.
You can view some additional actions by clicking on action
next to your operator.
You can increase your stake (Nominate), withdraw some existing stake, de-register your operator, and unlock funds.