TradeUpX TradeUpX.app
Want the full scanner? TradeUpX finds profitable combos automatically. Scans all collections, all rarities, with real prices. Free.
Open Trade-Up Scanner →

CS2 Trade-Up Contract Guide 2025: How to Find Profitable Combinations

CS2 trade-up contracts are one of the most overlooked profit opportunities in Counter-Strike 2. When done right, a single trade-up can return 150–400% of your investment. When done wrong, you lose everything. This guide teaches you how to find profitable CS2 trade-up combinations using real data — float caps, expected value, Steam fees, and liquidity.

What Is a CS2 Trade-Up Contract?

A trade-up contract lets you exchange 10 weapon skins of the same rarity tier for 1 random skin of the next higher rarity. The exact rules:
  • Exactly 10 input skins — all the same rarity (e.g. all Restricted)
  • Output rarity is one tier higher (Restricted → Classified, Classified → Covert)
  • Output pool is built only from the collections you put in — not the entire game
  • Output skin is random within that pool, weighted by how many skins from each collection you used
  • StatTrak inputs produce StatTrak outputs — and vice versa
The four trade-up paths in CS2 are:
  • Industrial Grade → Mil-Spec Grade
  • Mil-Spec Grade → Restricted
  • Restricted → Classified
  • Classified → Covert
The most profitable tier is typically Restricted → Classified and Classified → Covert, because Covert skins can be worth hundreds of euros while Classified inputs can still be cheap.

The CS2 Float Formula: How Output Float Is Calculated

Every CS2 skin has a float value between 0.00 and 1.00 that determines its wear (Factory New, Minimal Wear, Field-Tested, Well-Worn, Battle-Scarred). In a trade-up, the output float is not random — it is mathematically derived from your 10 inputs.

Step 1: Normalize each input float

Every skin has its own min/max float range (not always 0.00–1.00!). You must normalize each input float to its skin's own range:
adjusted_float = (raw_float - skin_min) / (skin_max - skin_min)

Step 2: Average the adjusted floats

avg_adjusted_float = sum(adjusted_float_1 .. adjusted_float_10) / 10

Step 3: Map to output skin's range

output_float = output_min + avg_adjusted_float × (output_max - output_min)
Example: If your 10 inputs have an average adjusted float of 0.20, and the output skin has range 0.00–0.45, the output float is: 0.00 + 0.20 × 0.45 = 0.09 → Minimal Wear This is why TradeUpX shows you the exact expected output wear for every combination — the float is deterministic, not random.

Expected Value (EV): The Key Profitability Metric

Expected Value (EV) is the average money you'd make if you ran the same trade-up 1,000 times. It is calculated as:
EV = Σ (probability_i × output_price_i × 0.87) − total_input_cost
The 0.87 multiplier accounts for Steam's 13% marketplace fee (5% Steam + 8% CS2 fee) you pay when selling outputs. What makes a trade-up profitable?
  • ROI > 100%: You earn back more than you spent on average
  • Low input variance: Multiple valuable outputs (not just one jackpot skin)
  • High liquidity: Outputs that actually sell (min. 10 active listings recommended)
  • Consistent float: You can reliably source inputs with the right float range
Warning about jackpot hunting: A trade-up with 9% chance of a €500 skin and 91% chance of €1 skins has high EV on paper but terrible real-world results unless you can run hundreds of contracts.

Steam Fee & Why It Kills More Trade-Ups Than You Think

Steam charges a combined 13% fee when you sell on the marketplace: 5% to Steam + 8% to CS2. This means:
  • A skin listed for €100 gives you only €87
  • A trade-up with 110% EV (before fees) is actually losing money after fees
  • Break-even after fees is approximately 115% ROI
Many trade-up calculators online ignore this. TradeUpX applies the Steam fee to all output prices by default, so the ROI shown is your real take-home return. The minimum profitable ROI with Steam fee:
  • Input cost €50 → need EV ≥ €57.50 to break even (115%)
  • Input cost €200 → need EV ≥ €230 to break even (115%)
  • We recommend targeting ≥ 130% ROI for a meaningful profit margin

