Tasks for browsers

A running rig asks the coordinator for work every 5 seconds and does one task at a time. A rig gets work once it has had one share verified. Each task goes to up to three rigs (no two from the same network address), which do the job themselves and send a bytes32 answer, the same bytes the onchain job specs define.
| Job | What the browser does | Credits |
|---|---|---|
| Verify a price | Reads the 1-minute chart of the stock from the job's quote source and takes the close of the last bar at or before the minute, times 1e8. | 30 |
| Prove a hook | Sends one eth_simulateV1 request against the live v4 PoolManager at the pinned block and hashes the canonical result. | 60 |
| Label data | Runs a small zero-shot model in the tab and answers the index of the top label. | 15 |
The chain's public RPC and the quote source do not answer requests from a browser page, so a rig reaches them through the coordinator's read-only relay (POST /v1/rpc for eth_simulateV1 and block reads, GET /v1/quote for the chart), rate-limited per address. The relay passes responses through unchanged: the RPC node runs each rig's own simulation, and each rig picks the price from the raw chart itself.
The label model
Xenova/mobilebert-uncased-mnli (MobileBERT fine-tuned on MNLI, zero-shot classification), 8-bit weights of about 27 MB, loaded with transformers.js from the CDN and Hugging Face only after you press Download the model in the rig console. It runs in WebAssembly on every rig, WebGPU staying with the miner, so the scores and their argmax are the same everywhere. Until it is loaded the rig does not take label tasks.
Agreement
The task closes when at least two answers match (exact jobs) or sit within 0.50% of their lower median (the price job) and they are a majority of the answers. The rigs that agree split the task's credits; the others get nothing. A rig that cannot run a job gives the slot back and another rig takes it; a rig that does not answer within 150 seconds loses the slot. With no agreement eight minutes after it was ordered, the credits go back to whoever paid.