🎯Edge HunterSJA

Loading…

🇰🇭 Phnom Penh --:--:-- UTC --:-- · Paris --:-- · ET --:-- | 30s · Trades --:--:-- · Calc --:--:-- · Sport --:--:-- · Surveillance --:--:--
Window
Category
Strategy
Platform

💵 Trades réels

P&L net réalisé
— wins / — losses · — pending
dry-run : –
P&L en attente
si Yes résout (upper bound)
dry-run : –
Bankroll requis
in_play × safety
Investi total
— trades total
Capital en cours
trades non résolus
Win rate
sur résolus
ROI réalisé
P&L / Investi résolu

📊 P&L par type de trade

Décomposition Limit (above/below avec strike) vs Up/Down (5min Binance candles). Chaque type a son propre cap (Limit $50, Up/Down $5 actuellement).
Type Trades Wins Losses Pending Win rate Investi P&L ROI
loading…

🚀 Liste des trades

Tous les trades exécutés ou tentés. Badge RÉEL = vraie monnaie engagée. Badge DRY_RUN = simulation seulement.
Expired ratio 24h: · 7j: · 30j:
When (PP) Mode Type Marché Résolution Size Prix Profit espéré (si Yes) Outcome Truth live P&L réel Status
loading…

💰 Redeem winnings

Réclamer les positions gagnantes on-chain. Polymarket auto-redeem la plupart des hourly markets ~30-60 min après résolution, mais ce panneau est utile pour les marchés NegRisk longs, les zombies, ou si le bot Polymarket plante. Toujours simuler d'abord (dry-run) pour vérifier qu'aucune simulation eth_call ne revert, puis passer en live.
Total redeemed à date
– claims · since –
Reste à redeem
– positions ≥ $0.10
Dernier redeem
Résultat de redeem affiché ici après run.

Historique des redeems (30 derniers)

Date (PP)USDCMarché
loading…

🧮 Calculateur P&L par bet size

Projections basées sur les vrais trades observés (table executions). Pour chaque bet size, on calcule : combien de trades par jour, profit espéré, ROI, et bankroll requis.
Bankroll = peak concurrent in-play × bet × safety_factor (5x) — couvre le pic d'investissement simultané + une marge pour absorber les pertes.

⏱️ Combien de temps pour scaler à $1 000/trade ?

Compounding sans retrait. La bankroll croît chaque jour du profit, ce qui permet de bumper le bet (= bankroll / 12), ce qui augmente le profit, etc.

Jour Date Bankroll Bet possible Profit/jour Capture Note
Lance le simulateur

🏀 Sports — passive simulation (Phase 1)

Mode collecte de données — AUCUN argent engagé. Les signaux sport sont logués en kind=sports_sim avec dry_run=1 forcé. Quand on aura ≥200 signaux résolus, on aura un win rate fiable et on pourra décider d'activer le trading réel sport (= Phase 3).

Pour activer la collecte sur prod : SPORTS_SIM_ENABLED=1 dans /opt/polymarket/.env, puis restart scanner. Seuils par défaut : last_price≥0.85, bid≥0.80.
Filtre horizon
Quel horizon (= minutes_to_expiry au moment du signal) aurait matché ce trade ?
Signaux collectés
— markets uniques
Win rate observé
— résolus
P&L hypothétique ($10/trade)
si on avait tradé
ROI hypothétique
sur capital engagé

Distribution par horizon (= time-to-resolve au signal)

HorizonMarkets uniques
loading…

Distribution par bucket d'ask

Ask rangeMarkets uniques
loading…

Derniers markets sport détectés

When (PP) Horizon Event Market Ask Bid Last px Status
Loading… Si vide après plusieurs heures, vérifier que SPORTS_SIM_ENABLED=1 sur prod.

🛡️ Surveillance & Sécurité

Vue temps-réel de la santé du système, des risques détectés, et des actions recommandées. Données rafraîchies à chaque clic sur refresh. Watchdog tourne toutes les 6h en arrière-plan (cron).

⛔ Circuit breakers

