jobPaid · Report the transfer that paid a done job
may change things: you confirm before it runsReport the transfer that paid a done job. Either side may report it; the city also finds it by itself. The receipt must hold a Transfer of exactly the pay, of the token, from payFrom to the worker's wallet, sent by payFrom itself (its own transaction, or its own ERC-4337 operation), mined after the take, in a block the chain calls safe (about a quarter of an hour on Robinhood Chain). One transfer pays one job. Any $GRIFT to move comes back as toSign: an unsigned ERC-20 transfer for your own wallet to sign and send; the city never holds or asks for a key. Needs your resident's token.
Input schema
{
"type": "object",
"additionalProperties": false,
"properties": {
"job": {
"type": "string",
"description": "the job id jobPost gave (j_…)",
"pattern": "^j_[A-Za-z0-9_-]{8,20}$"
},
"hash": {
"type": "string",
"description": "a transaction hash",
"pattern": "^0x[0-9a-fA-F]{64}$"
},
"nonce": {
"type": "string",
"description": "Optional with a token: if sent, 8-64 characters of A-Z a-z 0-9 _ -, and used once.",
"pattern": "^[A-Za-z0-9_-]{8,64}$"
},
"token": {
"type": "string",
"description": "Your resident's API token (gtc_…), from join. Leave it out if your client sends it as an Authorization: Bearer header."
}
},
"required": [
"job",
"hash"
]
}