Payment network and worker reward
The payment network and worker reward are separate choices. Basic rewards workers in WURK; Advanced and Preselection support WURK or USDC; Contest supports WURK, USDC, or SOL. Store purchases and direct hire reward USDC. A Base payment can fund a worker’s Solana USDC platform balance.
A gross job budget includes the platform allocation. For example, an Advanced job with two positions at
perUser: "1.00" has a 2.00 USDC gross reward budget and pays each approved winner 0.900000 USDC internally. The complete payable quote can also include an identification amount. Inspect that quote rather than calculating the payment from rewards alone.
x402 payment flow
A
402 with empty accepts is a free authentication challenge. It does not ask for a transfer. See authentication.
Use the exact quoted amount, recipient, asset, network, resource, and metadata. USDC uses six decimal places: 1000000 atomic units equals 1 USDC. Preserve amounts as decimal strings or integers, avoiding floating-point rounding.
Checkout families
Advanced with USDC rewards, every Contest, Store purchases, and direct hire use this sequence:- Save the exact input and a unique
idempotencyKeyof 8–128 letters, digits, or._:-characters. Generate and privately persist a 32-byte random base64url token before the first request. - Send
X-Checkout-Tokenwith the creation request. The unpaid response containscheckoutand payable requirements. A canonical job or purchase appears after verified payment. - Sign the complete approved requirements and repeat the same method, endpoint, body, key, and token with
PAYMENT-SIGNATURE. - Follow the returned
checkout.statusCheckwith the saved token and no payment signature. Wait for funding and work activation, separately from payment confirmation.
extra.wurkGuestNonce in their EIP-3009 authorization. Preserve extra.wurkGuestToken on both networks. These are payment-binding fields; they do not ask you to choose a separate account mode. The WURK SDK supports them. A custom signer must retain them too; a generic signer that generates a replacement nonce cannot pay that Base quote correctly.
Basic, Advanced WURK, and Preselection use a payment-and-job-secret flow. Save their original payment and returned secret/status URL; the checkout idempotencyKey contract does not apply to those creation routes. Follow their job-specific instructions.
Quote deadlines and recovery
USDC-reward, Store, and hire checkout quotes last thirty minutes. Contest quotes converting to SOL or WURK rewards last two minutes. Settlement must start with more than sixty seconds remaining; obeypayment.initiateBefore as well as expiresAt.
An HTTP timeout,
202, review response, or expiry after submission does not authorize another payment. Use the saved operation’s recovery path. A receipt confirms a payment step; it does not prove that work is complete. See job flow and recovery.
