← Back to Tools
Tool

Bankroll Manager

Set your bankroll, track spending, and stay within limits. Protect your funds and bet responsibly.

GamedaySchool Shield
Stay Disciplined Track limits
and spending
$0
Current Bankroll
$0
Daily Limit
Spent: $0
$0
Weekly Limit
Spent: $0
$0
Max Single Bet

Manage Bankroll

History

No activity yet. Set your bankroll to get started!

For informational purposes only. Not legal gambling advice. Must be 21+ in your jurisdiction.
Gamble responsibly. If you or someone you know has a gambling problem, call 1-800-522-4700.

// Bankroll Manager let bankroll = JSON.parse(localStorage.getItem('gameday_bankroll') || '{"amount":0,"dailyLimit":0,"weeklyLimit":0,"maxBet":0,"history":[]}'); let todaySpent = JSON.parse(localStorage.getItem('gameday_today_spent') || '0'); let weekSpent = JSON.parse(localStorage.getItem('gameday_week_spent') || '0'); function formatMoney(n) { return '$' + Math.abs(n).toFixed(2); } function saveLimits() { bankroll.amount = parseFloat(document.getElementById('setBankroll').value) || bankroll.amount; bankroll.dailyLimit = parseFloat(document.getElementById('setDaily').value) || 0; bankroll.weeklyLimit = parseFloat(document.getElementById('setWeekly').value) || 0; bankroll.maxBet = parseFloat(document.getElementById('setMaxBet').value) || 0; localStorage.setItem('gameday_bankroll', JSON.stringify(bankroll)); render(); } function adjustBankroll(direction) { const amount = parseFloat(document.getElementById('adjustAmount').value); if (!amount) return; const adjusted = amount * direction; bankroll.amount += adjusted; bankroll.history.unshift({ type: direction > 0 ? 'add' : 'remove', amount: adjusted, date: new Date().toLocaleDateString(), time: new Date().toLocaleTimeString() }); if (bankroll.history.length > 50) bankroll.history = bankroll.history.slice(0, 50); localStorage.setItem('gameday_bankroll', JSON.stringify(bankroll)); document.getElementById('adjustAmount').value = ''; render(); } function render() { document.getElementById('currentBankroll').textContent = formatMoney(bankroll.amount); document.getElementById('dailyLimit').textContent = formatMoney(bankroll.dailyLimit); document.getElementById('weeklyLimit').textContent = formatMoney(bankroll.weeklyLimit); document.getElementById('maxBet').textContent = formatMoney(bankroll.maxBet); document.getElementById('setBankroll').placeholder = bankroll.amount || '1000'; document.getElementById('setDaily').placeholder = bankroll.dailyLimit || '100'; document.getElementById('setWeekly').placeholder = bankroll.weeklyLimit || '500'; document.getElementById('setMaxBet').placeholder = bankroll.maxBet || '50'; // Progress bars const dailyPct = bankroll.dailyLimit > 0 ? Math.min((todaySpent / bankroll.dailyLimit) * 100, 100) : 0; const weeklyPct = bankroll.weeklyLimit > 0 ? Math.min((weekSpent / bankroll.weeklyLimit) * 100, 100) : 0; document.getElementById('dailyProgress').style.width = dailyPct + '%'; document.getElementById('weeklyProgress').style.width = weeklyPct + '%'; document.getElementById('dailyProgress').className = 'progress-fill ' + (dailyPct > 80 ? 'danger' : dailyPct > 50 ? 'warning' : 'safe'); document.getElementById('weeklyProgress').className = 'progress-fill ' + (weeklyPct > 80 ? 'danger' : weeklyPct > 50 ? 'warning' : 'safe'); document.getElementById('dailySpent').textContent = 'Spent: ' + formatMoney(todaySpent); document.getElementById('weeklySpent').textContent = 'Spent: ' + formatMoney(weekSpent); // History const list = document.getElementById('historyList'); if (bankroll.history.length === 0) { list.innerHTML = '

No activity yet. Set your bankroll to get started!

'; } else { list.innerHTML = bankroll.history.map(h => `
${h.date} ${h.time} ${h.type === 'add' ? '+' : ''}${formatMoney(h.amount)}
`).join(''); } } render();