Every buy writes a line on the coin's tab: the wallet, the amount of pair asset spent, and the block. The tab has a window that starts at the last pour. At the next pour, one line from the window is drawn, weighted by amount, and the jackpot lane is paid to that line's wallet.
weight(line) = line.amount if not voided else 0 pick = seed mod Σ weight walk the window summing weights until the running sum exceeds pick
A wallet that sells any amount before the pour has all of its lines in the window voided. It stays on the tab, crossed out, so the receipt shows what happened. If every line is voided, or there are no lines, the jackpot rolls forward and is added to the next pour's jackpot lane.