{
  "name": "RacingPulse",
  "version": "1.1.0",
  "description": "Global pari-mutuel racing intelligence API — horse racing and greyhound betting analysis covering 13 countries. Live odds, going conditions, form analysis, trap bias, arbitrage detection, speed ratings, and betting systems for 50+ racecourses and greyhound tracks worldwide. All endpoints pay-per-query via x402 micropayments on Base mainnet.",
  "url": "https://racingpulse.theaslangroupllc.com",
  "provider": {
    "name": "The Aslan Group LLC",
    "email": "info@theaslangroupllc.com"
  },
  "payment": {
    "protocol": "x402",
    "network": "eip155:8453",
    "asset": "USDC",
    "price_per_query": "0.07",
    "description": "Pay $0.07 USDC per query on Base mainnet. No subscription required."
  },
  "capabilities": [
    "horse_racing_arbitrage",
    "going_conditions",
    "horse_form_analysis",
    "speed_ratings",
    "betting_systems",
    "race_trends",
    "track_profiles",
    "betting_calculator",
    "greyhound_form_analysis",
    "greyhound_trap_bias",
    "greyhound_race_cards",
    "pari_mutuel_betting_intelligence"
  ],
  "coverage": {
    "sports": ["horse_racing", "greyhound_racing"],
    "countries": ["UK", "IE", "AU", "HK", "JP", "FR", "US", "ZA", "NZ", "SG", "AE", "CA", "DE"],
    "horse_tracks": 35,
    "greyhound_tracks": 20,
    "bookmakers": 40
  },
  "greyhound_tracks": {
    "UK": ["romford", "wimbledon", "nottingham", "sheffield", "sunderland", "perry-barr", "towcester", "crayford", "yarmouth"],
    "Ireland": ["shelbourne-park", "harold's-cross", "dundalk", "cork", "limerick", "tralee", "galway", "waterford"],
    "Australia": ["the-meadows", "wentworth-park", "sandown", "ballarat", "cannington", "angle-park", "albion-park"],
    "USA": ["palm-beach-kennel-club", "derby-lane", "wheeling-island", "mardi-gras"]
  },
  "endpoints": [
    {
      "path": "/api/scanner",
      "method": "GET",
      "description": "Scan all active horse racing sports for guaranteed-profit arbitrage across 40+ bookmakers",
      "price_usdc": "0.07",
      "params": [{ "name": "regions", "type": "string", "required": false, "default": "uk,au,us,eu" }]
    },
    {
      "path": "/api/arbitrage",
      "method": "GET",
      "description": "Filtered live arbitrage opportunities for a specific racing jurisdiction with Kelly-weighted stake allocations",
      "price_usdc": "0.07",
      "params": [
        { "name": "sport", "type": "string", "required": false, "enum": ["horse_racing_uk", "horse_racing_au", "horse_racing_us", "horse_racing_za"] },
        { "name": "min_profit", "type": "number", "required": false, "description": "Minimum profit % filter" }
      ]
    },
    {
      "path": "/api/card",
      "method": "GET",
      "description": "Complete horse racing card briefing — runners, live odds, going conditions, and meeting news",
      "price_usdc": "0.07",
      "params": [
        { "name": "track", "type": "string", "required": true, "description": "e.g. ascot, cheltenham, flemington" },
        { "name": "date", "type": "string", "required": false, "format": "YYYY-MM-DD" }
      ]
    },
    {
      "path": "/api/going",
      "method": "GET",
      "description": "Live going conditions for 35 racecourses derived from 7-day precipitation data",
      "price_usdc": "0.07",
      "params": [
        { "name": "track", "type": "string", "required": true, "description": "Track name or 'all' for 12-track summary" }
      ]
    },
    {
      "path": "/api/form",
      "method": "GET",
      "description": "Deep horse form analysis — recent runs, going preferences, distance patterns, trainer/jockey statistics",
      "price_usdc": "0.07",
      "params": [
        { "name": "horse", "type": "string", "required": true },
        { "name": "trainer", "type": "string", "required": false }
      ]
    },
    {
      "path": "/api/ratings",
      "method": "GET",
      "description": "Official rating, RPR, Timeform rating, and going-adjusted performance ratings for a horse",
      "price_usdc": "0.07",
      "params": [{ "name": "horse", "type": "string", "required": true }]
    },
    {
      "path": "/api/systems",
      "method": "GET",
      "description": "Statistically-backed betting systems — strike rates, ROI, profitable trainer/jockey combos, draw bias",
      "price_usdc": "0.07",
      "params": [{ "name": "filter", "type": "string", "required": false, "description": "e.g. 'Ascot sprints', 'novice hurdlers', 'flat handicaps'" }]
    },
    {
      "path": "/api/trends",
      "method": "GET",
      "description": "Historical race trends — draw bias, age profile, weight patterns, trainer records, value and fade angles",
      "price_usdc": "0.07",
      "params": [{ "name": "race", "type": "string", "required": true, "description": "e.g. 'Cheltenham Gold Cup', 'Royal Ascot'" }]
    },
    {
      "path": "/api/track",
      "method": "GET",
      "description": "Complete racecourse profile — shape, draw bias, optimal running styles, distance suitability, live going",
      "price_usdc": "0.07",
      "params": [{ "name": "track", "type": "string", "required": true }]
    },
    {
      "path": "/api/calculator",
      "method": "GET",
      "description": "Betting calculator — arbitrage stake allocations (Kelly criterion) or expected value analysis",
      "price_usdc": "0.07",
      "params": [
        { "name": "mode", "type": "string", "required": true, "enum": ["arb", "ev"] },
        { "name": "bankroll", "type": "number", "required": false },
        { "name": "odds", "type": "string", "required": false },
        { "name": "single_odds", "type": "number", "required": false },
        { "name": "true_prob", "type": "number", "required": false },
        { "name": "stake", "type": "number", "required": false }
      ]
    },
    {
      "path": "/api/greyhound-form",
      "method": "GET",
      "description": "Greyhound form analysis — recent runs, sectional times, trap record, kennel form, and betting verdict. Covers UK (GBGB), Ireland (IGB), Australia (GRV/GRNSW), and USA tracks.",
      "price_usdc": "0.07",
      "params": [
        { "name": "dog", "type": "string", "required": true, "description": "Greyhound name" },
        { "name": "track", "type": "string", "required": false, "description": "Track name for trap-specific context e.g. romford, shelbourne-park, the-meadows" }
      ]
    },
    {
      "path": "/api/greyhound-trap",
      "method": "GET",
      "description": "Greyhound trap bias — win rates per trap, rail vs wide advantage, pace profile, and actionable betting angles. Essential for draw-sensitive greyhound betting across UK, Ireland, and Australia.",
      "price_usdc": "0.07",
      "params": [
        { "name": "track", "type": "string", "required": true, "description": "e.g. romford, shelbourne-park, the-meadows, wentworth-park" },
        { "name": "distance", "type": "string", "required": false, "description": "e.g. 400m, 460m, 520m, 710m" },
        { "name": "grade", "type": "string", "required": false, "description": "e.g. A1, A2, S2, OR" }
      ]
    },
    {
      "path": "/api/greyhound-card",
      "method": "GET",
      "description": "Greyhound race card — full field breakdown with trap suitability scoring, value selection, system plays, and meeting verdict. Works for any meeting worldwide.",
      "price_usdc": "0.07",
      "params": [
        { "name": "track", "type": "string", "required": true, "description": "e.g. romford, shelbourne-park, wentworth-park, the-meadows" },
        { "name": "date", "type": "string", "required": false, "format": "YYYY-MM-DD" },
        { "name": "race", "type": "string", "required": false, "description": "Specific race number or name" }
      ]
    }
  ],
  "agent_workflow_examples": [
    {
      "goal": "Find value bets in tonight's Romford greyhound card",
      "steps": ["/api/greyhound-trap?track=romford", "/api/greyhound-card?track=romford", "/api/calculator?mode=ev"]
    },
    {
      "goal": "Assess a specific greyhound's chances at Shelbourne Park",
      "steps": ["/api/greyhound-form?dog=Swift+Monarch&track=shelbourne-park", "/api/greyhound-trap?track=shelbourne-park"]
    },
    {
      "goal": "Find guaranteed-profit horse racing arbitrage",
      "steps": ["/api/scanner", "/api/arbitrage?min_profit=1", "/api/calculator?mode=arb"]
    },
    {
      "goal": "Full race card analysis including going conditions",
      "steps": ["/api/going?track=ascot", "/api/card?track=ascot", "/api/form?horse=Enable"]
    }
  ],
  "discovery": {
    "openapi": "https://racingpulse.theaslangroupllc.com/openapi.json",
    "llms_txt": "https://racingpulse.theaslangroupllc.com/llms.txt",
    "agent_json": "https://racingpulse.theaslangroupllc.com/.well-known/agent.json"
  },
  "data_sources": {
    "odds": "The Odds API (40+ bookmakers, live)",
    "weather": "Open-Meteo (free, no auth, 7-day precipitation)",
    "form_trends": "Tavily web search (real-time)",
    "synthesis": "Claude Haiku / Sonnet"
  },
  "pulse_network": "https://pulsenetwork.vercel.app"
}
