IRONQ

Worker

Tracks a registered worker's state and statistics

The Worker account represents a registered worker in a queue.

Seeds: ["worker", queue, wallet] — one registration per worker per queue.

Fields

FieldTypeDescription
queuePubkeyParent queue
walletPubkeyWorker's signing wallet
stake_amountu64Tokens currently staked
jobs_completedu32Lifetime successful completions
jobs_failedu32Lifetime failures (slashes)
total_earnedu64Lifetime reward earnings
active_jobsu8Currently held jobs
max_concurrent_jobsu8Hard cap (snapshotted from queue config)
is_activeboolActive flag
registered_ati64Unix timestamp

Notes

  • max_concurrent_jobs is copied from the queue's config at registration time. If the admin later changes the queue's max_concurrent_jobs, existing workers keep their original value. New workers get the updated value.
  • A worker cannot deregister while active_jobs > 0. All held jobs must complete or expire first.
  • Workers can increase_stake at any time to add more tokens.
  • stake_amount decreases when the worker is slashed (via reclaim_expired or resolve_dispute where worker loses).

On this page