Methodology
Rufusbot.com is a real-money monitoring surface. It does not display paper trading, fresh OOS, or backtest PnL on the public dashboard.
PnL definition
Total PnL is Binance USD-M Futures totalWalletBalance minus the fixed $5,000 starting balance. This account-level value is authoritative and remains complete even when Binance truncates the fetched trade history.
The chart shape is reconstructed from userTrades (realized PnL minus commission per fill) and FUNDING_FEE income, then shifted so its latest point always equals the authoritative wallet delta. Unrealized open-position PnL is shown separately and is not included in wallet PnL.
Trade and win-rate definition
A trade is one completed position episode: flat → long or short → flat. Binance execution rows are grouped across partial fills and scaled entries before win rate, profit factor, best trade, or worst trade are calculated.
Open positions and breakeven episodes are excluded from win rate. A buy that closes a short remains part of a SHORT episode; it is not mislabeled as a new long trade.
Advanced statistics
Completed trades count flat-to-flat episodes, while execution fills count the underlying Binance userTrades rows. Average trade, average win, average loss, payoff ratio, profit factor, duration, and best/worst results are calculated from completed episode net PnL after commissions.
Maker share and executed notional are fill-level statistics. Funding is reported separately; its effect is already reflected in wallet balance. Trade statistics begin at the configured live-session start.
Open position
The open-position panel uses Binance position-risk data for quantity, entry, break-even, mark and liquidation prices, notional, and unrealized PnL. Configured leverage comes from Binance symbol configuration.
Position age and fill count come from the reconstructed open episode. Open exposure is displayed separately and is never blended into realized PnL, completed-trade statistics, or win rate.
Data source
Server-rendered pages and API routes call the signed Binance Futures API using Cloudflare environment secrets. API keys never ship to the browser.
RUFUSBOT_LIVE_START_MS defines the beginning of the real-money monitoring window. Set it to the deployment start timestamp so old tests or unrelated account history are excluded.
Liveness
The homepage first renders with Binance data, then opens a Server-Sent Events stream. If the stream or Binance account state falls behind, the status pill changes away from LIVE and the live pulse stops.