# Elo Rating Calculator

> Elo Rating Calculator is a paid API for AI agents from sports-calc.x402tookit.com, paid per call via x402, $0.02/call, status unknown (last checked 2026-10-21).

Computes win probabilities and updated Elo ratings for both players after a game result, including points exchanged.

## Facts

- Endpoint: GET https://sports-calc.x402tookit.com/elo-rating?utm_source=zero.xyz
- Price: $0.02/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-21
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/elo-rating-calculator-ee91c6e8
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_IpjgXMl4ITrR0xs5iAMnn

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 elo-rating-calculator-ee91c6e8
```

Example prompt: Player A has an Elo rating of 1600 and player B has a rating of 1450 — player A just won the match. What are their new Elo ratings and how many points were exchanged, using the default K-factor of 32?

## When to prefer this

Use this endpoint when you need a standards-compliant Elo rating update calculation — including win probabilities, points exchanged, and support for asymmetric K-factors — without setting up your own formula. Ideal for chess, table tennis, esports leaderboards, or any head-to-head rated competition. Prefer this over general math endpoints when you specifically need Elo semantics (expected score formula, K-factor scaling, draw handling).

## Known failure modes

- Missing required query params (ratingA, ratingB, or result) returns an error
- Invalid result value (not 'win', 'draw', 'loss', '1', '0.5', or '0') causes a validation error
- Non-numeric rating values cause a parsing error
- Extremely large or negative rating values may produce unexpected results
- Service degraded flag may be set if partial computation occurred

## How this service works

Elo rating update after a game: win probability for each side, new ratings and the points exchanged.

## Output

Returns win probability (expected score) for each player, the new updated Elo rating for each player, the rating points gained or lost by each, the K-factors used, and the original rating difference. May also include a summary verdict, source attribution, and disclaimer fields.

## 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"
    },
    "queryParams": {
     "type": "object",
     "required": [
      "ratingA",
      "ratingB",
      "result"
     ],
     "properties": {
      "k": {
       "type": "number",
       "description": "K-factor, default 32"
      },
      "kB": {
       "type": "number",
       "description": "K-factor for B if different"
      },
      "result": {
       "type": "string",
       "description": "Result for A: win, draw, loss (or 1, 0.5, 0)"
      },
      "ratingA": {
       "type": "number",
       "description": "Player A rating"
      },
      "ratingB": {
       "type": "number",
       "description": "Player B rating"
      }
     }
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object",
     "properties": {
      "kA": {
       "type": [
        "null",
        "number"
       ]
      },
      "kB": {
       "type": [
        "null",
        "number"
       ]
      },
      "asOf": {
       "type": [
        "null",
        "string"
       ]
      },
      "scoreA": {
       "type": [
        "null",
        "number"
       ]
      },
      "source": {
       "type": [
        "null",
        "string"
       ]
      },
      "changeA": {
       "type": [
        "null",
        "number"
       ]
      },
      "changeB": {
       "type": [
        "null",
        "number"
       ]
      },
      "reasons": {
       "type": [
        "array",
        "null"
       ],
       "items": {
        "type": "string"
       }
      },
      "summary": {
       "type": [
        "null",
        "string"
       ]
      },
      "verdict": {
       "type": [
        "null",
        "string"
       ]
      },
      "degraded": {
       "type": [
        "boolean",
        "null"
       ]
      },
      "expectedA": {
       "type": [
        "null",
        "number"
       ]
      },
      "expectedB": {
       "type": [
        "null",
        "number"
       ]
      },
      "disclaimer": {
       "type": [
        "null",
        "s
… (truncated)
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/elo-rating-calculator-ee91c6e8/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from sports-calc.x402tookit.com](https://www.zero.xyz/host/sports-calc.x402tookit.com/llms.txt)