How to Use TradeUpX to Find Profitable Trade-Ups

TradeUpX automates the entire search process. Here's the workflow:

1. Standard Scan

Click Start Scan without enabling Mixed Float or uploading a CSV. TradeUpX will scan all collections across your selected rarity tier using realistic midpoint floats for each wear (FN: 0.035, MW: 0.11, FT: 0.265). Results are sorted by ROI.

2. Mixed Float Mode

Enable Mixed Float to use a combination of main skins at one float + filler skins at a different float. This is advanced: by mixing floats, you can precisely target a specific output wear on expensive output skins.

3. CSV Inventory Mode

Export your CS2 inventory via the built-in inventory extractor, upload the CSV, and TradeUpX finds the best trade-up combinations from skins you already own.

Reading the Results

Each result card shows:
  • ROI %: Expected return after Steam fees
  • EV: Expected Value in euros
  • Cost: Total input cost for 10 skins
  • Output Wear: Predicted output skin wear based on float math
  • Split Options: Up to 5 different main/filler combinations for the same skin

Best Rarity Tiers for Trade-Up Profit in 2025

Classified → Covert (Highest Risk, Highest Reward)

Covert skins are typically €80–500+. If you find a Classified input set under €200 total with good output probabilities, the ROI can be 200–400%. The downside: Covert skin prices are volatile and liquidity can be thin.

Restricted → Classified (Best Risk/Reward Balance)

Classified outputs typically range €15–80. Input costs are manageable (€30–100 for 10 skins). This tier produces the most consistently profitable trade-ups and is recommended for beginners.

Mil-Spec → Restricted (Low Cost, Lower Returns)

Good for learning and small bankrolls. Inputs are €1–5 each, outputs are €5–30. Harder to find 150%+ ROI but much lower financial risk.

Industrial → Mil-Spec (Avoid)

Very tight margins. Industrial skins are cheap but so are Mil-Spec outputs. Rarely worth the effort unless you have specific knowledge of an undervalued collection.

Common Mistakes That Kill Your Trade-Up Profit

  1. Ignoring float caps: Skins like the MP5-SD Kitbash max out at 0.80, not 1.00. Using them as fillers at the wrong float breaks the output calculation.
  2. Not checking liquidity: A "valuable" output skin with only 2 listings means you might have to sell at a large discount — or not at all.
  3. Buying at ask price: Always try to buy inputs slightly below the cheapest listing using Steam buy orders. This alone can add 5–15% to your profit.
  4. Ignoring collection mix effects: When your 10 inputs come from multiple collections, the output pool is split proportionally. 5 skins from Collection A + 5 from Collection B = 50/50 output chance from each. Use this to your advantage — or avoid it when one collection has a much better output pool.
  5. Using StatTrak inputs without checking StatTrak output prices: StatTrak trade-ups often have worse margins because StatTrak input skins are expensive relative to StatTrak output prices.
  6. One-shotting with a jackpot trade-up: A 5% chance of winning big needs 20+ contracts to be reliable. Only use high-variance trade-ups if you have the bankroll to run them many times.
  7. Forgetting price staleness: CS2 skin prices move daily. A trade-up that was 180% ROI yesterday might be 90% today. Always scan fresh before buying.

Frequently Asked Questions

How do I find profitable CS2 trade-up contracts?
Use TradeUpX's scanner to automatically evaluate thousands of skin combinations. Set a minimum ROI filter (recommended: 130%+), start the scan, and filter results by profit percentage. Check output liquidity before buying.
What is the minimum ROI for a CS2 trade-up to be profitable?
After Steam's 13% marketplace fee, you need approximately 115% ROI to break even. We recommend targeting 130%+ for a real profit buffer. Top trade-ups can reach 200–400% ROI.
Can you guarantee a specific output float in a CS2 trade-up?
Yes — if all 10 inputs have the same adjusted float, the output float is deterministic. TradeUpX shows you the exact expected output float and wear for every combination.
Try the CS2 Trade-Up Scanner — Free TradeUpX scans thousands of combinations instantly. Free, no account needed.
Open Scanner →

More Guides