{
  "id": "betting",
  "version": "847fb05eab50",
  "status": "published",
  "name": "Betting Calculator",
  "question": "How much does this sports bet pay?",
  "summary": "Computes the profit and total payout of a single bet from its stake and American, decimal or fractional odds, or the stake needed to win a chosen profit.",
  "category": "game",
  "subcategory": "betting",
  "url": "https://www.acalculator.org/game/betting-calculator",
  "markdown": "https://www.acalculator.org/game/betting-calculator.md",
  "kind": "function",
  "method": "Payout = stake × d; profit = stake × (d − 1); stake for a profit P = P ÷ (d − 1), where d is the decimal odds.",
  "assumptions": [
    "A single bet that either wins or loses; a loss returns nothing.",
    "Taxes and any fee the bookmaker charges on winnings are not included.",
    "Results are mathematics, not betting advice."
  ],
  "inputs": {
    "$schema": "https://json-schema.org/draft/2020-12/schema",
    "type": "object",
    "properties": {
      "format": {
        "title": "Odds format",
        "description": "The format of the odds you type: American, decimal, or fractional.",
        "type": "string",
        "enum": [
          "american",
          "decimal",
          "fractional"
        ]
      },
      "odds": {
        "title": "Odds",
        "description": "The odds of the bet in the chosen format, for example −110, 1.91, or 10/11.",
        "type": "string",
        "maxLength": 30
      },
      "mode": {
        "title": "I know",
        "description": "Whether you enter the stake (to see the payout) or the profit you want (to see the stake).",
        "type": "string",
        "enum": [
          "stake",
          "win"
        ]
      },
      "stake": {
        "title": "Stake",
        "description": "The amount you bet.",
        "type": "number",
        "x-unit": "USD",
        "exclusiveMinimum": 0,
        "maximum": 1000000000
      },
      "win": {
        "title": "Profit wanted",
        "description": "The profit you want if the bet wins, not counting the returned stake.",
        "type": "number",
        "x-unit": "USD",
        "exclusiveMinimum": 0,
        "maximum": 1000000000
      }
    }
  },
  "outputs": {
    "payout": {
      "label": "Total payout",
      "description": "What you get back if the bet wins: stake × decimal odds, stake included.",
      "format": "money"
    },
    "profit": {
      "label": "Profit if it wins",
      "description": "The payout minus the stake: stake × (decimal odds − 1).",
      "format": "money"
    },
    "stakeNeeded": {
      "label": "Stake",
      "description": "The amount bet: typed, or the profit wanted ÷ (decimal odds − 1).",
      "format": "money"
    },
    "probability": {
      "label": "Implied probability",
      "description": "The win chance the odds imply: 1 ÷ decimal odds, in percent.",
      "format": "percent"
    },
    "american": {
      "label": "American odds",
      "description": "The same odds in American format, rounded to 2 decimals.",
      "format": "text"
    }
  },
  "defaultAnswer": {
    "inputs": {
      "format": "american",
      "odds": "-110",
      "mode": "stake",
      "stake": 100,
      "win": 100
    },
    "outputs": {
      "payout": 190.9090909090909,
      "profit": 90.9090909090909,
      "stakeNeeded": 100,
      "probability": 52.38095238095238,
      "american": "-110"
    },
    "text": "A $100.00 bet at -110 pays $190.91 in total, a profit of $90.91, if it wins."
  },
  "examples": [
    {
      "given": {
        "format": "american",
        "odds": "-110",
        "mode": "stake",
        "stake": 110
      },
      "expect": {
        "profit": 100,
        "payout": 210,
        "stakeNeeded": 110
      },
      "source": "hand calculation in content.mdx: 110 × 100 ÷ 110 = 100 profit"
    },
    {
      "given": {
        "format": "american",
        "odds": "+250",
        "mode": "stake",
        "stake": 20
      },
      "expect": {
        "profit": 50,
        "payout": 70,
        "probability": 28.571428571428573
      },
      "source": "hand calculation in content.mdx: 20 × 250 ÷ 100 = 50"
    },
    {
      "given": {
        "format": "fractional",
        "odds": "5/2",
        "mode": "win",
        "win": 100
      },
      "expect": {
        "stakeNeeded": 40,
        "payout": 140,
        "american": "+250"
      },
      "source": "hand calculation in content.mdx: 100 ÷ 2.5 = 40"
    },
    {
      "given": {
        "format": "decimal",
        "odds": "1.5",
        "mode": "win",
        "win": 30
      },
      "expect": {
        "stakeNeeded": 60,
        "payout": 90,
        "american": "-200"
      },
      "source": "hand calculation in content.mdx: 30 ÷ 0.5 = 60"
    }
  ],
  "sources": [
    "Wikipedia, Fixed-odds betting (fractional, decimal and moneyline odds): https://en.wikipedia.org/wiki/Fixed-odds_betting",
    "Internal Revenue Service, Topic no. 419, Gambling income and losses: https://www.irs.gov/taxtopics/tc419",
    "National Council on Problem Gambling, help and treatment (1-800-MY-RESET): https://www.ncpgambling.org/help-treatment/"
  ],
  "related": [
    "odds",
    "parlay",
    "betting-odds",
    "hedge"
  ],
  "changelog": [
    {
      "date": "2026-09-28",
      "note": "Odds parser as on the odds calculator: shapes, decimal comma, same-price message (WP-70 QA)."
    }
  ]
}
