{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "title": "TOKN manual grant request",
  "type": "object",
  "additionalProperties": false,
  "required": ["schema", "requestId", "kind", "address", "summary", "evidenceHash", "evidenceUrl"],
  "properties": {
    "schema": {"const": "tokn-claim-request/1"},
    "requestId": {"type": "string", "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"},
    "kind": {"enum": ["help", "node"]},
    "address": {"type": "string", "pattern": "^0x[0-9a-fA-F]{40}$", "description": "Nonzero receiving address. Receiving a grant needs no gas; this request does not authorize a payment."},
    "summary": {"type": "string", "minLength": 20, "maxLength": 2000},
    "evidenceHash": {"type": "string", "pattern": "^0x[0-9a-f]{64}$", "description": "SHA256 of exact reviewed evidence bytes. With no URL, hash the exact UTF8 summary."},
    "evidenceUrl": {"type": "string", "maxLength": 2048, "description": "Empty or public HTTPS URL without credentials, query, fragment, IP literal or local hostname. Intake never fetches this URL."},
    "claimSignature": {"type": "string", "pattern": "^0x[0-9a-fA-F]{130}$", "description": "Optional EIP712 TOKN Human Grant Request signature, verified only during offline curator review."},
    "claimDeadline": {"type": "integer", "minimum": 0, "description": "Optional signature deadline: current Unix seconds through seven days ahead on initial submission."}
  },
  "dependentRequired": {"claimSignature": ["claimDeadline"], "claimDeadline": ["claimSignature"]},
  "x-intake-policy": {
    "maximumBodyBytes": 8192,
    "maximumRequests": 10000,
    "maximumNewRequestsPerHour": 20,
    "maximumNewRequestsPerWalletPerDay": 2,
    "payments": "Manual curator review only; help100TOKN or node500TOKN under the existing evidence rules.",
    "retry": "Retain the same requestId and exact body on a lost response. Changed bytes with the same ID conflict.",
    "identity": "An address instruction or signature does not prove unique personhood or independent node control."
  }
}
