CRAFTPROFIT

How a CS2 trade-up contract works

A trade-up exchanges 10 same-rarity skins for one item of the next rarity. Covert uses a separate five-item contract for a knife or gloves. This guide explains the rules, CraftProfit calculations, odds and float examples, and costs to check before crafting.

1. Main rules

  • 10 skins of the same rarity — for normal contracts.
  • 5 skins of Covert rarity → one ★ knife or gloves (CS2 update).
  • • All inputs are the same rarity; the result is always one tier up.
  • • Collections can be mixed — the result comes from one of the participating collections.
  • StatTrak is crafted only from StatTrak; normal only from normal.
  • 5 StatTrak Covert items yield a StatTrak knife; gloves have no StatTrak version.

2. Rarity tiers

A contract moves an item one rung up this ladder:

Consumer GradeIndustrial GradeMil-SpecRestrictedClassifiedCovertExceedingly Rare ★

The last step (Covert → ★) is the knife craft: 5 inputs instead of 10.

3. Result wear (float)

CraftProfit calculates the output float from normalized input floats:

avg = (Σ norm_float of inputs) / N

result_float = min + avg × (max − min)

where norm_float of an input = (float − input min) / (input max − input min), and min/max in the second line is the result's own float range. N = 10 for a normal contract, N = 5 for Covert.

Example. All 10 inputs have a normalized float of 0.30, and the result's range is 0.06–0.80. Then output float = 0.06 + 0.30 × (0.80 − 0.06) = 0.282 → Field-Tested. Want a better output float — pick lower-float inputs.

4. How the calculator estimates odds

The calculator model first assigns a share to the collection, then to an outcome within it. Let N = total inputs (10, or 5 for knives), n = inputs from collection C, m = skins of the needed rarity in C.

P(specific result from C) = (nC / N) × (1 / mC)

A collection's share of the result = n / N (its inputs over all inputs), split evenly across that collection's m skins. More outputs in a collection means each one is rarer individually, not the collection likelier.

  • Single collection. If all 10 inputs are from one collection with m results, each result = 1 / m. E.g. 3 coverts in a collection → 33.3% each.
  • Mix. 9 inputs from collection A (m=2) + 1 from B (m=4), N=10: each A result = (9/10)×(1/2) = 45%, each B result = (1/10)×(1/4) = 2.5%. Check: 2×45% + 4×2.5% = 100%.
  • Doppler phases. For knives, m counts finishes, not individual phases. A finish's chance is split among its phases. CraftProfit weights for Doppler are 20:20:20:20:9:9:2 (Phase 1–4, Ruby, Sapphire, Black Pearl); Gamma Doppler uses 2:2:2:2:1 (Phase 1–4, Emerald). Weights are normalized to 100% across available phases. These are model assumptions, not a Valve-confirmed odds table.

Gamma Doppler example: if the finish chance is 1/30, the model estimates Phase 3 as (1/30) × (2/9) ≈ 0.74%, rather than 3.33%. This is a phase estimate for inputs from one collection; changing collections changes the result. Example: Butterfly Knife Gamma Doppler Phase 3 →

5. StatTrak and souvenirs

A StatTrak contract yields only a StatTrak result (and gloves have no ST version, so they drop out of the ST pool). Souvenir skins became valid inputs with the IEM Cologne 2026 update — the contract strips the souvenir attributes, and the output is a normal item.

6. Fees and profit (EV)

In CraftProfit, EV is the sum of (probability × net sale proceeds) over priced outcomes. Expected profit = EV − input cost; ROI = (EV − input cost) / input cost × 100%. Fees affect the net proceeds:

  • Steam — 5% Steam + 10% CS2 are added to the seller's amount. Approximately: seller proceeds = buyer price / 1.15. The calculator approximates this by deducting 13% of the buyer price, minimum $0.02. Rounding matters for cheap listings. Proceeds stay in your Steam Wallet.
  • CSFloat — 2% selling fee; cash withdrawals have a separate 0.5–2.5% fee, excluded from the sale calculation.
  • White.Market — 5%, minimum $0.01 according to its FAQ. The calculator applies 5%; check the minimum fee separately on very cheap listings.
  • DMarket — usually 2–10% depending on liquidity. The calculator's 7% is an assumption; the actual rate may be higher or lower.

Example: inputs cost $10 and net sale proceeds are $6 or $18 with a 50% chance each. EV = $12, expected profit = $2 and ROI = 20%, but the loss chance is still 50%. Positive expected profit does not guarantee a win. Compare assumptions and available listings in the profitable-crafts scanner.

7. Common mistakes

  • • Buying inputs on Steam when they're cheaper on CSFloat/White.Market.
  • • Ignoring the sale fee — the "gross" output price is misleading.
  • • Taking inputs from a collection with no results of the needed rarity — the game won't accept that contract.
  • • Counting on a better float than the inputs give — it's hard-fixed by the formula.
  • • Treating a thin market's "minimum lot" as the real sale price.

Sources and calculation limits

Reviewed September 9, 2026. Covert and Souvenir rules were checked against Valve updates. Formulas describe the current calculator; the numerical phase weights are not confirmed by these Valve sources. Prices, availability and fees can change.

Frequently asked questions

How many skins do you need for a trade-up contract?

Ten skins of the same rarity for normal contracts. The exception is a contract of 5 Covert (red) skins, which yields a ★ knife or gloves.

Can you mix collections in one contract?

Yes. All inputs must have the same rarity: 10 for a normal contract or 5 Covert. In the calculator model, a collection's share is its input count divided by the total input count, then split among that collection's outcomes.

How is the result's wear (float) computed?

The calculator averages normalized input floats: divide their sum by 10 for a normal contract or by 5 for Covert. The average is then scaled into the specific outcome's float range.

Can you get StatTrak from a trade-up?

Yes, but a contract of StatTrak inputs yields only a StatTrak result, and vice versa. Normal and StatTrak skins can't be mixed in one contract.

Is a trade-up always profitable?

No. EV is the expected net sale proceeds; expected profit is EV minus input cost. Positive expected profit does not guarantee profit from one contract. Check available listings, selling fees and any separate withdrawal costs.

Why does CSFloat show "Failed to Fetch Items — too many requests"?

The message may indicate a request limit or a temporary CSFloat access problem. Check whether you are signed in on CSFloat and try later without repeated refreshes. Signing in alone does not guarantee a fix. A cached CraftProfit price does not confirm that the listing is still available.

How a CS2 trade-up contract works — guide | CraftProfit