Introduction
On-chain job queue & task scheduler for Solana
IronQ reimagines Web2 distributed task queues (Celery, BullMQ, Amazon SQS) as an on-chain state machine with cryptoeconomic guarantees. Instead of relying on trusted infrastructure, jobs are posted, claimed, executed, and verified entirely through Solana program instructions — with staking, slashing, and permissionless crank rewards replacing centralized monitoring.
Program ID (Devnet): J6GjTDeKugyMhFEuTYnEbsBCVSHsPimmbHcURbJ3wtrQ
Web2 vs IronQ
| Web2 Concept | IronQ Equivalent |
|---|---|
| Message Broker (Redis/RabbitMQ) | QueueConfig PDA account |
| Job Payload | Job PDA with data_hash (off-chain data, on-chain commitment) |
| Worker Process | Wallet with Worker PDA (staked, tracked) |
| Result Backend | JobResult PDA with result_hash |
| ACK/NACK | claim_job / approve_result / dispute_result instructions |
| Dead Letter Queue | Expired status + retry counter |
| Monitoring/Alerting | Permissionless crank reclaim_expired (anyone can call) |
| Admin Dashboard | On-chain account reads + CLI |
| Trust Model | Trustless — cryptoeconomic incentives replace trust |
The key insight: Instead of trusting operators, IronQ aligns incentives with tokens. Workers stake to prove commitment, lose stake if they fail, and earn rewards when they deliver. Anyone can crank expired jobs for a reward, replacing the need for centralized monitoring infrastructure.
Use Cases
- Content Moderation — Post uploaded images as jobs. Staked workers run classifiers off-chain and submit results. Arbiter resolves edge cases.
- Off-Chain Compute — Dispatch compute tasks (option pricing, simulations) that exceed on-chain limits. Workers compute off-chain and submit proof.
- Bug Bounties / Code Review — Post review tasks with repo commit hashes. Verified auditors claim, review, and submit findings.
- Data Labeling — Post labeling tasks referencing off-chain datasets. Workers label data and submit annotations. Quality enforced via disputes.
Solana Primer
If you're coming from Web2:
- Accounts are Solana's storage primitive — each account is a small database row identified by a public key.
- Program Derived Addresses (PDAs) are deterministic account addresses computed from a program ID and seeds. This replaces database primary keys.
- SPL Tokens are Solana's token standard (like ERC-20). Token balances live in "token accounts" owned by the SPL Token program.
- Rent is a deposit required to keep an account alive. IronQ's
close_jobinstruction reclaims this deposit when a job is finished.