A task is a funded bounty. The USDC you escrow on Arc is what operators are paid from, one accepted run at a time, each payout final in the block that records the run.
Definition
Scan the real tableOptional. Photograph the bench with a sheet of A4 on it and the task is measured from reality: the object starts where it really stands, and a run is scored against where its target really is. The positions go on chain in the instruction, so anyone can check them.
ArmRuns are recorded in the chosen arm’s own joints, so a corpus never mixes two machines. An SO-101 task is always one arm. The SO-101, drivable →
Object to move
The payload the operator picks up. This is the model the station loads — the preview is the asset itself, not a picture of it.
Landmark
Where it has to end up. The datum circle is placed on this, and the operator sees it in the scene.
Escrow
To escrow now0.5USDC10 runs × 0.05 USDC
Your USDCno wallet connectedreading the cap…
Before you sign
The escrow is a ceiling, not a price. A run is paid the reward scaled by its score, so only a run scoring 100.00 draws the full 0.05 USDC.
Reclaim unspent escrow after the deadline or when all slots fill. A task with a deadline can be closed by its funder once it passes or all slots fill, and closeTask returns whatever was never paid out — including the difference between the ceiling and what runs actually score. Only you, after expiry or full completion, and only once. Read the contract at /contracts.
Two signatures: a USDC approval for exactly the escrow (skipped when one already covers it), then the post. Keep extra test USDC in your wallet for gas; escrow does not cover transaction fees.
Or post it without gas
The 0.5 USDC still comes from your wallet on Arc, but you sign instead of sending: no approval and no gas. Works everywhere this app runs.
1
Read this task's noncewaiting:
ThenarProtocol.taskNonce hashes your address with every parameter of the task, so the signature below is good for exactly this task and cannot fund a different one.
2
Sign a USDC authorisationwaiting:
Your wallet signs Circle's ReceiveWithAuthorization (EIP-3009): USDC from you to the protocol, this amount, this nonce. A signature, not a transaction: no gas, nothing moves yet.
3
The relayer posts itwaiting:
Thenar's relayer calls createTaskWithAuthorization and pays the gas in USDC. The protocol pulls the escrow from your wallet in that same call, and the task is final the moment it lands.