{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://weverlabs.com/schemas/provider-activation-binding.schema.json",
  "title": "Provider Activation Binding",
  "description": "Binds a provider confirmation to Wever Labs OS runtime records, credit funding, settlement receipt issuance, and downstream task eligibility.",
  "type": "object",
  "required": [
    "activation_id",
    "provider_id",
    "route_id",
    "settlement_id",
    "confirmation_id",
    "credit_entitlement_id",
    "runtime_record_id",
    "activation_state",
    "activated_at"
  ],
  "additionalProperties": true,
  "properties": {
    "activation_id": {
      "type": "string"
    },
    "provider_id": {
      "type": "string",
      "examples": [
        "stripe_stablecoin",
        "x402",
        "circle_usdc",
        "manual_invoice"
      ]
    },
    "route_id": {
      "type": "string"
    },
    "settlement_id": {
      "type": "string"
    },
    "confirmation_id": {
      "type": "string"
    },
    "credit_entitlement_id": {
      "type": "string"
    },
    "agent_id": {
      "type": "string"
    },
    "task_token": {
      "type": "string"
    },
    "run_contract_id": {
      "type": "string"
    },
    "runtime_record_id": {
      "type": "string"
    },
    "activation_state": {
      "type": "string",
      "enum": [
        "confirmation_received",
        "verified",
        "credits_funded",
        "settlement_receipt_issued",
        "run_eligible",
        "activation_failed",
        "manual_review"
      ]
    },
    "credits_funded": {
      "type": "number"
    },
    "credit_account_id": {
      "type": "string"
    },
    "settlement_receipt_url": {
      "type": "string",
      "format": "uri"
    },
    "result_contract_url": {
      "type": "string",
      "format": "uri"
    },
    "callback_url": {
      "type": "string",
      "format": "uri"
    },
    "provider_reference": {
      "type": "string"
    },
    "verification": {
      "$ref": "https://weverlabs.com/schemas/provider-webhook-verification.schema.json"
    },
    "created_at": {
      "type": "string",
      "format": "date-time"
    },
    "activated_at": {
      "type": "string",
      "format": "date-time"
    },
    "next_action": {
      "type": "string"
    }
  }
}