The Complete CS2 Trade-Up Contract Guide

10 min read · CSAlpha Team

A CS2 trade-up contract is a deterministic crafting recipe: you commit ten skins of the same rarity, and the game returns one skin of the next rarity tier up. Nothing about the core mechanic is random chance in the "loot box" sense — the possible outputs, their odds, and the exact float of whichever one you receive are all computable in advance from the ten inputs you choose. This guide covers every moving part: the rarity ladder, the 10:1 rule and collection weighting, the float formula that decides wear, expected value, and the marketplace fees that decide whether a contract is actually worth running.

Everything below is the same math CSAlpha's calculator runs client-side and the same math behind every row on the live trade-up board.

The Rarity Ladder

Weapon skins in CS2 sit on a six-rung rarity ladder. A standard trade-up contract always consumes ten inputs from one rung and returns one output from the rung directly above:

Input rarityOutput rarity
Consumer GradeIndustrial Grade
Industrial GradeMil-Spec
Mil-SpecRestricted
RestrictedClassified
ClassifiedCovert

Covert is the ceiling of this ladder — there is no rarity above it for the standard 10:1 mechanic to climb into. A separate contract type, the gold contract, sits above Covert and produces knives or gloves from five Covert inputs instead of ten of any single rarity; it's a distinct mechanic with its own rules, covered in full in the knife & glove crafting guide. Everything in this guide is about the standard ten-input chain.

The 10:1 Rule and Collection Weighting

All ten inputs must share the same rarity, but they don't need to share a collection. This is where most of a trade-up's strategy lives: the output is drawn at random from the next-tier skins of every collection represented among your ten inputs, and the odds of each collection are proportional to how many inputs came from it — not a flat split across collections.

WORKED EXAMPLE
Seven Fracture Collection inputs and three Prisma Collection inputs give a 70% chance of a Fracture-line output and a 30% chance of a Prisma-line output. Load all ten from one collection and the output is guaranteed to come from that collection — you just don't know which specific skin within it until the roll resolves.

This proportional rule is why collection choice is the first lever you pull. A collection whose entire next-tier is priced closely together removes almost all outcome variance — whichever skin you get, the value is similar. A collection with one expensive skin and several cheap ones concentrates your expected value into a low-probability jackpot, which is a very different bet even at the same average payout.

Float Inheritance: How the Output's Wear Is Set

The output's float is not a simple average of your ten input floats — a mistake that shows up constantly in third-party calculators. Each input float is first normalized against that input skin's own float range, and only the normalized values are averaged:

adjusted_float = (input_float − input_min_float) / (input_max_float − input_min_float)

The ten adjusted floats are averaged, and the average is then projected onto the output skin's own float range — not the inputs' ranges:

output_float = (avg_adjusted_float × (output_max_float − output_min_float)) + output_min_float

WHY THIS MATTERS
A skin with a wide float range (say 0.00–1.00) and a low actual float contributes a low adjusted float, pulling the output toward its minimum. A skin that's Factory New but has a narrow range (say 0.00–0.08) can carry a surprisingly high adjusted float relative to its own range, and drag the output the other way — toward a worse wear than you expected, even though every input looked pristine.

In practice this means input selection is really float-range selection first and raw-float selection second. The best trade-up inputs are cheap skins with wide ranges and low actual floats — they exert outsized pull toward a low output float per dollar spent. See the float value guide for the full derivation with worked numbers, or plug real skins into the calculator to see the projected float and wear before you buy anything.

Why Wear Boundaries Decide Profit

CS2 defines five wear conditions with fixed float thresholds, and they are not evenly sized:

ConditionFloat range
Factory New (FN)0.00 – 0.07
Minimal Wear (MW)0.07 – 0.15
Field-Tested (FT)0.15 – 0.38
Well-Worn (WW)0.38 – 0.45
Battle-Scarred (BS)0.45 – 1.00

Field-Tested and Battle-Scarred cover most of the numeric range, while Factory New and Minimal Wear — where a lot of trade-up value concentrates — are narrow bands at the bottom. A projected output float of 0.0699 and one of 0.0701 look identical in the inspect screen, but one is Factory New and the other is Minimal Wear, and the price gap between them is frequently a factor of two to five or more. Sensitivity to these boundaries, not raw skin selection, is the single biggest lever on a trade-up's expected value.

Expected Value: The Only Number That Matters

Expected value (EV) is the probability-weighted average of every possible outcome's sell price, minus your total input cost:

EV = Σ(probability of outcome × its net sell price) − total input cost

EV is not a promise. A contract with strong positive EV and a 20% chance to profit is still a losing bet on most individual runs — it's a bet that pays off on average across many runs, not a guarantee on any single one. That's why a board (like CSAlpha's) that surfaces chance to profit alongside EV and ROI matters: a contract with high EV driven entirely by one rare, expensive outcome is a very different risk profile from one with modest EV and a coin-flip chance to profit. See the trade-up tips guide for how to read chance-to-profit, best/worst case, and liquidity together instead of chasing the headline ROI number alone.

Marketplace Fees Change the Math

A contract that looks profitable before fees can be flat or negative after them. The three markets CSAlpha prices against charge differently on each side of the trade:

MarketplaceBuyer fee (inputs)Seller fee (output)
CSFloat2.8% + $0.30 flat2%
DMarket2.5%2%
Skinport0%8%

The flat $0.30 CSFloat deposit fee is a much bigger relative hit on cheap Consumer/Industrial inputs than on a $50+ Covert. The optimal pattern, all else equal, is buying inputs where the buyer fee is lowest for that price point and selling the output where the seller fee is lowest — full breakdown with worked numbers in the marketplace fees guide. CSAlpha applies all of this automatically: every EV, ROI, and profit number already nets out both sides' fees, so what you see on the board is what you'd actually keep, not a pre-fee estimate.

StatTrak and Souvenir Inputs

Rarity, not StatTrak status, decides what can go into a contract together, but StatTrak inputs only ever produce StatTrak outputs and non-StatTrak inputs only ever produce non-StatTrak outputs — you can't mix the two in one contract and you can't convert one into the other. CSAlpha tracks StatTrak and non-StatTrak trade-ups as separate rows on the board for exactly this reason.

Putting It Together

A profitable contract, in order of what to check: pick a rarity tier and collection(s) where the next-tier skins are priced favorably; select inputs with wide float ranges and low floats to target a specific output wear boundary; price every possible outcome at its real, current listing price rather than an average; and net out buyer and seller fees on both sides before trusting the number. That's exactly what CSAlpha's discovery engine does continuously against real CSFloat, DMarket, and Skinport listings — browse the live board to see contracts priced this way right now, or build your own with a specific set of skins and floats to see the odds and EV before spending anything.