On June 23, 2026, Valve’s Steam Machine officially went on sale. Starting at $1,049 (512GB version), the top-tier 2TB + Steam Controller bundle at $1,328. The pricing blew up HN — 891 comments, 1010 points. But what really excited the tech community wasn’t the price, the hardware specs, or even LTT Labs’ teardown of the “Newell Nucleus” SoC. The densest discussion on HN was the math behind Valve’s anti-scalping system.
Valve didn’t use a first-come-first-served flash sale. No lottery. No ID upload requirement. Instead, it did something that looks “anti-efficient”: stretched the reservation window to two and a half days (June 23 to June 25, 10 AM PT), then after the window closed, did a one-time random shuffle of the entire reservation list. On top of that, three hard thresholds: Steam account must be in good standing, must have made at least one purchase before April 27, 2026, and a limit of one per household. Selected users receive an email and have 72 hours to complete payment, or their slot passes to the next in line. Unselected users go to a waiting list — nobody gets turned away.
Individually, none of these four measures is novel. Together, they form a mechanism that made HN user tmoertel reach for a formula to analyze.
Randomization Isn’t About Fairness — It’s a Dimension Reduction Attack
Scalpers’ business model relies on two certainties: demand far exceeds supply, and they can reach the transaction endpoint faster than real users. First-come-first-served (FCFS) flash sales are a scalper’s perfect hunting ground — scripts respond in milliseconds, humans click in seconds, and the gap is amplified into a blowout on any page with a countdown timer.
The randomized reservation queue changes the coordinate system. It no longer competes on speed — it competes on authenticity. In the 48-hour reservation window, latecomers and early birds stand on equal footing. The one-time random shuffle after the window closes kicks the time dimension out of the competition entirely.
tmoertel’s HN analysis translates this intuition into math. In an unauthenticated FCFS system, a scalper’s expected share depends on the ratio of accounts they can inject into the queue versus total demand. If total demand is N, scalpers control s eligible accounts, and real players have g accounts, then the scalper’s expected share is roughly s / (s + g). When scalpers can inflate s arbitrarily through bulk registration, this ratio can easily exceed 50%.
But Valve added a second layer on top of randomization — account reputation scoring welded that door shut. The April 27 cutoff date is the most critical number in the public information. Valve chose a timeline established before the Steam Machine announcement, meaning any account registered after the news broke is ineligible to reserve. s can no longer be inflated with new registrations.
The scalper’s remaining path is stockpiled accounts — bought black-market accounts, rented old accounts, hoarded dormant accounts. But these face two problems. First, their quantity is far smaller than real active users. Steam has over 130 million monthly active users, with no small fraction having made purchases before April 27, 2026. The number s of scalper-held accounts meeting the triple condition of “old account + purchase history + good standing” is a small quantity next to real players g. When s/g approaches zero, the scalper’s actual share also approaches zero. Second, the one-per-household limit cuts off the scalper’s ability to consolidate purchases from scattered accounts — even if you luck into 10 slots, 10 different shipping addresses is a high enough physical barrier.
This is why tmoertel’s conclusion was that “scalpers are systematically excluded” — the system design makes it impossible for scalpers to profit in expectation even if they exist. Profiting requires s to be large enough, and s is compressed toward zero by three layers of filtering (time threshold, reputation threshold, household limit).
Engineering Comparison of Five Approaches
Placing Valve’s mechanism on the spectrum of anti-scalping solutions reveals its trade-offs more clearly.
| Approach | Core Mechanism | Scalper Impact | Real User Cost | Representative Case |
|---|---|---|---|---|
| FCFS (First-Come-First-Served) | Sorted by request time | Very low — scripts crush humans | Users must camp, compete on speed, repeatedly defeated by bots | PS5 launch, NVIDIA RTX 30 series |
| Pure lottery | Random selection | Medium — scalpers can enter multiple accounts | Randomly fair, but users feel no control | Some sneaker releases |
| Real-name + facial ID | Bind real identity | High — hard to multi-account | Massive privacy cost, poor cross-border usability | Some Chinese shopping scenarios |
| Invite-only | Vendor proactively selects users | High — vendor controls allocation | Opaque qualification, users feel treated arrogantly | Sony PS5 early invites, NVIDIA Priority Access |
| Randomized reservation + reputation tiers | Time-window random shuffle + account history filtering | High — s/g approaches zero | Requires old account, new users excluded | Valve Steam Machine |
The most critical column in the table is “Real User Cost.” Anti-scalping has never been a purely technical problem — every approach draws a different boundary between “excluding scalpers” and “harming real users.” FCFS draws the boundary at “speed,” resulting in harming every real person who doesn’t use a script. Lottery draws the boundary at “luck,” harming users who want certainty through effort. Real-name draws the boundary at “privacy,” harming those unwilling to surrender biometric data. Invite-only draws the boundary at “vendor preference,” harming the silent majority not selected by algorithms.
Valve’s approach draws the boundary at “account history.” A Steam user who’s never spent money on the platform, or whose account is recently created, may be excluded by this boundary. This isn’t perfect — a PC gamer who only registered on Steam on April 28, 2026 won’t applaud the logic. But from an engineering perspective, this approach accomplishes one thing: it limits collateral damage to a definable, predictable population that’s highly negatively correlated with scalper behavior. New accounts aren’t necessarily scalpers, but scalpers almost always use new accounts. Valve’s deliberate tilt toward “better to mistakenly exclude new users” is a conscious engineering decision, not an oversight.
A Simplified Randomized Allocation Model
Valve hasn’t published its exact algorithm, but a close skeleton can be reconstructed from public information. Here’s a simplified Python implementation illustrating the core logic:
import random
from datetime import datetime, timedelta
CUTOFF_DATE = datetime(2026, 4, 27)
WINDOW_CLOSE = datetime(2026, 6, 25, 10, 0) # 10am PT
MAX_PER_HOUSEHOLD = 1
AVAILABLE_UNITS = 50000 # Valve hasn't disclosed initial shipment quantity
class Reservation:
def __init__(self, steam_id, account_created, has_purchase_before_cutoff,
is_good_standing, household_id):
self.steam_id = steam_id
self.account_created = account_created
self.has_purchase_before_cutoff = has_purchase_before_cutoff
self.is_good_standing = is_good_standing
self.household_id = household_id
def filter_eligible(reservations):
"""Layer 1: hard eligibility filter. Disqualified entries dropped."""
eligible = []
seen_households = set()
for r in reservations:
if not r.is_good_standing:
continue
if not r.has_purchase_before_cutoff:
continue
if r.household_id in seen_households:
continue # one per household
seen_households.add(r.household_id)
eligible.append(r)
return eligible
def allocate(reservations, available_units):
"""Layer 2: one-time random shuffle, then sequential allocation."""
eligible = filter_eligible(reservations)
# One random shuffle — no time priority across the entire window
random.shuffle(eligible)
winners = eligible[:available_units]
waitlist = eligible[available_units:]
return winners, waitlist
The engineering intuition behind this skeleton: the filter layer solves “who gets to enter the arena,” and the randomization layer solves “who among the qualified gets it first.” The two layers are independent; parameters for each can be tuned separately — the cutoff date can move forward or backward, randomization can use weighted random (e.g., higher weight for older accounts), and the household limit can switch to physical address matching. This modular structure means Valve doesn’t have to start from scratch when facing new scalper strategies.
But this model has an implicit assumption: Valve can distinguish “active players” from “dormant accounts.” Steam’s account reputation scoring is multi-dimensional — purchase history, playtime, community contributions (workshop, reviews, guides), account age, VAC ban history, payment method consistency. Valve knows how valuable your game library is, when you last opened Dota 2, and how many of your friends have been on your list for over three years. A scalper can buy an old account with purchase history, but can’t give it ten years of playtime and 200 friends. The combination of these dimensions forms a moat far deeper than “did you spend money before the cutoff date.”
Why This Approach Is Called “Elegant”
HN’s praise for this system centered on the word “elegant.” In engineering context, this has a specific meaning: maximum leverage with minimum complexity. Valve didn’t invent new cryptographic protocols, deploy zero-knowledge proofs, or introduce on-chain identity verification. It used data Steam already had — purchase records, account status, home addresses — plus a random number generator.
The four mechanisms together produce results greater than the sum of their parts:
- Time window eliminates script advantage — you don’t need to be faster than a scalper bot; you just need to click sometime in 48 hours.
- Cutoff freezes account supply — scalpers can’t expand their forces after the announcement;
sis locked at its pre-announcement value. - Reputation scoring excludes zero-history accounts —
s’s “effective supply” is further compressed to old accounts with real usage traces. - Household limit cuts off consolidated delivery — even if a scalper’s
sexceeds 1, they can’t fulfill at the same physical address.
These four steps form a funnel: from “everyone who wants to buy” to “those eligible to buy” to “those randomly selected” to “those who can actually receive the goods.” At each step, the leakage rate is asymmetric — real users lose a few percentage points per step; scalpers lose an order of magnitude per step.
This asymmetry is the essence of the s/g formula. If the scalper’s initial s is only 1/100 of real players, after four layers of filtering, the proportion that ultimately gets a machine may be as low as 1/10000. And the entire system never asks a single real user to do anything they don’t already do on Steam.
Limitations and Open Questions
Based on publicly available information, this approach isn’t without weaknesses.
First, the gray market for old accounts persists. A Steam account with 5 years of history, purchase records, and good standing commands a price on the black market — not negligible, but not high enough to deter scalpers either, as long as the per-unit resale margin on a Steam Machine exceeds the account cost plus machine cost. The cutoff date restricts new account injection but doesn’t eliminate trading in existing old accounts. The effectiveness of this defense partly depends on the price elasticity of the black-market old-account trade — a data point Valve knows but outsiders can only guess at.
Second, randomized reservations resemble traditional lotteries formally but differ in user perception — because Valve didn’t call it a lottery. The 48-hour reservation window gives users the illusion of “being in line,” even though the queue will be randomly shuffled after closing. Whether this constitutes mild psychological manipulation is worth discussing. One HN user asked bluntly: “What’s the difference from a lottery? Just hiding the drawing box.” But another reply pointed out a key difference: lotteries are resolved in seconds; randomized reservations stretch the “feeling of participation” to 48 hours, and that participation itself consumes some of the buying anxiety. From a psychological perspective, less anxiety means higher acceptance of the outcome — even when the outcome is equally random.
Third, this system’s success heavily depends on Valve keeping its definition of “good standing” opaque. If scalpers knew the precise weights of the reputation score, they could target-farm accounts. The fuzzy scoring standard is itself a security barrier. But this barrier comes with a cost — rejected users don’t know what they did wrong or how to improve. It’s like a credit card denial: the algorithm says you don’t qualify, but won’t tell you why.
Fourth, the demand magnitude for the Steam Machine is uncertain. If demand vastly exceeds supply — say 5 million reservations for 50,000 units — even with s/g approaching zero, 450,000 real users won’t get a machine. They’ll reappear as secondary market buyers, which is precisely the fundamental condition for scalpers’ existence. Anti-scalping systems prevent scalpers from intercepting at the allocation stage, but they can’t eliminate the supply-demand gap itself. As long as the gap exists, the secondary market won’t disappear — the only difference is whether machines are resold by “lucky real users” or by “filtered-out scalpers.” In the former case, at least scalpers didn’t capture the first-layer markup.
Other Vendors’ Results
Sony’s PS5 launch used classic FCFS with a half-baked queue — users flooded in the instant the countdown hit zero, pages crashed, units sold out in three seconds, and eBay markups floated between 50% and 200%. Sony later introduced randomized queues on PlayStation Direct, but without a hard account history threshold, scalpers could still participate with multiple devices and accounts. NVIDIA’s RTX 30 series was another disaster — between 2020 and 2022, the crypto mining boom and scalpers drove secondary market prices for an RTX 3080 to triple MSRP at one point. NVIDIA tried invite-only (filtering through GeForce Experience for users with high playtime), but execution and coverage were far less thorough than Valve’s effort.
Valve’s unique advantage is its 20-year accumulated account ecosystem. Sony’s PSN accounts have history too, but PSN purchase data is less dense — console users may primarily buy physical discs. NVIDIA has GeForce Experience but no e-commerce platform. Valve is the world’s largest PC game distribution platform and hardware sales channel combined, meaning its “user profile” isn’t just thicker than competitors’ — it’s transaction-grade. Steam knows how much you’ve spent, which games you’ve bought, what devices you play on, and even your game refund frequency. This data asset is the fundamental premise for the s/g formula to work. Without account history data, randomized reservations are just a friendlier lottery — they lose the critical second layer of filtering.
Conclusion
Valve’s anti-scalping system for the Steam Machine is, at its core, an exercise in returning allocation rights to time — not seconds of rush-purchasing, but years of account accumulation. Scalpers excel at rate competition — millisecond script responses, multi-threaded concurrency, IP pool rotation. Valve changed the contest from “speed” to “history.” A real player who has accumulated years of behavior on Steam doesn’t need to do any extra work — they’re already more valuable than any scalper’s stockpiled accounts.
s/g → 0 is a system design goal, not a mathematical identity. The cutoff date, reputation scoring, household limit, and random shuffle form a control surface that lets Valve tune parameters to counter evolving scalper strategies, rather than designing a new purchase mechanism from scratch for every product launch. For a company planning ongoing hardware releases (Steam Frame VR is already on the roadmap), this means anti-scalping is no longer an emergency PR exercise for each launch, but an iterable engineering subsystem.
As for how low this system can actually push scalper share, how many new users get caught in the crossfire, and whether the cutoff strategy will eventually spawn an underground “account farming” industry — the answers won’t be revealed on launch day. But at least today, Valve produced an answer that made the HN technical community want to pull out scratch paper and derive a mathematical model. That alone is a better outcome than most anti-scalping systems achieve.