Staking Tables & Leben-System
Referenz: /home/hlorenz/bet-assist-core/app/v0/
Leben (Lives) = Safe Rounds
Maximale Anzahl aufeinanderfolgender Verluste bevor Totalverlust.
Berechnung:
maxLives = quote + RISK_OFFSET
| Risikostufe | Offset | Bei Quote 4 |
|---|---|---|
| risky | 0 | 4 Leben |
| medium | +1 | 5 Leben |
| safe | +2 | 6 Leben |
| ultra_safe | +3 | 7 Leben |
| marathon | +4 | 8 Leben |
| immortal | +5 | 9 Leben |
| eternal | +6 | 10 Leben |
Verhalten:
- GEWINN: Lives werden auf maxLives ZURUECKGESETZT, Loop startet bei Runde 1
- VERLUST: 1 Leben weg, naechste Runde (hoeherer Einsatz), Bankroll bleibt gleich
- 0 Leben: Plan deaktiviert (Totalverlust)
Run Table (Staking Table)
Modifiziertes Martingale: Jede Runde garantiert den GLEICHEN Netto-Gewinn bei Sieg.
Kernformel:
r = quote / (quote - 1)
profit = bankroll / (r^maxRounds - 1)
stake_runde_1 = profit / (quote - 1)
stake_runde_n = (total_gesetzt + profit) / (quote - 1)
stake_letzte = bankroll - total_gesetzt (exakter Rest)
Invariante: potential_win - total_staked = profit (KONSTANT fuer alle Runden!)
Beispiel (Quote=4, medium/5 Runden, Bankroll=100EUR):
| Runde | Einsatz | Gesamt | Gewinn | Netto-Profit |
|---|---|---|---|---|
| 1 | 10.37 | 10.37 | 41.48 | 31.11 |
| 2 | 13.83 | 24.20 | 55.32 | 31.12 |
| 3 | 18.44 | 42.64 | 73.76 | 31.12 |
| 4 | 24.58 | 67.22 | 98.32 | 31.10 |
| 5 | 32.78 | 100.00 | 131.12 | 31.12 |
Skalierung: Basistabelle immer fuer 100 EUR, dann proportional auf tatsaechliche Bankroll.
Ueberlebenswahrscheinlichkeit
win_prob_per_runde = 1 / quote
survival_pro_loop = 1 - (1 - win_prob)^maxRounds
erwartete_loops_bis_totalverlust = 1 / (1 - survival)
| Stufe | Leben (Q=4) | Profit% | Survival/Loop | Loops bis Verlust |
|---|---|---|---|---|
| risky | 4 | ~46% | ~68% | ~3 |
| medium | 5 | ~31% | ~76% | ~4 |
| safe | 6 | ~22% | ~82% | ~5.5 |
| ultra_safe | 7 | ~15% | ~87% | ~7.5 |
| marathon | 8 | ~11% | ~90% | ~10 |
| immortal | 9 | ~8% | ~93% | ~14 |
| eternal | 10 | ~6% | ~95% | ~20 |
Wettplan (Instance)
Drei Bankroll-Werte:
originalBankroll → aendert sich NIE (Referenzwert)
bankroll → Basis fuer Skalierung, steigt nach jedem Gewinn
currentBankroll → Aktuell verfuegbar, sinkt wenn Wette platziert
Eingaben bei Erstellung:
- Name, Buchmacher, Bankroll (min 10 EUR), Quote (2-30)
- Risikostufe, Ziel-Multiplikator (2x, 3x, 5x, 10x)
- Kategorie: standard oder longterm
Gewinn-Pfad:
gewinn = stake * quote
currentBankroll += gewinn
bankroll = currentBankroll (neue Basis)
livesRemaining = maxLives (Reset)
currentLoopRound = 0 (Neustart mit groesserer Bankroll)
→ Ziel pruefen (currentBankroll >= targetAmount?)
Verlust-Pfad:
livesRemaining -= 1
currentLoopRound bleibt (naechste Runde = +1 im Table)
bankroll UNVERAENDERT
→ livesRemaining <= 0? Plan tot.
Alte DB-Felder (Supabase Postgres)
betting_instances:
id, user_id, bookmaker_id, name,
original_bankroll_cents, bankroll_cents, current_bankroll_cents,
target_multiplier, target_amount_cents, target_achieved, final_profit_cents,
quote, risk_factor, run_table_id, category, risk_modifier,
survival_probability, max_lives, lives_remaining, lives_used,
active, locked, current_round, created_at, updated_at
betting_sessions:
id, instance_id, user_id,
current_round, lives_remaining, max_lives,
total_rounds, total_wins, total_losses,
current_loop_active, current_loop_round, current_loop_total_staked_cents,
current_loop_id, can_close, level, total_xp,
created_at, last_updated
Betraege in Cent (Integer) fuer Praezision.