> For the complete documentation index, see [llms.txt](https://xeqmlabs.gitbook.io/docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://xeqmlabs.gitbook.io/docs/documentation/guides/mainnet/testnet/get-your-service-node-registration-command.md).

# Get Your Service Node Registration Command

There are two ways to generate your registration command. Most operators should use Method A — it's interactive and walks you through the choices.

### Method A: Interactive (recommended)

Open your wallet:

{% hint style="info" %}
Change WALLETNAME and MYPASSWORD below
{% endhint %}

{% code overflow="wrap" %}

```
docker exec -it sn01 /usr/local/bin/xeqm-wallet --wallet-file=/data/WALLETNAME --password=MYPASSWORD --daemon-address=127.0.0.1:9231
```

{% endcode %}

Then run:

{% code overflow="wrap" %}

```
prepare_registration
```

{% endcode %}

The wallet will ask you:

1. "Do you want to reserve portions of the stake for other contributors?"

* no if running a solo node (you stake the full 200,000 XEQM yourself)
* yes if running an open node where others contribute

2. "Operator cut (%)" — the percentage of rewards you take off the top before splitting the rest with contributors. For a solo node this doesn't matter; for an open node, typical values are 10–20%.
3. "Amount to reserve" — how much of the 200,000 XEQM you're contributing as operator. Minimum is 100,000 XEQM (50%).
4. "Autostake?" — yes to automatically re-register when the stake unlocks at end of term.

At the end, it prints a long command starting with register\_service\_node. Copy this entire line.

Then type exit to close the wallet — you'll paste the command back into the wallet in the next step.

### Method B: JSON-RPC (advanced)

Requires wallet RPC running (previous page).

#### Windows (PowerShell)

{% code overflow="wrap" %}

```
$body = @{
    jsonrpc = "2.0"
    id = "0"
    method = "prepare_registration"
    params = @{
      operator_cut = "10"
      contributions = @(
        @{
          address = "YOUR_MAINNET_ADDRESS"
          amount = 200000000000000
        }
      )
      staking_requirement = 200000000000000
    }
  } | ConvertTo-Json -Depth 5

  Invoke-RestMethod -Uri "http://127.0.0.1:9234/json_rpc" `
    -Method POST `
    -ContentType "application/json" `
    -Body $body
```

{% endcode %}

#### Linux

{% code overflow="wrap" %}

```
curl -s http://127.0.0.1:9234/json_rpc \
    -H 'Content-Type: application/json' \
    -d '{
      "jsonrpc": "2.0",
      "id": "0",
      "method": "prepare_registration",
      "params": {
        "operator_cut": "10",
        "contributions": [
          {
            "address": "YOUR_MAINNET_ADDRESS",
            "amount": 200000000000000
          }
        ],
        "staking_requirement": 200000000000000
      }
    }' | jq
```

{% endcode %}

### About the numbers

* Staking requirement (atomic units): 200000000000000 = 200,000 XEQM × 10⁹
* Minimum operator contribution: 100000000000000 = 100,000 XEQM × 10⁹
* Operator cut: percentage × 100 (e.g., 1000 = 10%, 2500 = 25%)

<br>
