Skill flagged — suspicious patterns detected

ClawHub Security flagged this skill as suspicious. Review the scan results before using.

Sdk

v1.0.2

AI-powered sports betting simulations with Monte Carlo analysis

0· 95·0 current·0 all-time

Install

OpenClaw Prompt Flow

Install with OpenClaw

Best for remote or guided setup. Copy the exact prompt, then paste it into OpenClaw for cannedoxygen/sdk.

Previewing Install & Setup.
Prompt PreviewInstall & Setup
Install the skill "Sdk" (cannedoxygen/sdk) from ClawHub.
Skill page: https://clawhub.ai/cannedoxygen/sdk
Keep the work scoped to this skill only.
After install, inspect the skill metadata and help me finish setup.
Required env vars: SOLANA_PRIVATE_KEY
Required binaries: node
Use only the metadata you can verify from ClawHub; do not invent missing requirements.
Ask before making any broader environment changes.

Command Line

CLI Commands

Use the direct CLI path if you want to install manually and keep every step visible.

OpenClaw CLI

Bare skill slug

openclaw skills install sdk

ClawHub CLI

Package manager switcher

npx clawhub@latest install sdk
Security Scan
VirusTotalVirusTotal
Benign
View report →
OpenClawOpenClaw
Suspicious
medium confidence
Purpose & Capability
The skill is an SDK that runs paid Monte Carlo simulations and performs on-chain payments via Solana. Requiring Node and a Solana private key is coherent with the stated purpose (it needs a wallet to pay $0.50 USDC per simulation). The codebase contains expected services (games, payment, simulation, picks) and constants for the API and treasury address.
Instruction Scope
SKILL.md explicitly instructs using process.env.SOLANA_PRIVATE_KEY to construct the client and to fund simulations; the instructions and included code reference api.edgebets.fun endpoints and the x402 payment flow only. There are no obvious instructions to read unrelated system files or to exfiltrate arbitrary data. However the SKILL.md and package README both instruct the agent (or developer) to provide the wallet secret in environment or file form — that grants the skill full control of that wallet.
Install Mechanism
There is no external install script that downloads arbitrary binaries or runs remote installers. The package contains source and a built dist/ bundle and would be installed via npm (edgebets-sdk). No network downloads from untrusted shorteners or extract/install steps are present in the skill metadata.
!
Credentials
The skill requires a single environment variable: SOLANA_PRIVATE_KEY. This is proportionate to performing on-chain payments, but a private key is extremely sensitive. Supplying it to the agent or storing it in an environment variable gives the SDK (and anything that can use the SDK) the ability to sign and submit arbitrary Solana transactions. The skill also includes a hard-coded treasury wallet address for payments — users should verify that address before sending funds.
Persistence & Privilege
The skill does not request 'always: true' and does not declare system config paths or other skills' credentials. It operates when invoked and does not assert permanent elevated presence in the agent.
What to consider before installing
This package appears to be a legitimate SDK for paid sports-simulation calls that uses Solana payments, and the code shows local transaction signing and API polling — which is expected. However: 1) Do NOT provide your main Solana private key to the agent. A private key in an environment variable gives full control of that wallet (ability to transfer funds). 2) Verify the package source and integrity (npm page, repository, checksums). The skill metadata here shows 'Source: unknown' even though package.json references edgebets.fun and a GitHub URL — confirm those links and check the upstream repo history and npm publisher. 3) Test with a throwaway wallet containing minimal funds (e.g., only enough USDC/SOL to run a single simulation) before using any real funds. 4) Prefer using a signing wallet adapter (wallet adapter or hardware wallet) that never exposes the raw secret to the runtime, or create a dedicated wallet with limited balance. 5) Verify the TREASURY_WALLET address and endpoints (api.edgebets.fun) independently. 6) If you need higher assurance, review the full payment-related code paths (payment.ts/simulation.ts) to confirm no network calls leak secret material and to confirm signature/proof flow is local. If you cannot verify the source, treat this skill as risky for holding any non-trivial funds.

Like a lobster shell, security has layers — review code before you run it.

Runtime requirements

Binsnode
EnvSOLANA_PRIVATE_KEY
latestvk979bn43gszfqtdx0qnv38awyd83x61d
95downloads
0stars
1versions
Updated 4w ago
v1.0.2
MIT-0

EdgeBets Sports Simulation

Run 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.

Quick Start

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);

When to Use This Skill

Use EdgeBets when the user asks about:

  • Sports game predictions or analysis
  • Win probabilities for upcoming games
  • Betting odds comparison and value detection
  • Monte Carlo simulations for sports
  • NBA, NFL, MLB, or MLS game analysis
  • Pick of the day or daily betting picks
  • Track record of past picks

Available Actions

1. Browse Today's Games (FREE)

Show available games without any payment required.

Trigger phrases:

  • "What NBA games are on today?"
  • "Show me today's NFL matchups"
  • "List MLS games"
  • "What baseball games are playing?"

Response format:

Today's NBA Games:
1. Lakers vs Celtics - 7:30 PM ET
2. Warriors vs Suns - 10:00 PM ET
...

2. Run Simulation ($0.50 USDC)

Execute 10,000 Monte Carlo simulations with full analysis.

Trigger phrases:

  • "Simulate the Lakers game"
  • "Run analysis on game 1"
  • "What are the odds for Warriors vs Suns?"
  • "Analyze the Chiefs game"

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

3. Get Pick of the Day (FREE)

Get the daily expert pick with analysis. No payment required.

Trigger phrases:

  • "What's the pick of the day?"
  • "Give me today's pick"
  • "What should I bet on today?"
  • "Show me the daily pick"

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.

4. Get Track Record (FREE)

View the historical performance of daily picks.

Trigger phrases:

  • "What's your track record?"
  • "How are the picks doing?"
  • "Show me past picks"

Response format:

Track Record: 45-32-3 (58.4%)
Current Streak: 4W
Recent: W W W W L W L W

5. Check Balance

Verify USDC balance before running simulations.

Trigger phrases:

  • "Check my balance"
  • "Do I have enough for a simulation?"

Payment Information

  • Cost: $0.50 USDC per simulation
  • Network: Solana mainnet
  • Protocol: x402 (automatic with SDK)

Environment Setup

Set your Solana wallet private key:

export SOLANA_PRIVATE_KEY='[your_private_key_array]'

The wallet needs:

  • At least $0.50 USDC for each simulation
  • Small amount of SOL for transaction fees (~0.001 SOL)

API Reference

Get Games

// 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');

Run Simulation

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)

Check Balance

const balance = await client.checkBalance();
// { usdc: 5.25, sol: 0.05, sufficient: true }

Get Pick of the Day

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"
// }

Get Track Record

const record = await client.getTrackRecord();
// {
//   wins: 45,
//   losses: 32,
//   pushes: 3,
//   winRate: 58.4,
//   streak: 4,
//   streakType: 'W',
//   recentPicks: [...]
// }

Supported Sports

SportCodeEndpoint
NBAnbaBasketball
NFLnflFootball
MLBmlbBaseball
MLSmlsSoccer

Links

Comments

Loading comments...