CS2 Trade-Up Calculator
See also: skins database, stickers, cases, market data, price tracker, weapon stats, guides, CS2 tools.
Build a 10-skin contract and see every possible outcome with live odds, expected value, and a 1,000-contract simulation. Pick inputs from the selector — or import your own Steam inventory.
Contract Inputs · 0/10
Outcome Simulation
RestrictedInventory Selector
Showing the 96 cheapest matches — narrow the search to see the rest.
Click a tile to fill the next slot · click a filled slot to remove it · prices are the lowest live listing
Trade-up simulator: preview every outcome
Every contract you build above is simulated before you spend anything. The outcome panel lists each skin the contract can return, the chance of getting it, its current price, the gain or loss against your ten inputs, and the float it would come out at given the input float you entered. The Simulate 1,000 contracts button then draws 1,000 results from those same odds, so you can see how often the contract beats its cost and what it pays back on average, rather than relying on a single expected-value figure.
If you would rather start from a ready-made contract, the trade-up finder ranks every single-collection contract by expected value and ROI each hour; open any of them here to experiment with mixing collections.
How trade-up contracts work
- Ten inputs, one output. All ten skins must share a rarity grade. The contract returns one skin from the next grade up: Consumer → Industrial → Mil-Spec → Restricted → Classified → Covert.
- The output comes from your inputs' collections. Each input is one ticket for its own collection, so the collection mix sets the odds (explained below).
- StatTrak and normal skins never mix. Ten StatTrak inputs return a StatTrak output.
- The output float is inherited. Each input float is normalised inside that skin's own float range, the ten normalised values are averaged, and the average is mapped onto the output skin's range:
output = avg((float − min) ÷ (max − min)) × (outMax − outMin) + outMin. This is the formula the calculator uses for its float preview. The float checker tells you the exact float of a skin you already own. - Knives and gloves use a different recipe. Since 22 October 2025, five Covert skins can return a knife or gloves. That contract is not modelled here; see the knife trade-up guide.
For the full rules, including which cases have glove-only special pools, read the trade-up contracts guide.
Worked example: Fracture Collection Restricted → Classified
Take ten copies of the cheapest Restricted skin in The Fracture Collection, the Galil AR | Connexion at $0.29 each. The contract costs $2.90. Because every input comes from one collection, the output is always one of its 3 Classified skins, each with a 33.3% chance.
Float: the Connexion runs from 0.00 to 0.80, so inputs at 0.10 normalise to (0.10 − 0.00) ÷ (0.80 − 0.00) = 0.1250. That value is mapped onto each output's own range:
| Possible output | Chance | Float range | Output float | Lowest price |
|---|---|---|---|---|
| Glock-18 | Vogue | 33.3% | 0.00–0.75 | 0.0938 (Minimal Wear) | $2.97 |
| M4A4 | Tooth Fairy | 33.3% | 0.00–0.73 | 0.0912 (Minimal Wear) | $2.96 |
| XM1014 | Entombed | 33.3% | 0.00–0.50 | 0.0625 (Factory New) | $2.95 |
Expected value is the sum of chance × price: $2.97 + $2.96 + $2.95 divided by 3 = $2.96 against a $2.90 cost, and 3 of 3 outcomes are priced above the cost on their own. Those prices are the cheapest listing in any wear; the float above says each output lands in Minimal Wear or Factory New, which usually sells for more, while inputs at 0.10 usually cost more than the cheapest copy. Check both on the skin pages before treating this as a profit. Load this contract into the calculator.
Cheapest trade-up inputs by collection
The cheapest priced skin at each input grade in every case collection, with the number of next-grade skins it can return. A low input price is only half a contract: compare it with what the collection's next tier is worth on its collection page. Map collections are left out: since the 22 May 2026 update their Souvenir skins can be traded up (the result is a normal-quality skin), but they are priced as Souvenirs, which this table does not track — the same scope as the trade-up finder.
How Trade-Up Probability Works
The outcome of a trade-up is determined by the collections your 10 input skins belong to. Each input skin represents one "ticket" in a weighted lottery. If 6 of your skins come from the Fracture Collection and 4 from the Dreams & Nightmares Collection, the output has a 60% chance of being a Fracture skin and 40% chance of being a Dreams & Nightmares skin at the next rarity tier.
Within each collection, the specific output skin is randomly selected from all available skins at the target rarity. If the Fracture Collection has 2 Restricted skins, each has an equal 50% chance of being selected (given the Fracture Collection is chosen). This means your effective probability for any specific skin is: (collection tickets / 10) × (1 / skins at target rarity in that collection).
Float Value Manipulation
The output float comes from normalizing each input inside its own float range, averaging those ten values, then mapping the average onto the output skin's range. By carefully selecting input skins with very low floats, you can produce outputs in Factory New or Minimal Wear conditions that command premium prices.
Finding Profitable Trade-Ups
The most consistently profitable trade-ups share common patterns: cheap input skins from collections that contain high-value outputs at the next tier, combined with collections where the "miss" outcome still returns reasonable value.
Frequently Asked Questions
- How do CS2 trade-up contracts work?
- You submit 10 skins of the same rarity tier. The system returns one skin of the next-higher rarity from any of the collections represented in your 10 input skins. The output skin's float is derived from your inputs' floats — but each one is normalized inside its own float cap first, not averaged raw.
- How is the output float calculated?
- Each input is first normalized within its own float range, those ten values are averaged, and the average is mapped onto the output's range. Formula: normalized = (float − skinMin) ÷ (skinMax − skinMin), then Output Float = average(normalized) × (outMax − outMin) + outMin. Skipping the normalization step is a common mistake and can be badly wrong: ten inputs capped 0.10–0.70 sitting at float 0.15 give a normalized average of 0.083, not 0.15.
- What determines which skin I get from a trade-up?
- Each input skin "votes" for its collection's next-rarity skins. If you input 7 skins from Collection A and 3 from Collection B, there's a 70% chance the output comes from Collection A and 30% from Collection B.
- Can you profit from trade-up contracts?
- Yes, profitable trade-ups exist when the expected value of outputs exceeds the cost of inputs. The key is finding collections where the next-rarity tier contains high-value skins and manipulating collection ratios to increase odds of expensive outcomes.
- What is the best rarity for trade-ups?
- Mil-Spec to Restricted trade-ups have the lowest entry cost. Classified to Covert trade-ups offer the highest potential profit but carry more risk. Industrial to Mil-Spec trade-ups are often overlooked but can be consistently profitable.
- Can you mix StatTrak and normal skins in a trade-up?
- No. A contract is either all StatTrak or all normal, and ten StatTrak inputs return a StatTrak output. This calculator prices the normal versions, so check StatTrak prices separately before running a StatTrak contract.
- Can I trade up Covert skins into a knife with this calculator?
- Not with this calculator. It models the standard ten-input contract, from Consumer up to Classified inputs, which is why Covert is the highest output it shows. The separate recipe Valve added on 22 October 2025, where five Covert skins return a knife or gloves from one of the inputs' collections, is covered in our knife trade-up guide.
- Is there a CS2 trade-up simulator?
- Yes, it is built into this page. Once your contract has inputs, the outcome panel lists every possible result with its odds, price and predicted float, and the "Simulate 1,000 contracts" button draws 1,000 random results from those same odds to show how often the contract beats its cost and what it returns on average.
- Which price does the calculator use for each skin?
- The lowest current listing for that skin in any wear, from the csdb.gg price snapshot. That is a floor, not the price of the exact wear your output will land in, so a predicted Factory New or Minimal Wear output is usually worth more than the figure shown and a low-float input usually costs more. Check the wear-specific price on the skin page before you commit.