{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/grokzilla-shop/json-schema/grokzilla-shop-erc20-meta-request-schema.json",
  "title": "Erc20MetaRequest",
  "x-generated": "2026-10-30",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/grokzilla-shop-openapi.json#/components/schemas/Erc20MetaRequest",
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "token": {
      "type": "string",
      "pattern": "^0x[0-9a-fA-F]{40}$",
      "description": "ERC-20 contract address"
    },
    "chain": {
      "type": "string",
      "enum": [
        "base",
        "ethereum"
      ],
      "default": "base"
    },
    "holder": {
      "type": "string",
      "pattern": "^0x[0-9a-fA-F]{40}$",
      "description": "Optional holder for balanceOf"
    },
    "request_id": {
      "type": "string",
      "minLength": 1,
      "maxLength": 64,
      "pattern": "^[A-Za-z0-9._:-]+$",
      "description": "Optional idempotency key. Echoed back; a credit-pack redemption with the same request_id and body is charged once."
    }
  },
  "required": [
    "token"
  ]
}