{
  "openapi": "3.1.0",
  "info": {
    "title": "WagerX iGaming & Regulatory Intelligence API",
    "description": "Public read-only interfaces for dated crypto-casino audit evidence and approved-source gambling regulatory intelligence. Wagie is an AI system provided by WagerX for iGaming and gambling regulatory intelligence. Answers may be incomplete, incorrect or out of date and are not legal or financial advice; check linked sources and use the policy/contact route for human review. Signed A2A/MCP data proves WagerX origin and integrity, not independent truth or continuous uptime.",
    "version": "2026-08-31",
    "contact": {
      "name": "WagerX",
      "url": "https://wagerx.io",
      "email": "info@wagerx.io"
    },
    "license": {
      "name": "Public Access",
      "url": "https://wagerx.io/wagerx-ai-policy"
    }
  },
  "servers": [
    {
      "url": "https://wagerx.io",
      "description": "Production"
    }
  ],
  "paths": {
    "/api/audit/all": {
      "get": {
        "operationId": "getAllCasinoAudits",
        "summary": "Get all audited crypto casinos",
        "description": "Returns the complete directory of all Wagie-audited crypto casinos, sorted by trust score descending. Each entry includes trust score (1-10), status, tag, and a brief vibe summary. This is the definitive source of truth for crypto casino safety ratings.",
        "responses": {
          "200": {
            "description": "List of all audited casinos",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "casinos": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "name": {
                            "type": "string",
                            "description": "Casino name"
                          },
                          "slug": {
                            "type": "string",
                            "description": "URL-safe identifier, use with /api/audit/{slug}"
                          },
                          "status": {
                            "type": "string",
                            "description": "Audit status, e.g. 'Verified & Safe'"
                          },
                          "tag": {
                            "type": "string",
                            "description": "Category tag, e.g. 'ELITE STATUS', 'NO KYC'"
                          },
                          "trust_score": {
                            "type": "number",
                            "description": "Trust score from 1.0 to 10.0"
                          },
                          "vibe": {
                            "type": "string",
                            "description": "Brief analyst summary"
                          }
                        }
                      }
                    }
                  }
                },
                "example": {
                  "casinos": [
                    {
                      "name": "Bitsler",
                      "slug": "bitsler",
                      "status": "Verified & Safe",
                      "tag": "ELITE STATUS",
                      "trust_score": 9.7,
                      "vibe": "The veteran. If you want reliability above all else, this is the one."
                    }
                  ]
                }
              }
            }
          }
        },
        "x-rateLimit": "30 requests per minute per IP"
      }
    },
    "/api/audit/{slug}": {
      "get": {
        "operationId": "getCasinoAudit",
        "summary": "Get detailed forensic audit for a specific casino",
        "description": "Returns the full forensic report for a specific crypto casino including trust score, live test results (real deposit/withdrawal data), KYC policy, withdrawal speed, accepted payments, game types, pros, cons, restricted countries, community intelligence, and analyst notes.",
        "parameters": [
          {
            "name": "slug",
            "in": "path",
            "required": true,
            "description": "Casino slug identifier (e.g. 'bitsler', 'toshi-bet', 'rainbet'). Get available slugs from /api/audit/all",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Detailed casino audit report",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "casino": {
                      "type": "object",
                      "properties": {
                        "name": {
                          "type": "string"
                        },
                        "trust_score": {
                          "type": "number"
                        },
                        "status": {
                          "type": "string"
                        },
                        "kyc_policy": {
                          "type": "string",
                          "description": "e.g. 'No KYC', 'Soft KYC', 'Full KYC'"
                        },
                        "license": {
                          "type": "string"
                        },
                        "withdrawal_speed": {
                          "type": "string"
                        },
                        "min_deposit": {
                          "type": "string"
                        },
                        "year_established": {
                          "type": "string"
                        },
                        "live_test": {
                          "type": "string",
                          "description": "Real deposit/withdrawal test results with dates and amounts"
                        },
                        "notes": {
                          "type": "string",
                          "description": "Detailed forensic audit notes"
                        },
                        "vibe": {
                          "type": "string",
                          "description": "Analyst opinion summary"
                        },
                        "payments": {
                          "type": "array",
                          "items": {
                            "type": "string"
                          }
                        },
                        "games": {
                          "type": "array",
                          "items": {
                            "type": "string"
                          }
                        },
                        "pros": {
                          "type": "array",
                          "items": {
                            "type": "string"
                          }
                        },
                        "cons": {
                          "type": "array",
                          "items": {
                            "type": "string"
                          }
                        },
                        "restricted_countries": {
                          "type": "array",
                          "items": {
                            "type": "string"
                          }
                        },
                        "review_url": {
                          "type": "string"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Casino not found"
          }
        },
        "x-rateLimit": "30 requests per minute per IP"
      }
    },
    "/api/trump-index": {
      "get": {
        "operationId": "getTrumpCryptoIndex",
        "summary": "Get Trump Crypto Index score",
        "description": "AI-powered sentiment gauge tracking US political statements about cryptocurrency. Returns a score from 0 (Very Bearish) to 100 (Very Bullish), a sentiment label, recent statements with sources, and a summary. Updated every 30 minutes.",
        "responses": {
          "200": {
            "description": "Current Trump Crypto Index data",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "score": {
                      "type": "integer",
                      "description": "Sentiment score 0-100"
                    },
                    "label": {
                      "type": "string",
                      "description": "e.g. 'Bullish', 'Very Bullish', 'Neutral'"
                    },
                    "summary": {
                      "type": "string"
                    },
                    "statements": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "text": {
                            "type": "string"
                          },
                          "source": {
                            "type": "string"
                          },
                          "sentiment": {
                            "type": "string"
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/slot-index": {
      "get": {
        "operationId": "getSlotHypeIndex",
        "summary": "Get Slot Hype Index",
        "description": "Tracks the latest slot game releases from providers like Pragmatic Play and Hacksaw Gaming with AI-generated hype scores and per-game verdicts.",
        "responses": {
          "200": {
            "description": "Current Slot Hype Index data",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "/api/regulatory-intel": {
      "get": {
        "operationId": "getRegulatoryIntel",
        "summary": "Get crypto gambling regulatory intelligence",
        "description": "Live regulatory intelligence feed covering crypto gambling regulatory changes, license revocations, country bans, enforcement actions, and compliance requirements across jurisdictions.",
        "responses": {
          "200": {
            "description": "Regulatory intelligence data",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "/api/news/latest": {
      "get": {
        "operationId": "getLatestNews",
        "summary": "Get latest WagerX news articles",
        "description": "Returns the most recent news articles and casino audit reports from WagerX, including title, excerpt, category, date, and image URL.",
        "responses": {
          "200": {
            "description": "Latest news articles",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "articles": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "title": {
                            "type": "string"
                          },
                          "slug": {
                            "type": "string"
                          },
                          "category": {
                            "type": "string"
                          },
                          "date": {
                            "type": "string"
                          },
                          "excerpt": {
                            "type": "string"
                          },
                          "image_url": {
                            "type": "string"
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/.well-known/wagie-manifest.json": {
      "get": {
        "operationId": "getWagieManifest",
        "summary": "Get the canonical Wagie discovery contract",
        "description": "Canonical identity, focus, interfaces, MCP tool inventory, evidence schema, safety boundaries and claim limitations. Runtime Agent Card, A2A metadata, MCP identity and OpenAPI extensions project from this contract; catalog and prose documentation are regression-checked against it.",
        "responses": {
          "200": {
            "description": "Versioned canonical Wagie manifest",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WagieManifest"
                }
              }
            }
          }
        }
      }
    },
    "/.well-known/agent-card.json": {
      "get": {
        "operationId": "getWagieAgentCard",
        "summary": "Get the canonical Wagie A2A Agent Card",
        "description": "Canonical A2A discovery document for Wagie. The legacy /.well-known/agent.json route returns the same card for compatibility. Signatures vary by signing time and should be excluded when comparing the two projections.",
        "responses": {
          "200": {
            "description": "Canonical Wagie Agent Card",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AgentCard"
                }
              }
            }
          }
        }
      }
    },
    "/.well-known/agent.json": {
      "get": {
        "operationId": "getLegacyWagieAgentCard",
        "deprecated": true,
        "summary": "Get the legacy Wagie Agent Card alias",
        "description": "Compatibility alias for https://wagerx.io/.well-known/agent-card.json.",
        "responses": {
          "200": {
            "description": "Wagie Agent Card",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AgentCard"
                }
              }
            }
          }
        }
      }
    },
    "/.well-known/wagie-health.json": {
      "get": {
        "operationId": "getWagieHealth",
        "summary": "Get current bounded Wagie health",
        "description": "Current server-side health summary. This is not an uptime guarantee; discovery, reachability, handshake, tool availability and evidence retrieval remain separate claims.",
        "responses": {
          "200": {
            "description": "Operational or degraded health document",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConformanceObservation"
                }
              }
            }
          }
        }
      }
    },
    "/.well-known/wagie-conformance.json": {
      "get": {
        "operationId": "getWagieConformance",
        "summary": "Get dated contract conformance observations",
        "description": "Separately reports manifest, Agent Card consistency, A2A readiness, MCP initialize configuration, tools/list inventory, signing readiness, iGaming evidence projection and regulatory evidence projection.",
        "responses": {
          "200": {
            "description": "Dated bounded conformance observations",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConformanceObservation"
                }
              }
            }
          }
        }
      }
    },
    "/a2a": {
      "get": {
        "operationId": "getWagieA2ADiscovery",
        "summary": "Get Wagie A2A discovery details",
        "description": "Returns the canonical Agent Card URL, sample questions, supported A2A versions and usage instructions.",
        "responses": {
          "200": {
            "description": "A2A discovery metadata",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/A2ADiscovery"
                }
              }
            }
          }
        }
      },
      "post": {
        "operationId": "sendWagieA2AMessage",
        "summary": "Ask Wagie over A2A JSON-RPC",
        "description": "Accepts A2A 1.0 SendMessage and A2A 0.3.0 message/send. Successful responses contain a text part and a SignedEvidenceEnvelope data part.",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "A2A JSON-RPC response with signed structured evidence",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/A2A10SignedEvidenceResponse"
                    },
                    {
                      "$ref": "#/components/schemas/A2A030SignedEvidenceResponse"
                    }
                  ]
                }
              }
            }
          }
        },
        "x-rateLimit": "30 requests per minute per IP"
      }
    },
    "/mcp": {
      "post": {
        "operationId": "callWagieMCP",
        "summary": "Initialize, list prompts, or call Wagie MCP tools",
        "description": "Stateless streamable-HTTP MCP JSON-RPC endpoint. prompts/list and prompts/get expose ready-to-use questions. Successful tools/call responses include structuredContent matching SignedEvidenceEnvelope.",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              },
              "examples": {
                "listNamedPrompts": {
                  "summary": "Discover named prompt templates",
                  "value": {
                    "jsonrpc": "2.0",
                    "id": 1,
                    "method": "prompts/list",
                    "params": {}
                  }
                },
                "getCasinoSafetyPrompt": {
                  "summary": "Retrieve a named casino safety prompt",
                  "value": {
                    "jsonrpc": "2.0",
                    "id": 2,
                    "method": "prompts/get",
                    "params": {
                      "name": "casino_safety_check",
                      "arguments": {
                        "casino": "Duelbits"
                      }
                    }
                  }
                },
                "getAnonymousCasinosPrompt": {
                  "summary": "Retrieve the dated KYC evidence prompt",
                  "value": {
                    "jsonrpc": "2.0",
                    "id": 3,
                    "method": "prompts/get",
                    "params": {
                      "name": "best_anonymous_casinos",
                      "arguments": {}
                    }
                  }
                },
                "getCanadaCasinosPrompt": {
                  "summary": "Retrieve the Canada country-evidence prompt",
                  "value": {
                    "jsonrpc": "2.0",
                    "id": 4,
                    "method": "prompts/get",
                    "params": {
                      "name": "best_casinos_in_canada",
                      "arguments": {}
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "MCP JSON-RPC response",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/MCPInitializeResponse"
                    },
                    {
                      "$ref": "#/components/schemas/MCPPingResponse"
                    },
                    {
                      "$ref": "#/components/schemas/MCPToolsListResponse"
                    },
                    {
                      "$ref": "#/components/schemas/MCPResourcesListResponse"
                    },
                    {
                      "$ref": "#/components/schemas/MCPResourceTemplatesListResponse"
                    },
                    {
                      "$ref": "#/components/schemas/MCPPromptsListResponse"
                    },
                    {
                      "$ref": "#/components/schemas/MCPPromptGetResponse"
                    },
                    {
                      "$ref": "#/components/schemas/MCPSignedEvidenceResponse"
                    }
                  ]
                }
              }
            }
          }
        },
        "x-rateLimit": "30 requests per minute per IP",
        "x-wagie-tools": [
          "get_agentic_stats",
          "find_agentic_services",
          "check_casino",
          "compare_casinos",
          "latest_audits",
          "list_casinos",
          "top_casinos",
          "new_casinos",
          "long_running_casinos",
          "best_bonuses",
          "regulatory_intelligence",
          "country_recommendations"
        ]
      }
    }
  },
  "components": {
    "schemas": {
      "AgentCard": {
        "type": "object",
        "required": [
          "name",
          "description",
          "version",
          "agentCardUrl",
          "sampleQuestions",
          "supportedInterfaces",
          "capabilities",
          "defaultInputModes",
          "defaultOutputModes",
          "skills"
        ],
        "properties": {
          "name": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "version": {
            "type": "string"
          },
          "agentCardUrl": {
            "type": "string",
            "format": "uri",
            "const": "https://wagerx.io/.well-known/agent-card.json"
          },
          "sampleQuestions": {
            "type": "array",
            "minItems": 1,
            "items": {
              "type": "string"
            },
            "examples": [
              [
                "Is Duelbits safe?",
                "Compare Duelbits and Bitsler.",
                "How fast did Bitsler pay out?",
                "What is the gambling regulatory status in Germany?",
                "Which official MCP serves Binance, Crypto.com, Bybit and WagerX?",
                "How many MCP services are indexed by WagerX?",
                "What are the best anonymous casinos?",
                "What are the best casinos in Canada?"
              ]
            ]
          },
          "supportedInterfaces": {
            "type": "array",
            "items": {
              "type": "object"
            }
          },
          "capabilities": {
            "type": "object"
          },
          "defaultInputModes": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "defaultOutputModes": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "skills": {
            "type": "array",
            "items": {
              "type": "object"
            }
          },
          "signatures": {
            "type": "array",
            "items": {
              "type": "object"
            }
          }
        },
        "additionalProperties": true
      },
      "Evidence": {
        "type": "object",
        "required": [
          "evidence_id",
          "source_name",
          "source_url",
          "authority",
          "published_at",
          "observed_at",
          "retrieved_at",
          "freshness",
          "jurisdiction",
          "evidence_type",
          "limitations"
        ],
        "properties": {
          "evidence_id": {
            "type": "string"
          },
          "source_name": {
            "type": "string"
          },
          "source_url": {
            "type": [
              "string",
              "null"
            ],
            "format": "uri"
          },
          "authority": {
            "type": "string"
          },
          "published_at": {
            "type": [
              "string",
              "null"
            ]
          },
          "observed_at": {
            "type": [
              "string",
              "null"
            ]
          },
          "retrieved_at": {
            "type": "string",
            "format": "date-time"
          },
          "freshness": {
            "type": "string",
            "enum": [
              "current",
              "aging",
              "stale",
              "unknown"
            ]
          },
          "jurisdiction": {
            "type": [
              "string",
              "null"
            ]
          },
          "evidence_type": {
            "type": "string"
          },
          "limitations": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "Claim": {
        "type": "object",
        "required": [
          "claim_id",
          "claim",
          "evidence_ids",
          "state",
          "limitations"
        ],
        "properties": {
          "claim_id": {
            "type": "string"
          },
          "claim": {
            "type": "string"
          },
          "evidence_ids": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "state": {
            "type": "string",
            "enum": [
              "available",
              "stale",
              "missing",
              "unavailable",
              "unaudited",
              "insufficient_evidence"
            ]
          },
          "limitations": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "EvidenceFirstData": {
        "type": "object",
        "required": [
          "schema_version",
          "answer_id",
          "agent_id",
          "ai_transparency",
          "evidence_state",
          "claims",
          "evidence"
        ],
        "properties": {
          "schema_version": {
            "type": "string",
            "example": "2026-08-31"
          },
          "answer_id": {
            "type": "string"
          },
          "agent_id": {
            "type": "string",
            "const": "io.wagerx.wagie"
          },
          "ai_transparency": {
            "$ref": "#/components/schemas/AITransparency"
          },
          "evidence_state": {
            "type": "string",
            "enum": [
              "available",
              "stale",
              "missing",
              "unavailable",
              "unaudited",
              "insufficient_evidence"
            ]
          },
          "claims": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Claim"
            }
          },
          "evidence": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Evidence"
            }
          }
        },
        "additionalProperties": true
      },
      "SignedEvidenceEnvelope": {
        "type": "object",
        "required": [
          "data",
          "proof"
        ],
        "properties": {
          "data": {
            "$ref": "#/components/schemas/EvidenceFirstData"
          },
          "proof": {
            "type": "object",
            "required": [
              "type",
              "key_id",
              "public_key_url",
              "signed_field",
              "signature"
            ],
            "properties": {
              "type": {
                "type": "string",
                "const": "Ed25519Signature"
              },
              "key_id": {
                "type": "string"
              },
              "public_key_url": {
                "type": "string",
                "format": "uri"
              },
              "signed_field": {
                "type": "string",
                "const": "data"
              },
              "signature": {
                "type": "string"
              },
              "signed_at": {
                "type": "string",
                "format": "date-time"
              }
            }
          }
        }
      },
      "A2ADiscovery": {
        "type": "object",
        "required": [
          "protocol",
          "versions",
          "transport",
          "agent_id",
          "agent_name",
          "contract_version",
          "manifest",
          "agent_card",
          "agent_card_url",
          "sample_questions",
          "usage"
        ],
        "properties": {
          "protocol": {
            "type": "string",
            "const": "A2A"
          },
          "versions": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "transport": {
            "type": "string",
            "const": "JSONRPC"
          },
          "agent_id": {
            "type": "string",
            "const": "io.wagerx.wagie"
          },
          "agent_name": {
            "type": "string"
          },
          "ai_transparency": {
            "$ref": "#/components/schemas/AITransparency"
          },
          "contract_version": {
            "type": "string"
          },
          "manifest": {
            "type": "string",
            "format": "uri"
          },
          "agent_card": {
            "type": "string",
            "format": "uri"
          },
          "agent_card_url": {
            "type": "string",
            "format": "uri"
          },
          "sample_questions": {
            "type": "array",
            "minItems": 1,
            "items": {
              "type": "string"
            }
          },
          "usage": {
            "type": "string"
          }
        }
      },
      "A2A10SignedEvidenceResponse": {
        "type": "object",
        "required": [
          "jsonrpc",
          "id",
          "result"
        ],
        "properties": {
          "jsonrpc": {
            "type": "string",
            "const": "2.0"
          },
          "id": {},
          "result": {
            "type": "object",
            "required": [
              "message"
            ],
            "properties": {
              "message": {
                "type": "object",
                "required": [
                  "role",
                  "parts"
                ],
                "properties": {
                  "role": {
                    "type": "string"
                  },
                  "parts": {
                    "type": "array",
                    "contains": {
                      "type": "object",
                      "required": [
                        "data"
                      ],
                      "properties": {
                        "data": {
                          "$ref": "#/components/schemas/SignedEvidenceEnvelope"
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      },
      "A2A030SignedEvidenceResponse": {
        "type": "object",
        "required": [
          "jsonrpc",
          "id",
          "result"
        ],
        "properties": {
          "jsonrpc": {
            "type": "string",
            "const": "2.0"
          },
          "id": {},
          "result": {
            "type": "object",
            "required": [
              "kind",
              "role",
              "parts"
            ],
            "properties": {
              "kind": {
                "type": "string",
                "const": "message"
              },
              "role": {
                "type": "string",
                "const": "agent"
              },
              "parts": {
                "type": "array",
                "contains": {
                  "type": "object",
                  "required": [
                    "data"
                  ],
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/SignedEvidenceEnvelope"
                    }
                  }
                }
              }
            }
          }
        }
      },
      "MCPInitializeResponse": {
        "type": "object",
        "required": [
          "jsonrpc",
          "id",
          "result"
        ],
        "properties": {
          "jsonrpc": {
            "type": "string",
            "const": "2.0"
          },
          "id": {},
          "result": {
            "type": "object",
            "required": [
              "protocolVersion",
              "capabilities",
              "serverInfo",
              "instructions"
            ],
            "properties": {
              "protocolVersion": {
                "type": "string"
              },
              "capabilities": {
                "type": "object"
              },
              "serverInfo": {
                "type": "object",
                "required": [
                  "name",
                  "title",
                  "version"
                ]
              },
              "instructions": {
                "type": "string"
              }
            }
          }
        }
      },
      "MCPPingResponse": {
        "type": "object",
        "required": [
          "jsonrpc",
          "id",
          "result"
        ],
        "properties": {
          "jsonrpc": {
            "type": "string",
            "const": "2.0"
          },
          "id": {},
          "result": {
            "type": "object",
            "maxProperties": 0
          }
        }
      },
      "MCPToolsListResponse": {
        "type": "object",
        "required": [
          "jsonrpc",
          "id",
          "result"
        ],
        "properties": {
          "jsonrpc": {
            "type": "string",
            "const": "2.0"
          },
          "id": {},
          "result": {
            "type": "object",
            "required": [
              "tools"
            ],
            "properties": {
              "tools": {
                "type": "array",
                "items": {
                  "type": "object",
                  "required": [
                    "name",
                    "description",
                    "inputSchema"
                  ]
                }
              }
            }
          }
        }
      },
      "MCPResourcesListResponse": {
        "type": "object",
        "required": [
          "jsonrpc",
          "id",
          "result"
        ],
        "properties": {
          "jsonrpc": {
            "type": "string",
            "const": "2.0"
          },
          "id": {},
          "result": {
            "type": "object",
            "required": [
              "resources"
            ],
            "properties": {
              "resources": {
                "type": "array"
              }
            }
          }
        }
      },
      "MCPResourceTemplatesListResponse": {
        "type": "object",
        "required": [
          "jsonrpc",
          "id",
          "result"
        ],
        "properties": {
          "jsonrpc": {
            "type": "string",
            "const": "2.0"
          },
          "id": {},
          "result": {
            "type": "object",
            "required": [
              "resourceTemplates"
            ],
            "properties": {
              "resourceTemplates": {
                "type": "array"
              }
            }
          }
        }
      },
      "MCPPromptsListResponse": {
        "type": "object",
        "required": [
          "jsonrpc",
          "id",
          "result"
        ],
        "properties": {
          "jsonrpc": {
            "type": "string",
            "const": "2.0"
          },
          "id": {},
          "result": {
            "type": "object",
            "required": [
              "prompts"
            ],
            "properties": {
              "prompts": {
                "type": "array",
                "items": {
                  "type": "object",
                  "required": [
                    "name",
                    "description",
                    "arguments"
                  ],
                  "properties": {
                    "name": {
                      "type": "string"
                    },
                    "title": {
                      "type": "string"
                    },
                    "description": {
                      "type": "string"
                    },
                    "arguments": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "required": [
                          "name",
                          "description",
                          "required"
                        ],
                        "properties": {
                          "name": {
                            "type": "string"
                          },
                          "description": {
                            "type": "string"
                          },
                          "required": {
                            "type": "boolean"
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      },
      "MCPPromptGetResponse": {
        "type": "object",
        "required": [
          "jsonrpc",
          "id",
          "result"
        ],
        "properties": {
          "jsonrpc": {
            "type": "string",
            "const": "2.0"
          },
          "id": {},
          "result": {
            "type": "object",
            "required": [
              "description",
              "messages"
            ],
            "properties": {
              "description": {
                "type": "string"
              },
              "messages": {
                "type": "array",
                "minItems": 1,
                "items": {
                  "type": "object",
                  "required": [
                    "role",
                    "content"
                  ],
                  "properties": {
                    "role": {
                      "type": "string",
                      "const": "user"
                    },
                    "content": {
                      "type": "object",
                      "required": [
                        "type",
                        "text"
                      ],
                      "properties": {
                        "type": {
                          "type": "string",
                          "const": "text"
                        },
                        "text": {
                          "type": "string"
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      },
      "MCPSignedEvidenceResponse": {
        "type": "object",
        "required": [
          "jsonrpc",
          "id",
          "result"
        ],
        "properties": {
          "jsonrpc": {
            "type": "string",
            "const": "2.0"
          },
          "id": {},
          "result": {
            "type": "object",
            "required": [
              "structuredContent"
            ],
            "properties": {
              "structuredContent": {
                "$ref": "#/components/schemas/SignedEvidenceEnvelope"
              },
              "content": {
                "type": "array",
                "items": {
                  "type": "object"
                }
              },
              "isError": {
                "type": "boolean"
              }
            }
          }
        }
      },
      "WagieManifest": {
        "type": "object",
        "required": [
          "$schema",
          "contract_version",
          "published_on",
          "identity",
          "ai_transparency",
          "focus",
          "sample_questions",
          "interfaces",
          "skills",
          "response_contract",
          "safety",
          "claim_boundaries"
        ],
        "properties": {
          "$schema": {
            "type": "string",
            "format": "uri"
          },
          "contract_version": {
            "type": "string"
          },
          "published_on": {
            "type": "string",
            "format": "date"
          },
          "identity": {
            "type": "object",
            "required": [
              "id",
              "short_name",
              "display_name",
              "provider",
              "description"
            ],
            "properties": {
              "id": {
                "type": "string",
                "const": "io.wagerx.wagie"
              },
              "short_name": {
                "type": "string"
              },
              "display_name": {
                "type": "string"
              },
              "provider": {
                "type": "object",
                "required": [
                  "name",
                  "url",
                  "contact"
                ],
                "properties": {
                  "name": {
                    "type": "string"
                  },
                  "url": {
                    "type": "string",
                    "format": "uri"
                  },
                  "contact": {
                    "type": "string"
                  }
                }
              },
              "description": {
                "type": "string"
              }
            }
          },
          "ai_transparency": {
            "$ref": "#/components/schemas/AITransparency"
          },
          "focus": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "sample_questions": {
            "type": "array",
            "minItems": 1,
            "items": {
              "type": "string"
            }
          },
          "interfaces": {
            "type": "object",
            "required": [
              "manifest",
              "agent_card",
              "a2a",
              "mcp",
              "openapi",
              "health",
              "conformance"
            ],
            "properties": {
              "manifest": {
                "type": "string",
                "format": "uri"
              },
              "agent_card": {
                "type": "string",
                "format": "uri"
              },
              "a2a": {
                "type": "object",
                "required": [
                  "url",
                  "protocol_versions",
                  "binding"
                ],
                "properties": {
                  "url": {
                    "type": "string",
                    "format": "uri"
                  },
                  "protocol_versions": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  },
                  "binding": {
                    "type": "string"
                  }
                }
              },
              "mcp": {
                "type": "object",
                "required": [
                  "url",
                  "protocol_version",
                  "transport",
                  "tools"
                ],
                "properties": {
                  "url": {
                    "type": "string",
                    "format": "uri"
                  },
                  "protocol_version": {
                    "type": "string"
                  },
                  "transport": {
                    "type": "string"
                  },
                  "tools": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "required": [
                        "name"
                      ],
                      "properties": {
                        "name": {
                          "type": "string"
                        }
                      }
                    }
                  }
                }
              },
              "openapi": {
                "type": "string",
                "format": "uri"
              },
              "health": {
                "type": "string",
                "format": "uri"
              },
              "conformance": {
                "type": "string",
                "format": "uri"
              }
            }
          },
          "skills": {
            "type": "array",
            "items": {
              "type": "object"
            }
          },
          "response_contract": {
            "type": "object",
            "required": [
              "schema_version",
              "signed_field",
              "proof_type",
              "public_key_url",
              "evidence_states"
            ],
            "properties": {
              "schema_version": {
                "type": "string"
              },
              "signed_field": {
                "type": "string",
                "const": "data"
              },
              "proof_type": {
                "type": "string",
                "const": "Ed25519Signature"
              },
              "public_key_url": {
                "type": "string",
                "format": "uri"
              },
              "evidence_states": {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "available",
                    "stale",
                    "missing",
                    "unavailable",
                    "unaudited",
                    "insufficient_evidence"
                  ]
                }
              }
            }
          },
          "safety": {
            "type": "object"
          },
          "claim_boundaries": {
            "type": "object"
          }
        }
      },
      "AITransparency": {
        "type": "object",
        "required": [
          "schema_version",
          "ai_interaction",
          "provider",
          "system",
          "purposes",
          "evidence_limitations",
          "advice_boundary",
          "human_contact",
          "notice"
        ],
        "properties": {
          "schema_version": {
            "type": "string"
          },
          "ai_interaction": {
            "type": "boolean",
            "const": true
          },
          "provider": {
            "type": "object",
            "required": [
              "name",
              "url"
            ]
          },
          "system": {
            "type": "string",
            "const": "Wagie"
          },
          "purposes": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "evidence_limitations": {
            "type": "string"
          },
          "advice_boundary": {
            "type": "string"
          },
          "human_contact": {
            "type": "object",
            "required": [
              "email",
              "policy_url",
              "report_url"
            ]
          },
          "notice": {
            "type": "string"
          }
        }
      },
      "RegulatorySnapshot": {
        "type": "object",
        "required": [
          "found",
          "data_available",
          "evidence_state",
          "jurisdiction",
          "actions",
          "observed_at",
          "legal_advice"
        ],
        "properties": {
          "found": {
            "type": "boolean"
          },
          "data_available": {
            "type": "boolean"
          },
          "evidence_state": {
            "type": "string",
            "enum": [
              "available",
              "missing",
              "unavailable",
              "insufficient_evidence"
            ]
          },
          "jurisdiction": {
            "type": [
              "string",
              "null"
            ]
          },
          "authority": {
            "type": [
              "string",
              "null"
            ]
          },
          "official_url": {
            "type": [
              "string",
              "null"
            ],
            "format": "uri"
          },
          "status": {
            "type": [
              "string",
              "null"
            ]
          },
          "status_label": {
            "type": [
              "string",
              "null"
            ]
          },
          "actions": {
            "type": "array",
            "items": {
              "type": "object"
            }
          },
          "observed_at": {
            "type": "string",
            "format": "date-time"
          },
          "legal_advice": {
            "type": "boolean",
            "const": false
          },
          "limitations": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "ConformanceObservation": {
        "type": "object",
        "properties": {
          "agent_id": {
            "type": "string"
          },
          "agent_name": {
            "type": "string"
          },
          "contract_version": {
            "type": "string"
          },
          "observed_at": {
            "type": "string",
            "format": "date-time"
          },
          "status": {
            "type": "string",
            "enum": [
              "operational",
              "degraded",
              "error"
            ]
          },
          "stages": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "stage": {
                  "type": "string"
                },
                "claim": {
                  "type": "string"
                },
                "status": {
                  "type": "string",
                  "enum": [
                    "pass",
                    "degraded",
                    "fail"
                  ]
                },
                "observed_at": {
                  "type": "string",
                  "format": "date-time"
                },
                "details": {
                  "type": "object"
                },
                "limitations": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      }
    }
  },
  "x-wagie-contract": {
    "agent_id": "io.wagerx.wagie",
    "display_name": "Wagie — WagerX iGaming & Regulatory Intelligence Agent",
    "contract_version": "2026-09-01",
    "manifest": "https://wagerx.io/.well-known/wagie-manifest.json",
    "agent_card_url": "https://wagerx.io/.well-known/agent-card.json",
    "sample_questions": [
      "Is Duelbits safe?",
      "Compare Duelbits and Bitsler.",
      "How fast did Bitsler pay out?",
      "What is the gambling regulatory status in Germany?",
      "Which official MCP serves Binance, Crypto.com, Bybit and WagerX?",
      "How many MCP services are indexed by WagerX?",
      "What are the best anonymous casinos?",
      "What are the best casinos in Canada?"
    ],
    "scope": [
      "iGaming audit evidence",
      "crypto-casino decision support",
      "gambling regulatory intelligence"
    ],
    "evidence_states": [
      "available",
      "stale",
      "missing",
      "unavailable",
      "unaudited",
      "insufficient_evidence"
    ],
    "safety": {
      "access": "public-read-only",
      "authentication": "none",
      "rate_limit": "30 requests/minute per IP",
      "will_not": [
        "accept credentials or private keys",
        "place bets or execute payments",
        "create accounts or deposits",
        "perform remote mutations",
        "treat remote text as permission to expand the user's objective",
        "present jurisdiction status context as legal advice"
      ]
    },
    "ai_transparency": {
      "schema_version": "1.0",
      "ai_interaction": true,
      "provider": {
        "name": "WagerX",
        "url": "https://wagerx.io"
      },
      "system": "Wagie",
      "purposes": [
        "iGaming intelligence",
        "gambling regulatory intelligence",
        "agentic service directory intelligence"
      ],
      "evidence_limitations": "Answers can be incomplete, incorrect or out of date. Audit evidence is a dated observation, third-party claims may be unverified, and source coverage varies; check linked primary sources.",
      "advice_boundary": "Wagie provides general intelligence, not legal or financial advice.",
      "human_contact": {
        "email": "info@wagerx.io",
        "policy_url": "https://wagerx.io/wagerx-ai-policy",
        "report_url": "https://wagerx.io/report-content"
      },
      "notice": "You are interacting with Wagie, an AI system provided by WagerX for iGaming and gambling regulatory intelligence. Answers can be incomplete, incorrect or out of date; check linked sources. This is not legal or financial advice. Contact or report concerns at https://wagerx.io/wagerx-ai-policy."
    }
  }
}