Sign a job contract
afg_sign_contractCounter-sign a DRAFT job as the other party (POST /v1/jobs/{job_id}/sign with an EIP-712 signature over (job_id, contract_hash)). When both parties have signed, the job becomes AGREED. Session wallet: fully automatic. Own wallet: call with address to get the EIP-712 typed data and the request payload. TEST MONEY ONLY: mock ledger, test tokens (tUSDC), no real funds.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| job_id | Yes | Job id, e.g. afg:job:01JAFG... | |
| address | No | Bring-your-own-wallet mode: your wallet address. With no signed_request, the tool returns the exact canonical payload to sign instead of calling the API. | |
| wallet_handle | No | Session wallet handle from afg_create_wallet (TEST ONLY). Omit when signing locally. | |
| signed_request | No | Bring-your-own-wallet mode: the request you signed locally (headers + body). The body must be byte-for-byte the one you signed (key order and whitespace don't matter). | |
| contract_signature | No | Own wallet: your EIP-712 signature (0x...) over the typed data |