Skip to main content

// Chapter 13 · Operate

Console

The Console is the operator's on-chain surface.

13 min10 sectionsOperate

Every click maps to a NodeRegistryLocker call.

// 13.0 · UI as canonical specification · nothing decorative

// Operator surface

The on-chain half of being an operator. Five surfaces. The node as the atom. There is no submitter view and no role switcher.

The Console is live at app.parallelix.io. The wallet signs stake, claim, and unstake; it does not run compute. Attaching a machine is the Node CLI's job. The two are halves of one role, not either / or. The UI may evolve; the behaviour described in §13 does not change without a corresponding update here.

Open the Consoleapp.parallelix.io

Five surfaces

// 13.2 · top-level information architecture · numbered in new-operator encounter order

// Surface register · 5 entries

  • // 01Dashboard

    Aggregate view across every node this wallet has registered.

  • // 02Register a node

    The staking flow. Hardware tier, stake amount, sign registerNode.

  • // 03My nodes

    Live per-node view: state, uptime, reward weight, accrued.

  • // 04Rewards

    Accrued and claimed rewards per node. The claim action.

  • // 05Account

    Wallet, node-key references, notification settings.

// Console · Console · dashboardOpen in console
// operator · dashboardYour nodes
3 active
nodestateuptimeweight
#4217active99.2%GPU · 2.5x
#4218active98.0%GPU · 3.0x
#4220active94.7%CPU · 1.0x
#4231idle0%
nodes online3 / 4
avg uptime97.3%
stake posted410k $PRLX
accrued reward23,515 $PRLX

Rewards accrue from the 25% Operator Rewards bucket, weighted stake x tier x uptime. Idle nodes (no compute online) earn nothing.

The dashboard aggregates every node this wallet has registered. Each row links into the per-node My Nodes view.

The atom is the node

// 13.1 · vocabulary discipline · denominates every metric

// Vocabulary

No task submission. No dispatch view. No sub-task fan-out.

The unit of interaction is the node, and every metric is denominated per node: stake, verified uptime, reward weight, accrued $PRLX. Task and sub-task vocabulary lives in the network internals, not in the operator's view.

Register a node

// 13.4 · three steps · URL changes per step · refresh-safe

// Register flow · 3 stages

  1. // 01Hardware tier

    Declare the tier the machine runs. Tier 1 to 4, 1.0x to 3.0x.

  2. // 02Stake amount

    Minimum 50,000 $PRLX, variable above the floor. One stake, one node.

  3. // 03Sign registerNode

    Single registerNode call. Console assigns the nodeId, pivots to My Nodes.

// Console · Console · registerOpen in console
// operator · stake & registerone stake = one node
  1. 01

    Hardware tier

    Declare CPU or GPU tier. The CLI verifies it.

  2. 02

    Stake amount

    Lock >= 50,000 $PRLX. Higher stake, higher weight.

  3. 03

    Sign registerNode

    registerNode(stake, tier, nodeKeyHash) -> nodeId

node #4231 registered · principal returned in full on unstake (7-day cooldown, no slashing)

The three register steps share one URL-routed page so reloads are safe and links to a specific step work.

Reward weight breakdown

// 13.5 · weight computation surfaced inline · no hidden multipliers

// Console · reward weight
┌──────────────────────────────────────────────────────────────┐
│  REWARD WEIGHT · node 4217                                  │
├──────────────────────────────────────────────────────────────┤
│  stake               100,000 PRLX                           │
│  tier_mult           tier 3              = ×2.5             │
│  status              online              = accruing         │
│  ──────────────────────────────────────────────────────────  │
│  reward_weight       stake × tier        = 250,000          │
│                                                              │
│  share of stream: weight / total online weight              │
│  earned (live):   612.4 PRLX  ▲ ticking                     │
└──────────────────────────────────────────────────────────────┘

My nodes

// 13.5 · the live per-node view · the page every other surface references

The per-node detail surface. One card per nodeId, each reading both on-chain state (stake, accrued, claimed) and live coordinator telemetry (liveness, intraday uptime). The card carries the claim control and the request-unstake control. There is no slashing: requesting unstake starts a 7-day cooldown, then returns the full principal.

// Node states · 4 entries

  • Offline// no heartbeat
  • Draining// cooldown
  • Online// heartbeat live
  • Accruing// earning

Reading the network without the UI

// 13.9 · the Console is a thin client over two sources

Everything the Console shows comes from on-chain reads of NodeRegistryLocker and OperatorStakeRewardsV2, plus the coordinator's per-node liveness. Anyone can read the same data directly over any Ethereum RPC. There is no public submitter API at launch: the coordinator's intake is internal to ParalleliX AI, and a documented, permissionless submitter API is part of the planned open marketplace, not a current surface.

// Read surface · 5 sourceson-chain + coordinator

  • CALLNodeRegistryLocker.nodes(id)

    Owner, stake, tier, nodeKeyHash, lifecycle flags

  • CALLNodeRegistryLocker.weightInputs(id)

    Owner, stake, tier, staked, inCooldown

  • CALLOperatorStakeRewardsV2.earned(id)

    Live accrued reward balance (grows per block)

  • CALLOperatorStakeRewardsV2.claim(id)

    Pull the accrued balance (wallet tx)

  • GETcoordinator liveness

    Whether a node is currently online + heartbeat history

Behaviour across surfaces

// 13.8 · cross-cutting invariants

// Invariants · 4 entries

  • // 01

    On-chain truth. Stake, accrued, and claimed balances always read from NodeRegistryLocker. The Console never invents a number the chain cannot confirm.

  • // 02

    Node vocabulary. No surface refers to tasks or sub-tasks. The atom is the node and its uptime.

  • // 03

    No slashing anywhere. No surface shows slash exposure, at-risk principal, or penalties against stake, because there are none. Misbehaviour shows only as lost uptime and reduced reward weight.

  • // 04

    Never projected. Uptime and reward figures are the actual on-chain values, never forecasts or estimates. Nothing on screen is a projection of what a node might earn.

// Where to go next · reading path