> 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/register-your-service-node/staking-on-pool-open-nodes.md).

# Staking on Pool (Open) Nodes

If you have less than 200,000 XEQM, you can contribute to an open node run by another operator. You'll earn a share of the rewards proportional to your stake (minus the operator's cut).

### Find pool nodes that need contributions

#### Windows (PowerShell)

{% code overflow="wrap" %}

```
$body = @{ jsonrpc="2.0"; id="0"; method="get_service_nodes" params=@{ service_node_pubkeys = @() } } | ConvertTo-Json $resp = Invoke-RestMethod -Uri "http://127.0.0.1:9231/json_rpc" ` -Method POST -ContentType "application/json" -Body $body $resp.result.service_node_states | Where-Object { $.total_contributed -lt $.staking_requirement } | Select-Object service_node_pubkey, @{n='Remaining';e={($.staking_requirement - $.total_contributed)/1e9}}, @{n='OperatorFee%';e={$.portions_for_operator/100}}, @{n='Contributors';e={$.contributors.Count}} | Format-Table -AutoSize
```

{% endcode %}

#### Linux

{% code overflow="wrap" %}

```
curl -s http://127.0.0.1:9231/json_rpc
-H 'Content-Type: application/json'
-d '{"jsonrpc":"2.0","id":"0","method":"get_service_nodes","params":{}}'
| jq -r '.result.service_node_states[] | select(.total_contributed < .staking_requirement) | [ .service_node_pubkey, ((.staking_requirement - .total_contributed) / 1e9), (.portions_for_operator / 100), (.contributors | length) ] | @tsv'
| column -t -s $'\t'
-N "Pubkey,Remaining(XEQM),OperatorFee%,Contributors"
```

{% endcode %}

You can also browse open nodes visually on the explorer: <https://explorer.xeqmlabs.com>

### Stake on a node

1. Copy the service node public key from the list above (or from the explorer).
2. Open your wallet:

{% code overflow="wrap" %}

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

{% endcode %}

3. Stake a specific amount:

{% code overflow="wrap" %}

```
[wallet XEQM9...]: stake <service_node_pubkey> 50000
```

{% endcode %}

This stakes 50,000 XEQM. You must stake at least the node's minimum-per-contributor amount — check the operator's listing.

4. Or stake a percentage of the remaining required stake:

{% code overflow="wrap" %}

```
[wallet XEQM9...]: stake <service_node_pubkey> 50%
```

{% endcode %}

5. Confirm when prompted.

### When do I get rewards?

Once the node is fully staked and activated (usually 10 blocks after the final contribution), it starts earning. Rewards are batched and paid to all contributors every 3.5 days, split proportionally minus the operator's fee.

Your stake remains locked and continues earning rewards indefinitely — the node runs until the operator or you (for your own contribution) choose to unstake. You can't withdraw a partial contribution on demand; once you initiate an unstake, your portion enters the 14-day unlock buffer before it becomes spendable.

### Risks to understand before staking

* Operator control: the node's uptime depends entirely on the operator. If they go offline, the node gets decommissioned and nobody earns during that window.
* Operator cut: listed as a percentage — the operator takes this off the top before splitting the rest.
* Lock period: your stake stays locked for as long as the node runs. Once you (or the operator, for the whole node) initiate an unstake, there is a 14-day unlock buffer before funds become spendable.
* Stake-weighted rewards: if you contribute 10% of the stake, you earn roughly 10% of the post-operator-fee reward.

Choose operators with solid reputations and consistent uptime on the explorer.

<br>
