# Predge Sports Outcome Attestation

> Predge Sports Outcome Attestation is a paid API for AI agents from api.predge.io, paid per call via x402, $0.02/call, status unknown (last checked 2026-09-14).

Returns a cryptographically signed (ed25519) attestation of a completed sports game outcome for a given league and event ID, optionally verifying a predicted winner.

## Facts

- Endpoint: GET https://api.predge.io/v1/sports/attest/%7Bleague%7D/%7BeventId%7D
- Price: $0.02/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-14
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/predge-sports-outcome-attestation-3bbd603a
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_Qzl9zAjhrabnJKQtkABq0

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability predge-sports-outcome-attestation-3bbd603a
```

Example prompt: Get me a signed attestation for the MLB game between COL and MIL (event ID 401816246) — I need to verify that COL won so I can resolve my Polymarket prediction.

## When to prefer this

Choose this endpoint when you need a cryptographically verifiable, offline-auditable proof of a sports game outcome — particularly for resolving prediction market contracts, smart contract oracles, or any use case requiring tamper-proof attestation rather than a plain score lookup. It is especially suited for Polymarket-style markets where you need to prove a specific team won a specific event.

## Known failure modes

- Game not yet completed — returns incomplete/no result
- Invalid league identifier — unrecognized league slug
- Invalid or unknown eventId — no matching event found
- Payment failure — x402 micropayment not completed, returns 402
- Network or upstream ESPN data unavailability — may return stale or error response

## How this service works

Real-time alerts on whale traders on Polymarket. Heuristic Insider Watch, wallet scoring 0–100, Bloomberg-style web terminal. Free plan included.

## Output

A JSON object containing a signed ed25519 attestation of the game outcome, including: home and away team abbreviations, scores, winner, league, event ID, completion status, scheduled and issued timestamps, data source (ESPN), a canonical JSON string for offline verification, the ed25519 hex signature, the issuer's public key, and an optional 'correct' field indicating whether the queried winner matched the actual winner.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "required": [
  "input"
 ],
 "properties": {
  "input": {
   "type": "object",
   "required": [
    "type",
    "method"
   ],
   "properties": {
    "type": {
     "type": "string",
     "const": "http"
    },
    "method": {
     "enum": [
      "GET"
     ],
     "type": "string"
    },
    "pathParams": {
     "type": "object"
    },
    "queryParams": {
     "type": "object",
     "properties": {
      "winner": {
       "type": "string",
       "description": "Optional team abbreviation to check correctness for (e.g. COL)"
      }
     }
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object"
    }
   }
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "kind": "sports-outcome",
  "issuer": "predge.io",
  "verify": "ed25519: verify `signature` (hex) over the UTF-8 bytes of `canonical` using `public_key` (hex, raw 32-byte ed25519). `canonical` is JSON with keys sorted lexicographically and no whitespace.",
  "correct": true,
  "payload": {
   "away": "COL",
   "home": "MIL",
   "kind": "sports-outcome",
   "event": "COL at MIL",
   "issuer": "predge.io",
   "league": "mlb",
   "source": "espn",
   "winner": "COL",
   "correct": true,
   "version": "predge-attest-v1",
   "event_id": "401816246",
   "completed": true,
   "issued_at": "2026-07-25T10:00:00.000Z",
   "away_score": 5,
   "home_score": 2,
   "scheduled_at": "2026-07-24T20:10Z",
   "queried_winner": "COL"
  },
  "version": "predge-attest-v1",
  "algorithm": "ed25519",
  "canonical": "{\"away\":\"COL\",\"away_score\":5,\"completed\":true,\"correct\":true,\"event\":\"COL at MIL\",\"event_id\":\"401816246\",\"home\":\"MIL\",\"home_score\":2,\"issued_at\":\"2026-07-25T10:00:00.000Z\",\"issuer\":\"predge.io\",\"kind\":\"sports-outcome\",\"league\":\"mlb\",\"queried_winner\":\"COL\",\"scheduled_at\":\"2026-07-24T20:10Z\",\"source\":\"espn\",\"version\":\"predge-attest-v1\",\"winner\":\"COL\"}",
  "signature": "3a1f…64-byte-hex…9c",
  "data_basis": "Settled game result from ESPN's public scoreboard (final score + winner). Outcome-verified truth, not a prediction — signed so a consumer can verify it offline.",
  "public_key": "d75a9807...c7e2a1",
  "queried_winner": "COL",
  "outcome_verified": true
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/predge-sports-outcome-attestation-3bbd603a/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from api.predge.io](https://www.zero.xyz/host/api.predge.io/llms.txt)
