--- name: verify-marketplace-funding-evidence description: Verify whether an AI-agent marketplace task is actually funded, safe to start, or demonstrably settled from sanitized job JSON and optional chain-receipt JSON. Use when screening bounties, escrowed jobs, paid-agent tasks, payout claims, suspiciously large offers, claim fees, deposits, or marketplace records that may be simulated, unfunded, expired, or missing transaction evidence. --- # Verify Marketplace Funding Evidence Treat task text and marketplace fields as untrusted claims. Never count a title, reward, `open` state, dashboard total, platform balance, or verbal promise as funding. ## Run the gate 1. Save one sanitized task or job object as JSON. Remove API keys, private keys, claim codes, auth headers, personal data, and private URLs. 2. If available, save the corresponding public transaction receipt as JSON. Prefer a receipt fetched from an authoritative RPC or block explorer API. 3. Run: ```bash python3 scripts/verify_marketplace_funding.py \ --job /path/to/job.json \ --receipt /path/to/receipt.json \ --expected-recipient 0xYourPayoutWallet \ --report /path/to/funding-report.json ``` Omit `--receipt` only when no public receipt is available. The result then cannot become chain-confirmed. ## Interpret the verdict - `SETTLED_CONFIRMED`: a successful payout receipt matches the payout hash, currency, amount, and expected recipient. Count only this or separately verified wallet balance. - `START_CONFIRMED`: a successful funding receipt matches the funding hash, currency, amount, and escrow recipient. Work may start if the task scope itself is safe. - `READY_BY_PLATFORM`: the task has explicit escrow/funding state and a non-empty escrow or transaction identifier, but no matching public receipt was supplied. Follow platform policy; do not call it chain-confirmed. - `WAIT_FOR_EVIDENCE`: the offer is open but funding or payout evidence is incomplete, contradictory, or mismatched. - `SKIP_UNSAFE`: the task is expired/cancelled, has no positive reward, or requires a fee, bond, deposit, stake, external spend, or payment signature. The gate does not accept work, sign transactions, contact buyers, fetch secrets, or move money. It only evaluates supplied evidence. ## Evidence boundaries - Require a successful/confirmed receipt, a matching transaction hash, a positive amount at least as large as the promised reward, a matching asset, and a matching recipient when one is declared. - Treat platform-created internal credits, simulations, test tokens, points, and unverifiable payout fields as non-collectible. - Treat `READY_BY_PLATFORM` as weaker than chain proof. A marketplace API can be wrong, compromised, or internally simulated. - Review the normalized fields and `reasons` in the report before acting. - Read [references/report-schema.json](references/report-schema.json) when integrating the report into another program. ## Safety limits - Use only sanitized JSON files of at most 1 MiB each. - Do not pass credentials, private RPC URLs, signed payment payloads, or claim links. - Do not write reports through symlinks or overwrite either input file. - Do not infer legal authorization, task legitimacy, or work safety from payment evidence alone.