The Anatomy of Price: Decoding Backpack.tf Websocket Events

Summary: The community price reflects the base item (immutable properties), while suggested accounts for instance-specific modifications.

When parsing the Backpack.tf websocket API, it is important to understand the distinct roles of the three price fields:

  1. Usage of suggested: This field is the primary source for modified items (Parts, Paint, KS), as it accounts for those properties.
  2. Usage of community: This field acts as a baseline for the base item. It ignores attachments and may be null for specific variants.
  3. Usage of steam: This field matches the Steam Community Market hash name and may be missing for complex modified items that lack a direct SCM listing.

Price Divergence in Killstreak Variants

The most striking proof of this architecture comes from analyzing items where the “Immutable” base value diverges from the “Instance” value.

Case 1: The Invisible Killstreak (Null Community Price)

For high-tier killstreaks, the community price often vanishes entirely because users cannot vote on specific tiers.

Item: Professional Killstreak Festive Huntsman

  • Observation: The community field is null, but suggested correctly values the Pro Kit (~6 keys) on top of the base bow (~4.6 keys).
// Tier 3: Professional Killstreak Festive Huntsman
"price": {
  "community": null,          // <--- Fails to match "Pro KS" variant
  "suggested": {              // <--- Algorithmic sum (Base + Pro Kit)
    "raw": 603.14,
    "short": "10.25 keys"
  }
}

Compare this to the base item, where they match perfectly:

// Tier 0: The Festive Huntsman
"price": {
  "community": {              // <--- Matches base pricelist
    "short": "4.1–5.1 keys"
  },
  "suggested": {
    "short": "4.6 keys"
  }
}

Case 2: The "Blind" Community Price (Parts & Paint)

When an item does have a community price, that price is "blind" to attachments.

Item: Strange Thermal Tracker (with Paint & Parts)

  • Observation: community returns the cheap base Strange price. suggested adds nearly a key of value for the parts.
"price": {
  "community": {
    "value": 0.75,            // <--- Base Strange Price (Blind to parts)
    "short": "0.75–1.1 keys"
  },
  "suggested": {
    "short": "1.67 keys"      // <--- Includes Parts & Paint Value
  }
}

The Three Pillars of Value (Definitions)

1. steam: SCM Listing

  • What it is: Lowest/Median SCM listing.
  • Behavior: Strictly tied to the Steam Market Hash Name. Often missing (null) for kit-applied items because SCM listings are for the base item or the kit, not the combined asset.

2. community: Immutable Baseline

  • What it is: User-voted suggestions from the main stats page.
  • Behavior: A Baseline Lookup based on Defindex + Quality. It blindly ignores mutable properties.

3. suggested: Instance Value

  • What it is: Algorithmic estimation of the specific instance.
  • Behavior: Sums Base + Value(Parts) + Value(Paints) + Value(Killstreak). This is your "True" market estimate for modified items.