Inventory hoarding bots: holding stock they never buy

Short answer: Inventory hoarding is a denial of sale, not a theft. The bot places the item in a cart, the platform reserves the unit for the cart hold window, and the bot refreshes the session before the hold expires. Repeat that across hundreds of sessions and a launch sells out on paper while the warehouse shelf stays full and real buyers see out of stock.

The hold window is the weapon

Cart reservations exist for a good reason: a buyer entering payment details should not lose the item mid checkout. Hoarding stretches that courtesy into a lock. The operator's aim is usually resale leverage, forcing buyers to a secondary listing, or simple sabotage of a rival's launch. Either way, no purchase is intended, which is what separates hoarding from ordinary scalping bots that at least complete transactions.

The tell in the data is the ratio. Carts created, holds renewed, and checkouts completed should move together in human traffic. When holds renew many times per completed order and the pattern concentrates on one product and one launch window, you are looking at held stock, not hesitant shoppers.

Why CAPTCHA and rate limits miss it

A hoarding bot can move slowly. It does not need thousands of requests a minute; it needs each held session refreshed once per hold window. That pace sits under most rate limits, and a CAPTCHA solved once at session start can cover many renewals. Defences built for speed miss an attack built on patience.

Account requirements help only partly. Free accounts are cheap to farm, and aged accounts bought in bulk carry plausible history. The session behaviour is the stronger signal: renewal regularity that is too even, no browsing between renewals, and payment steps that are never started.

Shorten the leash on scarce launches

For limited releases, cut the hold window and say so on the product page. A short, visible hold, extended once when a buyer actively enters payment, frees hoarded stock quickly while barely touching real buyers, who either check out or were browsing anyway. The fairness argument matters: publish the rule before the launch, not after the complaints.

Cap active holds per account, per address, and per payment instrument for the launch SKU. One buyer can hold one unit while deciding. Nobody needs forty concurrent holds on the same size, and a cap written that plainly is hard for a hoarder to argue with in a support ticket.

When holds expire in bulk, stock reappears in a lump that the same bots can grab again. Stagger expiries or return units in small batches during the launch window, and watch completed checkouts by new buyers, not just units marked sold. A launch where held stock cycles between bots can show frantic activity and almost no genuine sales.

Release in waves and measure the right thing

After the launch, report the hold data honestly: carts created, holds expired unpurchased, units that never left the shelf despite a sold out page. Teams that only report sell out time will tune the next launch for the same failure, faster.

Keep reading: Which headless browser signals still separate bots from real shoppers?, How do bots abuse GraphQL endpoints that REST rate limits never see?.

Frequently asked questions

How is inventory hoarding different from scalping?

A scalping bot buys the stock to resell it. A hoarding bot never buys; it reserves stock in carts so nobody else can buy from the store, then profits elsewhere or simply damages the launch. The store records interest but no revenue.

How is inventory hoarding different from scalping?

Hold renewals per completed checkout, concentrated on one product, with sessions that renew on near identical intervals and never start payment. Human hesitation is irregular. Hoarding is metronomic.

How is inventory hoarding different from scalping?

A short hold with one extension when payment starts protects anyone genuinely checking out. The buyers it inconveniences are those who park scarce items for hours, which on a limited launch is exactly the behaviour the rule should discourage.

How is inventory hoarding different from scalping?

No. Bulk release hands the stock straight back to waiting bots. Staggered or batched release during the launch gives the queue of real buyers repeated chances instead of one scramble.

See your own numbers.

A free bot-traffic audit shows the human-automated split in your live traffic - no code changes, no commitment.

Get a free bot-traffic audit