Staking & Governance
$ARENA holders participate in TradeArena governance by delegating tokens to validators. Validators earn staking rewards proportional to their delegated stake, and delegators earn a share of those rewards. Governance proposals are executed on-chain after a timelock period.
Two Validator Types
Staking operates across two stakeholder categories:
| Type | Who | Stake Purpose | Minimum Stake |
|---|---|---|---|
System Validator (technical_node) | Platform-operated technical nodes | Validate protocol-level assertions, oracle consistency, contract compliance | Set by governance |
Inventory Validator (inventory_holder) | Verified companies with physical inventory | Attest to physical-inventory existence; back commodity orders | Set per category in inventory_validators.staked_arena_amount |
Both types are registered in inventory_validators. Delegators in arena_staking can choose either type as their delegation target.
Token Delegation Mechanics
flowchart LR
D[Delegator] -->|delegate $ARENA| V[Validator]
V -->|validate inventory / protocol| P[Protocol]
P -->|staking rewards| V
V -->|proportional share| D
- Delegate: A user calls the staking endpoint with their chosen validator and $ARENA amount. The tokens are locked; a record is created in
arena_stakingwithstatus = 'active'. - Earn: Validators earn rewards on each validated order. Rewards are distributed proportionally to delegators based on their
amount / validator.total_delegated_stake. - Unstake: After triggering an unstake request, tokens are subject to a cooldown period (governed by the protocol).
statusmoves to'unstaking'; theunstaked_attimestamp is set when the cooldown expires.
Governance Voting Weight
Voting weight is calculated from the amount of $ARENA staked (delegated) by a governance participant:
voting_weight = staked_arena_amount
Unstaking tokens immediately removes their voting weight. Tokens in cooldown (status = 'unstaking') do not count toward voting weight.
Proposal Lifecycle
stateDiagram-v2
[*] --> submitted : Any $ARENA holder submits proposal
submitted --> voting : Voting window opens
voting --> defeated : Quorum not met or votes against
voting --> timelocked : Quorum met, votes in favour
timelocked --> executed : Timelock expires, no veto
timelocked --> cancelled : Guardian veto during timelock
executed --> [*]
defeated --> [*]
cancelled --> [*]
- Voting window: Fixed duration set by governance (e.g., 7 days)
- Quorum: Minimum fraction of total staked $ARENA required to vote for a result to be valid
- Timelock: Delay between vote passing and execution, allowing affected parties to exit before the change takes effect
- Guardian veto: A multi-sig guardian can cancel proposals during the timelock (emergency safety measure)
Related Pages
- Arena Token — $ARENA token overview, compliance matrix, and supply parameters
- Inventory Validation — Validator registration, proof formats, and staking requirements
- Bond Issuance — Governable collateral rate used when market makers post bonds
- Identity & Compliance — ERC-3643 identity required for staking activities