Install
openclaw skills install sdkAI-powered sports betting simulations with Monte Carlo analysis
openclaw skills install sdkRun professional-grade Monte Carlo simulations for sports betting analysis. Get win probabilities, projected scores, spread predictions, and edge detection for NBA, NFL, MLB, and MLS games.
npm install edgebets-sdk
import { createClient } from 'edgebets-sdk';
const client = createClient(JSON.parse(process.env.SOLANA_PRIVATE_KEY));
// Get today's games (FREE)
const games = await client.getGames('nba');
// Run simulation ($0.50 USDC)
const result = await client.simulate('nba', games[0].id);
Use EdgeBets when the user asks about:
Show available games without any payment required.
Trigger phrases:
Response format:
Today's NBA Games:
1. Lakers vs Celtics - 7:30 PM ET
2. Warriors vs Suns - 10:00 PM ET
...
Execute 10,000 Monte Carlo simulations with full analysis.
Trigger phrases:
Response format:
Simulation Results: Lakers vs Celtics
Win Probabilities:
- Lakers: 45.2%
- Celtics: 54.8%
Projected Score: Lakers 108 - Celtics 112
Projected Total: 220 points
Predicted Spread: Celtics -4
Edge Analysis:
- Value detected on Lakers ML (+3.2% edge)
- Kelly recommends 2.1% bankroll
Get the daily expert pick with analysis. No payment required.
Trigger phrases:
Response format:
Pick of the Day: Lakers ML
Game: Celtics @ Lakers - 7:30 PM ET
Pick: Lakers Moneyline (-110)
Confidence: HIGH
Win Probability: 58.2%
Edge vs Market: +4.1%
Analysis: Lakers are 8-2 at home in their last 10...
If game already played:
Today's pick (Lakers ML) has been graded: WIN
New pick available at 2 AM Central.
View the historical performance of daily picks.
Trigger phrases:
Response format:
Track Record: 45-32-3 (58.4%)
Current Streak: 4W
Recent: W W W W L W L W
Verify USDC balance before running simulations.
Trigger phrases:
Set your Solana wallet private key:
export SOLANA_PRIVATE_KEY='[your_private_key_array]'
The wallet needs:
// Today's games
const games = await client.getGames('nba');
// Tomorrow's games
const tomorrow = await client.getTomorrowGames('nfl');
// Specific game
const game = await client.getGameDetails('mlb', 'mlb-2026-03-28-nyy-bos');
const result = await client.simulate('nba', gameId, {
onStatus: (status) => console.log(status), // 'paying', 'processing', 'complete'
});
// Result includes:
// - homeWinProbability, awayWinProbability
// - averageHomeScore, averageAwayScore
// - predictedSpread, averageTotalPoints
// - edgeAnalysis (value detection)
// - bettingInsights (fair odds)
// - factorBreakdown (what's driving the prediction)
const balance = await client.checkBalance();
// { usdc: 5.25, sol: 0.05, sufficient: true }
const pick = await client.getTodaysPick();
// {
// hasPick: true,
// isTodaysPick: true,
// pick: {
// sport: 'nba',
// pick: 'Lakers',
// pickType: 'moneyline',
// winProbability: 0.582,
// confidence: 'high',
// result: 'pending' // or 'win', 'loss', 'push'
// },
// message: null,
// nextPickTime: null
// }
// If game already played:
// {
// hasPick: true,
// pick: { ... result: 'win' ... },
// message: "Today's pick has been graded: WIN. New pick at 2 AM Central.",
// nextPickTime: "2:00 AM Central"
// }
const record = await client.getTrackRecord();
// {
// wins: 45,
// losses: 32,
// pushes: 3,
// winRate: 58.4,
// streak: 4,
// streakType: 'W',
// recentPicks: [...]
// }
| Sport | Code | Endpoint |
|---|---|---|
| NBA | nba | Basketball |
| NFL | nfl | Football |
| MLB | mlb | Baseball |
| MLS | mls | Soccer |