MetaPicks

QUANT +EV ENGINE

Multi-Book No-Vig Devigger β€’ Monte Carlo Sim β€’ AI Slip Doctor

Target Slip:
βš™οΈ πŸ“– Active Slip 6
πŸ”’ Admin / Developer Panel (Hidden from Public Visitors): Use this private view to test data feeds, manage your backend API keys, or copy the background polling worker.

Real-Time Data Feed & API Connector

Connect your personal API keys or test keyless live scoreboard endpoints directly from the browser

Live Fetch Ready
1. Keyless Live Game & Schedule Feed (ESPN Public Endpoint)
Fetches live games, start times, and team matchups with zero API key required
Click "Test Live Fetch" to query site.api.espn.com for live matchups, or inspect the pre-loaded slate.
2. πŸ”’ Server-Side Environment Variable Vault (`.env` / `os.environ`) chmod 600 β€’ localStorage Purged
All secret keys are stored in metapicks/.env and loaded via os.environβ€”never persisted in browser localStorage.
Environment Variable Type Masked Value Storage Source
3. πŸ” Hardened Admin Gate & Google Identity Allowlist SHA-256 + 30m TTL
Configure your custom Admin Master Passcode (salted SHA-256) and authorized Google Admin email.

Personal Polling Worker (Python)

Fetches PrizePicks + SharpAPI / The Odds API and computes +EV locally

import requests

import os
from backend.env_loader import load_dotenv_file

# 1. Load all secrets & config strictly from .env / os.environ (chmod 600)
load_dotenv_file()
ODDS_API_KEY = os.environ.get("ODDS_API_KEY", "")
SHARP_API_KEY = os.environ.get("SHARP_API_KEY", "")
SPORT = os.environ.get("DEFAULT_SPORT", "basketball_nba")

def american_to_implied(odds):
    return (-odds / (-odds + 100)) if odds < 0 else (100 / (odds + 100))

def devig_multiplicative(fav_odds, dog_odds):
    p_fav = american_to_implied(fav_odds)
    p_dog = american_to_implied(dog_odds)
    return p_fav / (p_fav + p_dog)

# 2. Compare against PrizePicks 6-Pick Flex Break-Even (54.21%)
BE_6_FLEX = 0.5421
true_win = devig_multiplicative(-145, +115)
edge = true_win - BE_6_FLEX
print(f"True Win: {true_win:.2%} | Edge vs 6-Flex: {edge:+.2%}")