Guides
Trade-Ups Explained: Risk, Reward and Common Mistakes
The trade-up contract is the only mechanism in CS2 that lets you convert junk into something better without spending money. It is also where most traders quietly lose value, because the rules governing outcomes and wear are more specific than they look. Understand the two formulas and the contract stops being a slot machine.
The rules, precisely
A trade-up contract takes exactly ten skins and returns one skin from the rarity tier immediately above.
All ten inputs must share the same rarity tier. All ten must have the same StatTrak status — ten normal skins, or ten StatTrak skins, never a mix. Souvenir items cannot be used at all. Every input must belong to a collection that actually has a tier above the input tier; a skin from a collection whose ceiling is the tier you are submitting has nowhere to go and the contract will not accept it.
The ladder runs Consumer to Industrial, Industrial to Mil-Spec, Mil-Spec to Restricted, Restricted to Classified, Classified to Covert. That is where it stops.
| Input tier | Output tier |
|---|---|
| Consumer (white) | Industrial |
| Industrial (light blue) | Mil-Spec |
| Mil-Spec (blue) | Restricted |
| Restricted (purple) | Classified |
| Classified (pink) | Covert |
| Covert (red) | Not eligible |
You cannot trade up into a knife or gloves. Ever. The gold tier is not part of the ladder and no combination of Coverts produces one — Coverts cannot even be submitted. You also cannot produce Contraband items, since those are out of production entirely. Anyone telling you they know a route from Coverts to a knife is describing something that does not exist in the game.
How the outcome is chosen
This is the part people get wrong.
Each of your ten inputs brings its own collection’s next-tier list to the table. The pool of possible outcomes is built from those lists, weighted by how many inputs came from each collection.
The clean case is a single-collection contract. If all ten inputs come from one collection, the outcome is drawn evenly across every skin in that collection’s next tier. A collection with three possible outputs gives you a one-in-three shot at each. A collection with eight gives you one in eight. Nothing else is involved.
Mixing collections dilutes. Every additional collection you introduce adds its entire next-tier list to the pool, and the chance of landing on any specific target skin drops accordingly. This is why experienced contract runners hunt for collections with short outcome lists — fewer possible outputs means probability is concentrated rather than spread across a dozen skins you do not want.
Two practical consequences follow. First, always enumerate the complete output list before you buy inputs, not just the skin you are hoping for. A collection with one desirable Classified and five worthless ones is a bad contract regardless of how good that one skin is. Second, mixing collections to “cover more chances” is almost always counterproductive — you are not adding chances, you are splitting the same probability across a bigger, worse pool.
The float formula
The output’s wear is not random. It is calculated deterministically from the inputs:
Output float = (output skin’s max float − output skin’s min float) × average input float + output skin’s min float
The average is the plain mean of your ten inputs’ actual float values. That is the entire mechanic, and it has three implications that matter enormously.
Low input floats produce low output floats. Two Field-Tested skins that look identical in a listing and cost the same can have floats of 0.16 and 0.37. Fed into a contract, they are completely different items. Sourcing inputs by condition bracket instead of by actual float is the single most common way to waste money on a contract.
The output’s own float range caps everything. If the output skin’s minimum float is 0.10, no combination of inputs will ever produce Factory New. The formula starts at the output’s minimum and scales upward from there. Check the range of every possible output before you build the contract, not just the one you want.
Wide-range outputs are forgiving; narrow-range outputs are not. A skin with a range of 0.00 to 1.00 maps your average input float almost one-to-one. A skin with a range of 0.00 to 0.50 halves it, which means a mediocre average input float can still land you a good condition.
Worked through, for an output skin with a range of 0.00 to 0.80:
| Average input float | Output float | Condition |
|---|---|---|
| 0.05 | 0.040 | Factory New |
| 0.12 | 0.096 | Minimal Wear |
| 0.25 | 0.200 | Field-Tested |
| 0.50 | 0.400 | Well-Worn |
Change the output’s range and every row changes with it. Run the number for the specific skin, every time.
Where the value actually leaks
Trade-ups look profitable far more often than they are, because the calculation people run in their head is missing several real costs.
Fees on the exit. Selling the output on the Steam Community Market takes roughly fifteen percent in combined fees, and the proceeds land as wallet balance rather than money. Any contract whose margin is thinner than the fee is a loss dressed as a win.
The spread on the inputs. You pay the ask on ten items and you receive the bid on one. That gap is a real cost and it is paid ten times over.
Time and cooldowns. Items bought on the Steam Market carry a seven-day trade cooldown. Contract outputs are freshly created items, so check the “Tradable After” line in the tooltip before you commit to any timeline for moving it. If your plan requires selling the output next week, verify that next week is actually possible.
Competition. Genuinely profitable contracts are found and run at scale by people with automated pricing. A trade-up that shows a clear edge on a public spreadsheet has usually already been arbitraged; the inputs get bid up until the edge is gone. If a contract looks free, ask why nobody else took it.
The mistakes worth naming
Treating a contract as an investment when it is a bet. A trade-up has a distribution of outcomes, not a result. Even a well-constructed contract with a positive expected value will lose most of the time if the good outcome is one in five. Running one contract is gambling; running the same contract fifty times with a genuine edge is a strategy. Be honest about which one you are doing.
Feeding valuable patterns into contracts. Some low-tier skins carry meaningful pattern value — Case Hardened blues, distinctive Fade percentages, unusual seeds. A contract sees only the float and the collection. Check what you are destroying.
Ignoring StatTrak market depth. StatTrak trade-ups look attractive because StatTrak outputs carry a premium. They are also thinner markets with fewer buyers, and StatTrak inputs are harder to source at good floats. The premium is partly compensation for illiquidity.
Chasing losses. The contract that just returned the worst outcome has not made the next one more likely. Each contract is independent, exactly like a case.
Not checking eligibility before buying. Souvenir items, Covert items, and skins from collections without a higher tier are all rejected. Confirm eligibility on one item before you buy ten.
The one thing trade-ups reliably do
Whatever happens to your specific contract, every trade-up run in the game destroys ten items and creates one. Across the whole player base that is a continuous, invisible drain on the supply of low-tier skins, and it is one of the main reasons the bottom of the market does not simply accumulate forever. If you hold low-tier items from retired collections, contract consumption is quietly working in your favour.
Practical takeaway
Two formulas govern everything. The outcome is drawn from the combined next-tier lists of your inputs’ collections, so single-collection contracts with short output lists give you the most concentrated odds. The wear is calculated as the output skin’s float range scaled by your average input float, so buy inputs by actual float value rather than by condition label, and check the output’s minimum float before assuming Factory New is reachable.
Before you run anything: list every possible output, not just the good one. Price the exit after fees. Confirm no input is souvenir or from a dead-end collection. And decide in advance how many times you intend to run the contract, because a single trade-up is a coin flip regardless of how good the maths behind it is.