I was able to snag 4 SNES Classic pre-orders for me and 3 of my friends despite it being sold-out in seconds. The quick sell-out was largely due to auto-buying scripts/bots which can detect when an item becomes available and purchase multiple of them within seconds. Scalpers are paying $110 for bots like the Tai Ding bot to snag as many as they can to resell at considerable markups.
These scalpers were out in full force last year for the NES Classic and I almost didn't get one. I refused to be beat this year for the SNES Classic.
As a programmer, I was confident I could beat the scalpers at their own game. So, I wrote my own bot. It worked.
Before you get mad at me and call me a cheater, consider this: Scalpers exist and are not going anywhere. They say so themselves. A world without scalpers and auto-buying bots would be great, but it is not the world we live in. You can stand on the moral ground that using a bot is always wrong, or you can face the objective truth: A world in which only scalpers use bots is a world in which scalpers control a large amount of the stock. This creates a lucrative market for scalpers. In low stock, high demand scenarios (like the SNES Classic), every item bought for personal use is an item that would have been bought by scalpers. The more we can keep out of the hands of scalpers, the better.
I understand that this is not a solution for most people. I understand that most people can't reverse engineer Walmart's API and boil it down to an optimized, 3 HTTP request streamlined checkout process. But that's what it takes. Only a bot can defeat a bot.
I don't believe everyone having a bot is a good or realistic solution. There are solutions the retailers could implement to defeat or at least cripple bots:
Require a captcha to purchase high-demand items.Captchas are easily circumvented for a few pennies.
- Security through obscurity. Trick bots by adding a new obscure and unpredictable requirement for checkout right before the item becomes available for sale. This would break bots and not allow enough time for them to be fixed.
- Create better interfaces for one-click purchasing during high-volume traffic.
- Do not require users to race to complete the entire (slow and unreliable) checkout process. Once the item is added to the cart, allow customers a few minutes to complete the checkout process before allowing another customer to claim that stock.
- Restrict the number of purchases per address/credit card/driver's license/SSN/etc.
But, unfortunately, these solutions are not currently implemented and they probably never will be. The retailers do not care who buys their products or why. They know all their stock will be sold regardless.
Despite what you think about bots, in the end, the only way to defeat bad guys with bots is good guys with bots or by making bots ineffective. Currently, bots are very effective.
Further, paying $110 for an auto-buying bot is not much different than paying someone $110 to stand in line for you at a physical store. Or buying all of a store's stock when you get to the front of the line. This kind of behavior is inevitable and inescapable.
I am considering releasing my bot open source so anyone could use it for free. Would this level the playing field? Or only exacerbate the problem? I did not create my bot for scalping, but keep in mind that there is no way to limit my bot (or any bot) to be unusable for scalping.
I am also considering releasing it as a paid service. This way I could do much more to prevent its abuse by scalpers.