{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://docs.zentpay.app/runtime-manifest.schema.json",
  "title": "ZentPay Runtime Manifest",
  "type": "object",
  "required": ["appId", "slug", "payTo", "webhookPath", "inventoryPath"],
  "properties": {
    "appId": {
      "type": "string",
      "description": "ZentPay app id from Dev Console."
    },
    "slug": {
      "type": "string",
      "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$",
      "description": "Public app slug."
    },
    "payTo": {
      "type": "string",
      "pattern": "^0x[a-fA-F0-9]{40}$",
      "description": "Developer Base USDC receive address."
    },
    "runtimeOrigin": {
      "type": "string",
      "format": "uri",
      "description": "Developer Worker origin saved in Dev Console, not the apps.zentpay.app proxy URL."
    },
    "webhookPath": {
      "type": "string",
      "const": "/api/zentpay/webhook"
    },
    "inventoryPath": {
      "type": "string",
      "const": "/api/inventory"
    },
    "appPath": {
      "type": "string",
      "description": "Optional app page path under the reviewed runtime URL."
    },
    "version": {
      "type": "string"
    }
  },
  "additionalProperties": true
}
