14

I have been using Steam Market for some years. Several times in the past, I have been surprised by:

  • the priority seemingly given to some buy orders which were lower than the bid,
  • even though the item in question was a commodity.

For reference, this is how "commodity" items are described on the page of a market listing:

This item is a commodity, where all the individual items are effectively identical. Individual listings aren't accessible; you can instead issue orders to buy at a specific price, with the cheapest listing getting automatically matched to the highest buy order.

Earlier today, I was able to get a screenshot of this seemingly inconsistent behavior for sacks of gems, which are commodity items. In the screenshot below:

  • the ask is at 0.31 €,
  • the bid is at 0.30 €,
  • there are more than 5 thousand buy orders at 0.29 €,
  • the user jmakela4228 buys an item for 0.28 €,

Steam Market: buy orders which are lower than the bid are fulfilled

For reference, jmakela4228 happens to be one bot of one of the largest networks of bots (if not the largest network) operating on Steam Market. If you often buy or sell trading cards and booster packs for the less popular games, you are bound to encounter one of these bots.

jmakela4228

If you check clees42's profile, there are 640 similarly named bots in his list of Steam contacts, and the main account has 158 thousand market transactions by itself.

Number of transactions

I wonder whether it is:

  • an exploit,
  • a display bug, and the buy order was not actually fulfilled for the displayed price,
  • the result of rounding in a currency stronger than the euro (EUR €), maybe the pound sterling (GBP £).

The fact that the buyer is a bot could be a coincidence, as it is expected that one of the biggest botnet in the gem/card arbitrage business should also be expected to purchase large volumes of gems at regular intervals.

Potentially relevant threads:

7
  • I'm unclear from the question how you know what the bots actual buy order was. It was sold for 0.28 but that doesn't mean that that was the buy order that was put in as I understand it (the price of the sale is based on the sell order and not the buy order). If the bot had a buy order for 0.31 and somebody put in a sell order for 0.28 I'd expect the bot to buy it for 0.28 (the sale price). Perhaps you could update the question to highlight how you know what the bots buy order actually was.
    – Chris
    Commented Jan 25, 2022 at 12:12
  • Good point: I know the sell order, and the price agreed upon for the transaction, but I cannot be sure what the buy order was. In theory, it could have been set to 0.30€ and sitting in the queue. In practice, I doubt it: i) I have performed more than 23,000 market transactions and I have never encountered this behavior, my buy orders have always been fulfilled for their exact price, ii) there were only 26 buy orders at 0.30€, and a few were mine and had been set a few minutes earlier. I cannot rule out the theory with utter certainty, but the theory seems extremely unlikely in this case.
    – Wok
    Commented Jan 25, 2022 at 13:25
  • My understanding is that the final price is always set by the sell order. So if every buy order is for $200 and I put in a sell order for $0.28 then one of those buyers will buy it for $0.28. So in a situation like this I think the weird thing is why the person chose to sell at $0.28. When there were apparently buy orders for higher. Arguably you could also ask why steam even allows you to sell for lower than the lowest buy order. Perhaps though they decided that if people wanted to do that then why should they stop it?
    – Chris
    Commented Jan 25, 2022 at 14:36
  • I understand the scenario which you describe, but I doubt it works that way as I have never encountered it despite setting hundreds of buy orders, especially for sacks of gems. I have always paid exactly the amount set in my buy orders, never less.
    – Wok
    Commented Jan 25, 2022 at 15:36
  • 1
    Yes, it should be possible to conduct an experiment. However, this would have to be done with a less popular item, e.g. an emoji or a profile background. Indeed, i) we don't know the number of people who area in the queue at 0.20 € for sacks of gems, but it is likely non-zero, and ii) we would prefer to have access to the 3 actors: the seller, the high bidder and the low bidder, to know their perspective. I will try to do that the next time I have the opportunity.
    – Wok
    Commented Jan 25, 2022 at 18:37

1 Answer 1

16

I have asked this question on Discord to one of the most prominent members of Steam Community Market: the creator of ASF and an administrator of Archi's SC Farm (more than 1.5 million members).

He confirmed that the description is misleading: the implementation of buy orders is not what one would expect.

Description

Confirmation

Basically:

  • with 30 unrestricted bots, you could set 100 buy orders at 0.01€, 0.02€, ..., 0.30€ with each bot, for a total of 4.65 €,
  • then perform transactions at prices lower than the bid, skipping the queues of people with higher buy orders, whenever a seller nonchalantly sets a sell order below the bid, maybe expecting the Steam Market to work as in the description.

For reference, if you try to buy an item, the dialog box contains the mention of a maximum price: you are guaranteed to spend at most the amount mentioned in your buy order.

This is the most you can end up spending as a result of this buy order. Items will be purchased at the cheapest price available, so the order may end up costing less than this amount.

Buy order

In contrast, if you try to sell an item, there is no option of a minimum price. To the contrary, it is written that the buyer will pay the exact amount mentioned in your sell order.

Sell order

I believe the system is set-up this way to passively enforce the ceiling on Steam Wallet balance.

Currently we are restricting Steam Wallet balances to $2000. In other currencies, the limit will be set to a value close to $2000. We also limit the maximum price of a single listing on the market to $1800 (or similar for other currencies). You will be restricted from listing items for sale in the Community Market if the existing balance in your Steam Wallet, plus the sale price of the item(s), would together exceed the $2000 limit.

Even if this asymmetry between buy and sell orders is intended by Valve, I am surprised that pre-existing buy orders are seemingly given an inconsistent priority when matched with a sell order.

Indeed, as I mentioned in a comment below the question, I have placed hundreds of buy orders in the past, and I have always paid the exact amount mentioned in my buy borders set at (or below) the bid, never less. So my experience is consistent with Archi's statements: a sell order which is below the bid seems to be matched with a buy order:

  • whose price perfectly matches the sell order,
  • and which should not have been prioritized over the highest buy orders (at the bid).

I will try to conduct an experiment once I have access to 3 unrestricted accounts.


By monitoring the real-time view of "recent activity" for sacks of gems, we can witness an event consistent with Archi's statements, where:

  • the first buyer in the queue at the bid (0.30€) is called uNNamed,
  • there is one buy order fulfilled at 0.29€ between buy orders of uNNamed.

15h42 15h42

15h57 15h57

16h03 16h03

16h16 16h16

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.