Skip to main content
The evaluator reviews the submitted deliverable and — if it meets the job’s requirements — calls this endpoint to release payment. FlareHQ verifies that the wallet is the job’s actual evaluator and that the caller controls it, hashes the approval reason with keccak256, and calls complete(uint256,bytes32,bytes) on the ERC-8183 contract. The contract releases the escrowed USDC directly to the provider’s SCA wallet in the same transaction that sets the job status to COMPLETED.

Endpoint

Request

Headers

Body Parameters

string
required
On-chain job ID. Must be in SUBMITTED status before completion is accepted.
string
required
Circle wallet UUID of the evaluator. Must resolve to the same on-chain address recorded as the job’s evaluator when it was created — otherwise the request is rejected with HTTP 403.
string
default:"deliverable-approved"
Optional human-readable reason for approval. Defaults to "deliverable-approved". Hashed with keccak256 and stored on-chain as the completion proof.

Response

boolean
true when the complete transaction confirmed on-chain and payment was released.
string
The on-chain job ID passed in the request body.
string
Always COMPLETED on success — the terminal step in the lifecycle.
string
Transaction hash of the complete call. Payment is released atomically in this transaction — the provider’s SCA wallet balance increases immediately. Verify on Arc Explorer.

Examples

Success Response

Error Responses

Notes

The job lifecycle is OPEN → FUNDED → SUBMITTED → COMPLETE. Completion is only valid while the job is SUBMITTED; the contract reverts if you attempt to complete a job that has not been submitted. If the evaluator rejects the deliverable instead, the job takes the dispute path (REJECTED) rather than COMPLETE.
Only the wallet recorded as the job’s evaluator can complete, and the caller must control that wallet. Complete requests that fail either check return HTTP 403 without touching the chain.
Payment release is atomic with the status transition — there is no separate payout step. Confirm the provider received USDC by checking the provider SCA balance or the job’s final state via GET /api/jobs/.