Selinos
Resources

Glossary

Every term these pages use, defined once and in the order a reader meets them rather than alphabetically.

Funding

Treasury. Selinos’s own funds. Every HYPE credited to a node comes from here. It is not trading volume and not protocol revenue, and Selinos can reduce or stop funding at any time. There is no treasury contract; the HYPE reaches nodes through the distributor’s creditBatch calls.

Accrual. Value credited to a node’s balance over time. It is funded by Selinos from its treasury, and nothing promises a return, a rate or a payback period. See How accrual works.

Nodes and the ledger

Node. A numbered record in the factory contract, bought for 0.6 HYPE. It carries an id, an owner, a creation time, a balance and two running totals, and nothing else. Not transferable, not a token. See Node model.

Payment reference, paymentRef. The transaction hash of the plain HYPE transfer that paid for a node. It is passed to mintFor, emitted in NodeMinted, and recorded in paymentRefUsed, so one payment backs exactly one node and a second attempt reverts with RefAlreadyUsed. It is what lets anyone match a node to the payment that bought it in the explorer. See Settlement.

Payments wallet. The ordinary account that receives node payments. It is not the factory and not any contract, so purchase money never enters the contract and can never be paid out as a reward. It is the only Selinos address you ever send HYPE to; it is printed on Addresses.

Relayer. The operator key allowed to call mintFor, and nothing else. It watches for payments and creates the node, paying that gas itself. It holds no user funds and cannot touch a node balance; a leak costs unauthorised mints and gas.

Distributor. The operator key allowed to call creditBatch, and nothing else. Because that call is payable and must carry the HYPE being credited, this key holds the payout float. It cannot mint, cannot change any setting, and cannot withdraw from a node.

Chain node id. The id the contract knows, sequential from 1 and never reused. Displayed zero padded as #0001. This is the id every money path uses.

Ledger row id. The operator database’s own identifier for a node. Returned alongside the chain id, and never accepted where money moves. See Node numbering.

Active and retired. Whether a node is included in new distribution rounds. The state lives off chain and never affects your ability to withdraw what has already been credited.

Credit. Value assigned to one node in one round. A credit is an on-chain event: it raises the node’s balance and arrives with the HYPE that backs it in the same transaction.

Credit batch, creditBatch. creditBatch(ids, amounts), the payable call the distributor uses to credit many nodes at once. The contract reverts with ValueMismatch unless msg.value equals the sum of amounts, which is why a balance can never exist without the HYPE behind it. See Distribution.

Round, distribution. One pass that credits every active node, settled on chain as a single creditBatch transaction. Each round records where its money came from. See Distribution.

Mode. The name for where a round’s money came from, recorded per round and exposed in the public API. treasury means Selinos funded the round out of its own funds, which is where every round’s HYPE comes from. It is a label on the source of the HYPE, not a contract, and it changes nothing about how the credit reaches your node.

Total received. Everything ever credited to a node, held on chain as the totalReceived field of nodeInfo. It only ever increases, and withdrawing does not reduce it.

Total withdrawn. Everything ever paid out of a node, held on chain as the totalWithdrawn field of nodeInfo. Also only ever increases, and advanced before any HYPE moves.

Balance, withdrawable. What a node holds right now, stored on chain as HYPE the contract is actually sitting on. It is not a figure derived from a ledger elsewhere. A withdrawal takes all of it and sets it to zero.

Payouts

Withdraw, withdrawAll. withdraw(id, to) empties one node; withdrawAll(to) sweeps every node the caller owns. Both are called by the node owner from their own wallet, neither takes an amount, and neither can be paused. See Withdrawing.

Outstanding. outstanding, the sum of every node balance: what the contract owes holders. It rises with each credit and falls with each withdrawal, and the contract is written so it always matches the balances behind it. A fuzzed invariant checks that.

Free balance. freeBalance(), the contract’s HYPE minus outstanding: money the contract holds that belongs to no node. It is what arrives through fund() or a bare transfer, and it is the only money the owner can ever remove.

Rescue. rescue(to, amount), the owner-only call for taking unattached funds back out. Anything above freeBalance() reverts with ExceedsFree, so it cannot reach a node balance under any sequence of calls. This is the holders’ guarantee; see Security model.

Solvent. isSolvent() returns whether the contract’s HYPE still covers outstanding. Anyone can read it, without an account and without this site.

General

Wei. The smallest unit of HYPE, one quintillionth. All accounting is in wei, and every API field ending in Wei is a decimal string for that reason.

EIP-6963. The standard by which wallet extensions announce themselves individually. It is how the dashboard lists wallets under their real names instead of guessing from an injected flag.

Elysium. The network everything here runs on, chain id 99901: Kinetiq’s Layer 2 for the Hyperliquid ecosystem, built on Arbitrum Orbit. HYPE is the native currency, and Elysium settles to HyperEVM.

HYPE. The native currency of Elysium, 18 decimals, bridged 1:1 from HyperEVM. Node prices, credits, balances and gas are all paid in HYPE, with no wrapped token.

HyperEVM. The chain Elysium settles to, chain id 999. HYPE moves between the two through the Elysium canonical bridge; moving it from Elysium to HyperEVM waits out a challenge period.