# Arbitrage calculator

An arbitrage calculator divides a total stake across all outcomes to equalize their returns. Add the reciprocals of the decimal prices: a sum below one indicates a mathematical price gap. Each allocation equals total stake divided by its decimal price and the probability sum, before fees, limits or settlement differences.

Canonical page: https://getoddsapi.com/arbitrage-calculator

## Free API key

Get a free GetOdds API key: **1,000 requests per UTC day and 60 per minute, no card**. One key covers REST and the hosted MCP server.

Sign up: https://getoddsapi.com/sign-up?ref=ai-claudebot

## Quickstart

1. Create an account at https://getoddsapi.com/sign-up?ref=ai-claudebot, open https://getoddsapi.com/dashboard and issue a key with the sources you need (draftkings, fanduel, betrivers, prizepicks or underdog). Keep it in a server environment variable named GETODDS_API_KEY.
2. Read current DraftKings NBA spreads with curl:

```bash
curl --fail-with-body "https://getoddsapi.com/api/v1/odds?sport=NBA&market=spread&fresh_only=true&limit=50" \
  -H "Authorization: Bearer $GETODDS_API_KEY"
```

3. The same request in Python (standard library only):

```python
import json, os, urllib.request

req = urllib.request.Request(
    "https://getoddsapi.com/api/v1/odds?sport=NBA&market=spread&fresh_only=true&limit=50",
    headers={"Authorization": "Bearer " + os.environ["GETODDS_API_KEY"]},
)
with urllib.request.urlopen(req) as res:
    rows = json.load(res)["data"]
for row in rows:
    print(row["away"], "at", row["home"], row["side"], row["line"], row["american"], row["observed_at"])
```

4. Check `observed_at`, `age_seconds` and `stale` on every row before using a price. Full reference: https://getoddsapi.com/docs

## Use with Claude (MCP)

```bash
claude mcp add --transport http getodds https://getoddsapi.com/api/mcp \
  --header "Authorization: Bearer $GETODDS_API_KEY"
```

The MCP tools follow the key's source grants and share its allowance. Setup guide: https://getoddsapi.com/use-with-claude

## Pricing

| Plan | Allowance | Price |
| --- | --- | --- |
| Free key | 1,000 requests a day, 60 a minute | $0, no card |
| Developer Bundle | 10,000 requests or credits a month on each of four sources | $149 a month |

Free development allowance: 1,000 requests per UTC day and 60 per minute per account, with no payment step. Paid: the Developer Bundle at $149 per month, with 10,000 monthly requests or credits on each of four sources.
Details: https://getoddsapi.com/bundle

## Calculator


Canonical page: https://getoddsapi.com/arbitrage-calculator
Markdown version: https://getoddsapi.com/arbitrage-calculator.md
Language: English. Formula review date: 2026-11-06.

An arbitrage calculator divides a total stake across all outcomes to equalize their returns. Add the reciprocals of the decimal prices: a sum below one indicates a mathematical price gap. Each allocation equals total stake divided by its decimal price and the probability sum, before fees, limits or settlement differences.

## Inputs

| Input | Default example | Instructions |
| --- | --- | --- |
| Outcome odds | 2.10,2.10 | Separate each price with a comma. |
| Stake ($) | 100 | Cash risked, before any winnings. |

## Formula

Q = Σ(1/dᵢ). Stakeᵢ = bankroll/(dᵢ × Q). Net = bankroll/Q − bankroll.

## Worked example

With $100 and prices of 2.10 on both outcomes, $50 on each produces a $105 return and $5 net before costs.

| Result | Value | Working |
| --- | --- | --- |
| Equalized net profit | $5 | 100 ÷ 0.952381 − 100 |
| Outcome 1 stake | $50 | 100 ÷ (2.1 × 0.952381) |
| Outcome 2 stake | $50 | 100 ÷ (2.1 × 0.952381) |
| Implied probability sum | 95.2381% | Sum of 100 ÷ each decimal price |

## Assumptions and limits

Only valid for exhaustive, mutually exclusive outcomes with matching settlement rules. Prices can move; bets may be limited, rejected or voided. A negative result is not arbitrage.

Inputs are supplied by the user. These calculators do not fetch live sportsbook prices, estimate a win probability, or recommend selections. Monetary examples use USD. Calculations run in the browser without an account. A shared calculation URL contains its entered numbers.

## Questions and answers

### How does the arbitrage calculator work?

An arbitrage calculator divides a total stake across all outcomes to equalize their returns. Add the reciprocals of the decimal prices: a sum below one indicates a mathematical price gap. Each allocation equals total stake divided by its decimal price and the probability sum, before fees, limits or settlement differences.

### What is the formula?

Q = Σ(1/dᵢ). Stakeᵢ = bankroll/(dᵢ × Q). Net = bankroll/Q − bankroll.

### Can you show a worked example?

With $100 and prices of 2.10 on both outcomes, $50 on each produces a $105 return and $5 net before costs.

### What assumptions should I check?

Only valid for exhaustive, mutually exclusive outcomes with matching settlement rules. Prices can move; bets may be limited, rejected or voided. A negative result is not arbitrage.

### Does the result include the original stake?

Total return includes a cash stake; net profit subtracts it. A stake-not-returned bonus is explicitly treated differently. Probability and margin outputs are percentages, not cash payouts.

### Can I share my calculation?

Use Copy link to share the current inputs. The URL contains your entered numbers. Calculations run in your browser and do not require an account.

## Embedding

Embed: https://getoddsapi.com/embed/arbitrage-calculator
Keep a visible attribution link to the canonical explanation. Embed pages are noindex; use the canonical page for indexing and citations.

## More tools

- [Odds calculator](https://getoddsapi.com/odds-calculator)
- [Parlay calculator](https://getoddsapi.com/parlay-calculator)
- [Odds converter](https://getoddsapi.com/odds-converter)
- [Implied probability calculator](https://getoddsapi.com/implied-probability-calculator)
- [Hedge calculator](https://getoddsapi.com/hedge-calculator)
- [No-vig calculator](https://getoddsapi.com/no-vig-calculator)
- [Hold and vig calculator](https://getoddsapi.com/hold-calculator)
- [Kelly criterion calculator](https://getoddsapi.com/kelly-calculator)
- [Expected value calculator](https://getoddsapi.com/expected-value-calculator)
- [Closing line value calculator](https://getoddsapi.com/closing-line-value-calculator)
- [Bonus bet conversion calculator](https://getoddsapi.com/bonus-bet-calculator)
- [Round robin calculator](https://getoddsapi.com/round-robin-calculator)
- [Teaser calculator](https://getoddsapi.com/teaser-calculator)
- [Same game parlay calculator](https://getoddsapi.com/same-game-parlay-calculator)

Independent educational product, not affiliated with any sportsbook or pick’em operator. Results are arithmetic, not predictions or betting advice. Only participate where lawful and within limits you can afford.
Responsible gambling resources: https://www.ncpgambling.org/