Loading…
Trigger Seuil État live Diagnostic
loading…
Historique des déclenchements
QuandTriggerStrategyMessageRésolu
Aucun événement encore (= très bonne nouvelle).
Status du process scanner sur le VPS Helsinki. Un cycle = 1 boucle complète qui interroge l'API Gamma de Polymarket et détecte les mispricings. Un cycle prend ~2s. Sain = cycles > 0 sur la dernière heure et erreurs < cycles. Si cycles = 0, le scanner est mort → SSH + journalctl.
Scanner
– cycles · – errors · – ms avg
Mode RÉEL = chaque signal détecté déclenche un VRAI ordre on-chain (Polygon, USDC engagé). DRY_RUN = simulation seulement, rien envoyé à Polymarket.

bet $X = montant fixé par trade (env EXECUTOR_BET_PER_TRADE_USD). daily limit $Y = perte cumulée max sur 24h avant que le circuit breaker arrête tout (env EXECUTOR_MAX_DAILY_LOSS_USD). Si la perte du jour dépasse Y, l'executor refuse tout nouvel ordre — il faut investiguer puis reset manuellement.
Executor mode
bet $– · daily loss $–
Kill switch = arrêt d'urgence. Si le fichier /tmp/polymarket-kill existe sur le VPS, l'executor refuse de placer le moindre ordre (mais le scanner continue de détecter, juste sans trader).

Pour activer : ssh root@VPS && touch /tmp/polymarket-kill
Pour désactiver : rm /tmp/polymarket-kill (uniquement après avoir compris ce qui a déclenché).

Utile pour : maintenance, flash crash crypto, soupçon de bug, départ vacances.
Kill switch
/tmp/polymarket-kill
Watchdog = script qui tourne toutes les 6h via cron sur le VPS et fait 11 checks (GitHub V3, USDC depeg, depth book, win rate, disk, etc.). Envoie une alerte Telegram (@hermessjabot) si un signal se déclenche.

OK = run récent (<8h). STALE = pas tourné depuis >8h, vérifier le cron : cat /etc/cron.d/polymarket-watchdog.

État dans /opt/polymarket/data/watchdog_state.json.
Watchdog
last run: –
P&L cumulé depuis le début = profit/perte total réalisé sur l'ensemble de l'historique du bot (depuis sa première execution réelle). Inclut TOUS les trades fillés, exclut les phantoms (expired_no_fill).

ROI = P&L / capital total investi. Indique l'efficacité globale.

Aujourd'hui : P&L jour utilisé pour le circuit breaker (kill auto si perte ≥ EXECUTOR_MAX_DAILY_LOSS_USD).
P&L cumulé (depuis début)
– trades · ROI –% · jour: –
Win rate cumulé = pourcentage de trades RÉELS résolus en "Yes" depuis le début (= sur l'intégralité de l'historique, pas une fenêtre). Affiché seulement si on a ≥1 trade résolu, sinon "–".

Vert ≥95% (sain). Bleu 90-95% (acceptable mais surveille). Rouge <90% (anomalie : front-run MEV ou bug détecteur).

Sous 90%, le watchdog déclenche une alerte Telegram et tu dois mettre EXECUTOR_DRY_RUN=true le temps d'investiguer.
Win rate cumulé
trades réels résolus
Depth book moyenne = combien de USDC sont dispo au best ask sur les markets éligibles, en moyenne, sur les 7 derniers jours. C'est le signal n°1 de la santé de notre niche.

Si la depth est haute (>$1 000), peu de bots concurrents → on a de la place pour des bets gros. Si elle baisse drastiquement (par exemple $1 500 → $400), c'est qu'il y a une arrivée massive de bots qui mangent la liquidité avant nous.

Baseline 30j = depth moyenne sur les 30j précédents (= valeur de référence stable). Le watchdog alerte si la 7j chute de ≥50% vs baseline.

"Dispo après 30j d'historique" signifie qu'on n'a pas encore 30 jours de data dans la DB — la baseline sera utilisable une fois qu'on aura assez d'historique (= ~3 semaines à compter de maintenant).
Depth récente (7j)
vs baseline 30j
Disk usage sur la partition /opt/polymarket/data/ où vit la SQLite (signals.db). La DB grossit ~10 MB/jour (signals + executions + outcomes). À 80%, le watchdog alerte. À 95%, le scanner peut crasher silencieusement.

