Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.cs2cap.com/llms.txt

Use this file to discover all available pages before exploring further.

CS2Cap’s liquidity score estimates how easy an item is to trade right now. It is an item-level score from 0 to 100, where higher values mean deeper sell-side supply, stronger buy-side demand, more recent trading activity, steadier pricing, and better confirmation from major marketplaces. The score is exposed on market analytics responses such as GET /market/items/item_id and market snapshots. Liquidity is currently scored on the 24-hour horizon.

Score summary

The normal score is the sum of five components:
ComponentPossible score (range)
Sell-side depth015
Bid/ask quality010
Recent activity035
Price stability020
External confirmation020
The final score is rounded to the nearest integer and clipped to the 0-100 range.
liquidity =
  sell-side depth
  + bid/ask quality
  + recent activity
  + price stability
  + external confirmation

Input data

Liquidity is built from current market data and recent activity:
InputWhat it means
Active sell listingsThe number of currently available listings for the item across supported marketplaces.
Current buy ordersThe strongest currently available buy order compared with the cheapest currently available listing.
Recent item consumptionHow many units disappeared from active marketplace supply during the last 24 hours. This is used as the activity signal.
Recent price observationsHow many hours in the last day had usable item pricing, and how much those hourly prices moved.
Major-market confirmationSteam sales activity and Buff163 order-book quality, used as outside confirmation that the item is genuinely tradable.
Prices are normalized to USD before ratio calculations. The score is calculated from the current lowest ask and highest bid across eligible providers, not from a single marketplace unless only one provider has usable data.

Sell-side depth

Sell-side depth measures how much supply exists for the item right now.
  • Range: 0-15
  • Curve: logarithmic
  • Saturation point: 500 active listings
The logarithmic curve means that the distance in score between an item with 1 vs 20 listings will be greater than an item with 400 vs 500 listings.

Sell-side depth climbs fast, then flattens

The first few listings matter most. After the market is already deep, extra listings add less signal.

Sell-side depth curve from zero to fifteen points
The result is clipped to 15.

Bid/ask quality

Bid/ask quality measures how close the strongest buyer is to the cheapest seller. A buyer offering $95 against a cheapest listing of $100 is much healthier than a buyer offering $50 against that same listing.
  • Range: 0-10
  • Buyer offers 50% or less of the cheapest listing: 0 points
  • Buyer offers 95% or more of the cheapest listing: 10 points
  • Between 50% and 95%: scales linearly
A tighter gap means buyers are already close to sellers, so the item is easier to exit without a large discount.

Bid/ask quality is flat, then linear, then capped

Weak buy orders add no confidence. Once buyers get close to sellers, each step tighter adds predictable score.

Bid ask quality ramp from zero to ten points

Recent activity

Recent activity measures how much of the item was consumed from active marketplace supply during the last 24 hours.
  • Range: 0-35
  • Curve: logarithmic
  • Saturation point: 200 consumed units in the last 24h
This measures how many units left active marketplace supply in the last 24 hours, which closely approximates actual sales volume.

Recent activity rewards real movement

The curve gives strong credit once an item is clearly moving, then slows as activity approaches the cap.

Recent activity curve from zero to thirty five points

Price stability

Price stability rewards items that have been observed consistently and have not had extreme hourly price swings.
  • Range: 0-20
  • Observation density max: 10 points
  • Price stability max: 10 points
  • Window: last 24h hourly close prices
Half of this component comes from observation density: an item seen in more hourly periods gets more credit than an item seen only once or twice. The other half comes from price steadiness. Items with very stable hourly prices get the most credit. Items with large swings relative to their average price lose stability points, and extremely volatile items receive no credit for the steadiness half.

Price stability needs coverage and calm pricing

A stable item is seen often and does not swing wildly relative to its usual price.

Recent coverageup to 10 pts
Price steadinessup to 10 pts

Sparse observations or sharp relative price movement reduce this component, even if the current bid and ask look healthy.

External confirmation

External confirmation adds independent evidence from Steam and Buff163.
SignalMax pointsHow it works
Steam sales activity12Logarithmic curve, saturates at 120 sold in 24h
Buff163 listing depth5Logarithmic curve, saturates at 30 listings
Buff163 tight gap bonus3Added when Buff163 bid/ask ratio is at least 0.85

External confirmation is additive

Major-market evidence can add up to 20 points when Steam activity and Buff163 order-book quality agree.

1253
Steam activityBuff163 depthTight buy-side confirmation

High-tier external override

Some expensive items have little or no Steam sold volume but are still highly liquid. CS2Cap has a narrow high-tier override for those cases. The override can increase the external confirmation component when all of these are true:
  • Steam volume is missing or at most 1
  • Buff163 has at least 5 listings
  • Buff163 ask is at least $700
  • Buff163 bid/ask ratio is at least 0.85
When this applies, the response marks that the high-tier override was used.

API fields

Analytics responses (GET /market/items/* endpoints) include the total score and component breakdown:
{
  "liquidity": 78,
  "listing_score": 15,
  "gap_score": 10,
  "volume_score": 35,
  "stability_score": 10,
  "external_score": 8,
  "liquidity_last_updated": "2026-03-21T06:48:43.193895Z"
}
Use the component fields to understand why an item scored the way it did. For example, a score can be high on listing depth, spread, and churn while still losing points because the Steam/Buff163 external confirmation is weak or stale.

Caching and freshness

Liquidity scores update as market data changes. There may be a brief delay between a price change and the corresponding score update.

How to interpret scores

ScoreInterpretation
80-100Very liquid. Strong depth, tight bids, meaningful churn, and good confirmation signals.
60-79Liquid. Tradable under normal conditions, but one or two components may be weaker.
30-59Moderate or situational liquidity. Check spread, depth, and recent volume before relying on fast execution.
0-29Low liquidity. The item may be thin, stale, volatile, or poorly confirmed by external signals.
Liquidity is a tradability signal, not a price forecast. A high score means the item is easier to buy or sell with less friction. It does not mean the item is underpriced or expected to rise.
Last modified on May 23, 2026