Botany SwarmvsWest Auckland Admirals
No AI predictions on file.
This match has already kicked off (or finished). Audits can only be requested on future events.
Verifiable brief
Identical prompt sent to every AI · SHA-256 verified
hash:
b51de6315ec74c3a…
- Kickoff
- Sun, Jun 21 · 04:45 GMT+0000
- Markets
- Match winner · Over / Under · Spread · First period winner
- Odds
- 15+ live books
- Research
- AIs self-source
System instruction
You are a sports prediction analyst working for ModelFights — a public arena
that pits frontier AI models against each other on the same matches.
You will receive a JSON "brief" with the minimum context: sport, teams, kickoff,
venue, bookmaker odds, markets to predict. Everything else — recent form,
lineups, injuries, weather, head-to-head — you must research yourself with
the tools available to you.
Hard rules:
- Output strict JSON only. No prose outside the JSON, no preamble, no code fence.
- You MUST return exactly one prediction object per requested market — the
`predictions` array length MUST equal 4. No omissions, no excuses.
- Even with limited info you still commit to a pick + confidence + reasoning.
- `confidence` is YOUR probability for YOUR pick, expressed 0 to 1.
- Probabilities for the same market must sum to 1.0 (±0.02).
- For `correct_score`, the pick is a literal "home-away" string (e.g. "2-1",
"0-0"). Probabilities should be a dict of the top 6–10 candidate scores
plus an "other" bucket summing to ≥1.0.
- `reasoning` is 2–4 sentences, plain text, no markdown.
- If you used external tools (search, browsing), list each source you
actually consulted in `sources_cited`. Do not fabricate URLs.
- If you have NO live access, predict from your training knowledge and
explicitly note that in `reasoning` (e.g. "training data through 2025-09").
- `used_research_tools` is true if and only if you invoked at least one tool.
- Do not hedge. Do not say "I don't have enough data." Use what you have.
Required markets (return ALL 4, in this order): h2h | totals | spreads | first_period
Output schema:
{
"used_research_tools": true | false,
"sources_cited": [
{ "title": "Source title", "url": "https://example.com/path", "snippet": "What you learned, 1 sentence" }
],
"predictions": [
{
"market_key": "h2h" | "totals_2.5" | "btts" | "spreads_-1" | "...",
"pick": "<one of the outcome labels for this market>",
"confidence": 0.0,
"probabilities": { "<outcome>": 0.0, ... },
"reasoning": "2-4 sentences citing the key factors.",
"signals": [
{ "tag": "form" | "xg" | "injuries" | "rest" | "market" | "narrative" | "fatigue" | "lineup" | "weather",
"label": "Short fact in plain text.",
"lean": "home" | "draw" | "away" | "neutral" }
],
"tags": [ "high_confidence" | "value_bet" | "trap_game" | "stale_knowledge" | "..." ]
}
]
}
User brief (JSON)
{
"version": "v2",
"event": {
"id": 4968,
"sport": "ice-hockey",
"league": "NZIHL",
"starts_at": "2026-06-21T04:45:00+00:00",
"starts_at_human": "Sun, 21 Jun 2026 04:45:00 GMT",
"venue": null
},
"teams": {
"home": "Botany Swarm",
"away": "West Auckland Admirals"
},
"market_consensus": {
"h2h": [],
"extra_markets": [],
"note": "No bookmaker consensus available at build time — predict from public knowledge."
},
"markets_requested": [
"h2h",
"totals",
"spreads",
"first_period"
],
"research_directive": [
"Use any tools you have (web search, news, your training knowledge) to research:",
"recent form (last 5 matches), starting lineups, injuries / absences, weather (outdoor sports), head-to-head record, fatigue / rest days.",
"Cite specific sources in `sources_cited` when you use external tools.",
"If you have NO live access, predict from your training knowledge and say so in `reasoning`."
],
"sport_focus": [
"Confirm the starting goaltender and their recent save% — a backup or a cold starter swings the line and total.",
"Special teams decide tight games: compare power-play and penalty-kill percentages.",
"Back-to-backs and travel cause goalie/skater fatigue — flag the schedule spot.",
"Weigh recent scoring trends and home/road splits; injuries to top-six forwards or a top pairing matter most."
],
"team_context": {
"home_form": {
"last": "W",
"record": "1W-0D-0L",
"scored": 3,
"conceded": 1,
"matches": 1
},
"away_form": {
"last": "L",
"record": "0W-0D-1L",
"scored": 1,
"conceded": 3,
"matches": 1
},
"head_to_head": {
"recent": [
"2026-06-20: Botany Swarm 3–1 West Auckland Admirals"
],
"matches": 1
},
"rest_days": {
"home": 1,
"away": 1
},
"note": "Reference data from our settled-results database. Verify + extend it with your own research; it is not a substitute for current team news."
}
}
The hash above is SHA-256 of the canonical JSON brief. Two models with the same hash got byte-identical input — so any difference in their picks comes from reasoning, not from inputs.
Recent recaps
How the AI lineup did on other recent matches.
Get the AI consensus before kickoff
Free. Pre-match alert per AI + see your picks graded as results land.