Skip to main content

// Section 8.5 · Token

Staking (no slashing)

3 min8.5Token
// 5 of 9 · token mechanics

Operator stake. No slashing.

// 8.5 · staking · live at launch · 50,000 prlx floor per node

The only way $PRLX is staked is by an operator registering a node.

$PRLX staking is the capital a node operator locks to register a node. It is not a yield product and not a seizable bond. The stake does three things at once: it sets the node reward weight (more stake, larger share of the live stream), it raises the cost of running sybil nodes, and it acts as liveness collateral the operator has skin in. It is never slashed: the principal is returned in full on unstake.

NodeRegistryLocker is permissionless. Anyone calls registerNode(stakeAmount, hardwareTier, nodeKeyHash). There is no allowlist and no registrar. The stake floor is 50,000 $PRLX; above it the amount is variable and scales reward weight. One stake = one node, no top-up: each call mints one independent nodeId with a fixed stake, and a wallet may register unlimited nodes.

Operator identity

// the wallet IS the operator · on-chain handle for the entire lifecycle

An operator's identity in the protocol is a single Ethereum address. The same wallet is the address that calls registerNode and locks the stake, the address bound to each nodeIdin the contract, and the address that receives reward claims. Liveness heartbeats and PoE commitments are signed by a separate low-value node keypair, never the staking wallet key. There is no separate “operator account” concept beyond the wallet itself.

// REGISTER

Wallet calls registerNode(stakeAmount, hardwareTier, nodeKeyHash). No allowlist, no registrar.

// STAKE

The call locks stakeAmount (>= 50,000 $PRLX) and mints one sequential nodeId.

// AUTH

The node CLI signs heartbeats and PoE commitments with a separate low-value node key.

// CLAIM

Wallet calls claim(nodeId) anytime to pull the accrued-unclaimed reward balance.

Pseudonymous by design. The wallet identifies the operator on-chain and to the coordinator; no real name, KYC, or off-chain identity is required at the protocol level. Onboarding is permissionless from launch: there is no curated cohort and no off-site gating.

The key facts

// floor · cooldown · principal always returned

// STAKE FLOOR50,000 $PRLX

Minimum per node. Variable above it; more stake means more reward weight. Unlimited nodes per wallet.

// COOLDOWN7 days

Between requestUnstake and withdrawStake. The node is retired at requestUnstake; the principal is untouched.

// LIVE FROMLaunch

NodeRegistryLocker is live from launch. Permissionless: anyone can register a node from day one, no allowlist.

// PRINCIPALReturned in full

No slashing. There is no slash function and no slasher role. The full stake is withdrawable after the cooldown.

The 6-step lifecycle

// 8.5.1 · install to withdraw · stakes do not pool

1
// STEP 1Live from launch

Install the node CLI

Run the install script. It downloads the signed binary, verifies the SHA-256 against the published release manifest, and installs it. Bootstrap a config file with the operator wallet address and hardware declarations. The CLI uses a separate low-value node keypair for liveness, never the staking wallet key.

2
// STEP 2Live from launch

Register the node

The operator calls registerNode(stakeAmount, hardwareTier, nodeKeyHash) from the staking wallet, locking stakeAmount (>= 50,000 $PRLX). The call mints a sequential nodeId. The CLI submits a signed capability manifest matching the declared hardwareTier to the coordinator.

3
// STEP 3Live from launch

Go online

parallelix-node start --node-id <id> attaches the machine, sends signed liveness heartbeats to the coordinator, and serves dispatched ParalleliX AI inference requests whole through Ollama.

4
// STEP 4Live from launch

Earn rewards

While the node is online, OperatorStakeRewardsV2 streams to its earned(nodeId) balance every block, weighted by stake x tier (§8.6). The operator calls claim(nodeId) anytime to pull it to wei precision.

5
// STEP 5Live from launch

Request unstake

The operator calls requestUnstake(nodeId). The node moves to cooling, stops earning, and the coordinator stops dispatching to it. A 7-day cooldown starts. cancelUnstake aborts it.

6
// STEP 6Live from launch

Withdraw stake

After 7 days, the operator calls withdrawStake(nodeId). The contract returns the full principal, with no deductions, because there is no slashing. To rejoin, register a new node.

Each node has its own stake, its own cooldown, and its own accrued reward balance. Stakes do not pool. Locked stake and the reward balance live in separate contracts; the reward path never touches principal.

Caveat·Live and permissionless

The operator contracts are live and verified on Ethereum mainnet. Anyone registers a node by calling registerNode on NodeRegistryLocker with at least 50,000 $PRLX; the contract mints a sequential nodeId. While the node is online, OperatorStakeRewardsV2 streams rewards to it per-second, claimable anytime to wei precision. There is no allowlist, no curated cohort, and no slashing: the staked principal is always returned in full after the 7-day cooldown.

Deployed contracts

// ethereum mainnet · live + verified on etherscan

// NodeRegistryLocker · stake vault0x706851273c3f5892e2d68ff48dd80bea02a382b6Custodies the per-node stake (at least 50,000 $PRLX), mints the nodeId, runs the unstake / cooldown / withdraw lifecycle, and returns principal in full. No slashing.
// OperatorStakeRewardsV2 · rewards distributor0x266939a8baa29344c7687ce2b5074af6dec984e3Streams rewards per-second to online nodes by stake x tier weight. earned(nodeId) grows every block; claim(nodeId) pulls it anytime to wei precision.

What the stake is, and is not

// 8.5.2 · reward weight · sybil cost · liveness collateral · never seizable

Misbehaviour is disciplined entirely through lost earnings, not through seizure. A node that fails validation or goes offline stops accruing from the stream second by second, but its locked principal is untouched and fully withdrawable after the cooldown.

// STAKE ISDETAIL// STAKE IS NOTDETAIL
Reward weight
More stake means a larger share of the live reward stream, linearly.
Not a yield product
Holding $PRLX earns nothing. Earning needs a registered node on a real online machine.
Sybil cost
The 50,000 $PRLX floor per node raises the cost of running fake nodes.
Not seizable
There is no slash function and no slasher role. Principal is never taken.
Liveness collateral
Capital the operator has at stake against running an idle or failing node.
Not pooled
Each node has its own stake, its own cooldown, and its own accrued balance.

What this is not

// boundary clarification

// NOT DEFENDEDNo holder staking

Holding $PRLX in a wallet does not stake. The only stake in the protocol is operator collateral, accessible only to addresses running nodes.

// NOT DEFENDEDNo liquid staking / derivatives

No staking derivative tokens, no liquid staking products, no auto-compounding or rebasing wrappers exist in the protocol.

// NOT DEFENDEDNo yield from holding

$PRLX held in a wallet generates no yield, dividends, fee share, or revenue distribution. Earning requires a registered, online node.