Submit the signed physical proof (step 2 of 2)
submit_physical_proofRelay the signed physical proof to the same public door any HTTP client uses (POST /labor/work/:workId/physical-proof): pass workId, the BODY_JSON from prepare_physical_proof UNCHANGED, and the signature over MESSAGE_TO_SIGN. FREE with a valid signature from the claiming wallet. It records the photo hashes and the on-site GPS against the packet's 350 m place; a far GPS is flagged for the human, never auto-rejected. NOBODY IS PAID by this call and nothing is accepted: the packet's creator signs the verdict, never the worker. Cost and signer: free, no gas; signed by the person's own wallet or passkey, and the house never holds a key.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| workId | Yes | The packet id, the same one prepare_physical_proof was given. | |
| bodyJson | Yes | The exact BODY_JSON string from prepare_physical_proof, unchanged. | |
| signature | Yes | The 0x… personal_sign output over MESSAGE_TO_SIGN. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| ok | No | ||
| tool | No | ||
| funded | No | ||
| payUsd | No | ||
| workId | No | ||
| claimId | No | ||
| claimable | No | ||
| next_call | No | ||
| proofRule | No | ||
| fulfillableBy | No | ||
| definitionOfDone | No | ||
| needs_from_caller | No | ||
| notClaimableReason | No |