Skip to main content
All endpoints return JSON except POST /prepare, which receives multipart/form-data and returns JSON. Error responses use this shape:

1. GET /market-config

Reads runtime configuration for the worker.
Use this response to choose the chain, validate images, display required funding, and know which contracts the returned transaction plan will target. Important fields:

2. POST /prepare-auth

Creates a short-lived EIP-712 challenge for the exact payload hash.
Response:
When signing, include chainId in the EIP-712 domain:

3. POST /prepare

Validates the signed payload, processes images, uploads draft metadata to Irys, checks for existing initialized questions, and starts background preparation. Required multipart fields:
Accepted response:
After this response, poll GET /pending until request.prepared.txPlan is available.

4. GET /pending

Returns a resumable request by requestId or the latest resumable request for a creator.
Query parameters: Prepared response shape:
Send each txPlan item from the creator wallet:

5. POST /tx-confirm

Persists transaction hashes so the flow can resume. This endpoint checks that transaction IDs belong to the saved plan. Final validation of sender, target, calldata, value, and receipt happens during POST /finalize.
Response:

6. POST /finalize

Starts or resumes finalization. Send all hashes you have, including hashes already confirmed through POST /tx-confirm.
Possible responses:
When the status is metadata_update_pending, execute every item in metadataUpdateTxPlan, call POST /tx-confirm with the new hashes, then call POST /finalize again. Final response:

Optional Health Check

GET / returns "OK" when the worker is reachable.