Pour faire la place : cd /opt/polymarket && sqlite3 data/signals.db 'VACUUM;' (réorganise et compresse) + nettoyage logs journalctl --vacuum-size=200M.
Disk usage
– GB free
Markets exploitables maintenant = combien de markets "Bitcoin/Ethereum above ___ on X, YH ET?" sont actuellement en horizon (-10min → +4h) avec un best_ask < 0.99.

Si 0 depuis plusieurs heures = soit Polymarket a réduit le nombre de strikes par heure, soit les bots arbitrageurs sont devenus trop rapides. Le scanner ne peut plus trader.

Vert ≥ 5 · Bleu 1-4 · Rouge 0.
Markets éligibles (above-format)
– sur – en horizon · ask < –
Liste des markets en horizon avec leur ask actuel. Permet de voir d'un coup d'œil pourquoi le scanner ne trade pas (tous à 1.00, etc.).
Sample des markets en horizon

🚨 Risques détectés & actions

Liste des signaux qui appellent une attention. Trié par sévérité (critical → medium). Si vide = tout est sain.
loading…

📊 Catalogue complet des risques

Inventaire exhaustif. Status temps réel pour les risques surveillés automatiquement. OK = surveillé, sain. WARN = surveillé, attention. ALERT = surveillé, déclenché. MANUAL = non auto, à ta vigilance.

🌍 Risques externes (hors de notre contrôle)

Risque Impact Probabilité 12m Délai réaction Mitigation Surveillance Status
loading…

🛠️ Risques internes (sous notre contrôle)

Risque Impact Probabilité 12m Délai réaction Mitigation Surveillance Status
loading…

💼 Risques business / personnels

Risque Impact Probabilité 12m Délai réaction Mitigation Surveillance Status
loading…

📋 Playbook — décisions par scénario

Mémo des actions par situation. Référence rapide quand un risque se déclenche.
Scénario observé Signal mesurable Action recommandée
Migration CLOB V3 sur Polymarket Tag v3.x apparaît sur GitHub Polymarket/py-clob-client 1. Lire le changelog · 2. pip install py-clob-client-v3 en venv test · 3. Adapter executor.py · 4. Phase dry_run 24h avant prod
Geoblock élargi (Helsinki blacklisté) HTTP 403 sur /order dans logs Migrer VPS vers une autre région autorisée (Mexico, Sydney). Pré-build une image Hetzner ailleurs.
Saturation niche (>100 bots competition) Depth 7j ≤ $400 (vs baseline $1 500) 1. Pivot sport (NBA, soccer) · 2. Limitless on Base · 3. WebSocket pour latency · 4. Réduire bet_per_trade
Win rate s'effondre (<90%) WR 7j affiché < 90% 1. Augmenter DETECTOR_SAFETY_MARGIN_PCT à 0.7 · 2. Touch kill switch · 3. Investigate (front-run MEV ?)
Daily loss hits limit P&L jour ≤ -EXECUTOR_MAX_DAILY_LOSS_USD Circuit breaker auto-déclenché. Vérifier executions, RCA, reset après confirmation.
Compte Polymarket flagged (multi-account) HTTP 403 ou compte gelé STOP immédiat tous comptes famille. Appeler support Polymarket. Vérifier les 6 conditions cumulatives.
Disk full (>90% partition) Disk usage card en rouge sqlite3 signals.db 'VACUUM;' · ajouter rotation logs · upgrade Hetzner si récurrent
Régulation CFTC ou Polymarket ban Tweet @PolymarketHQ + dashboard down Off-ramp USDC immédiat. Pivot Limitless / Drift Bet (DeFi). Cf. doc Obsidian section "Markets alternatifs".
Stéphane indispo >1 semaine 1. Set EXECUTOR_DRY_RUN=true avant départ · 2. Read-access dashboard pour proche · 3. Runbook print

🔧 Commandes rapides

Kill switch (stop executor) : ssh root@VPS && touch /tmp/polymarket-kill
Tail logs scanner : journalctl -u polymarket-scanner -f
Tail logs watchdog : tail -f /var/log/polymarket-watchdog.log
Run watchdog manuellement : cd /opt/polymarket && set -a; . .env; set +a; .venv/bin/python scripts/watchdog.py
Health check : curl https://polymarket.hi-commerce.fr/api/health
Restart scanner : systemctl restart polymarket-scanner
Smoke test : bash /opt/polymarket/scripts/smoke-test.sh