The trade-up contract is the only deterministic-input system in the entire CS2 economy. You supply ten skins of the same rarity tier, and the contract returns one skin of the next-higher rarity, drawn from one of the input collections. Unlike case openings, every variable is computable in advance: the candidate output set, the per-output probability, and the output float. Done correctly, trade-ups can produce positive expected value — but only when the math is run honestly.
The four rules of a trade-up contract
- Exactly ten skins of the same rarity tier are required as inputs.
- All ten inputs must be of the same StatTrak status — either all StatTrak or all non-StatTrak. The output inherits this status.
- The output is one rarity tier above the inputs. Mil-Spec inputs produce Restricted outputs; Restricted produces Classified; Classified produces Covert; Covert cannot be traded up.
- The output collection is selected probabilistically based on how many inputs come from each collection.
How the output collection is selected
If you supply seven inputs from Collection A and three inputs from Collection B, the contract first selects which collection contributes the output skin. The probability is proportional to the number of inputs from each collection:
P(collection_i) = inputs_i / 10Once the collection is selected, the output is chosen with uniform probability across all skins of the next-higher rarity in that collection. If Collection A has 4 Restricted skins and is selected as the output collection, each of those 4 skins has a 25% chance of being the output.
| Output skin | Source collection | Per-skin probability | Combined probability |
|---|---|---|---|
| A-Restricted-1 | A | 1/3 × 7/10 | 23.33% |
| A-Restricted-2 | A | 1/3 × 7/10 | 23.33% |
| A-Restricted-3 | A | 1/3 × 7/10 | 23.33% |
| B-Restricted-1 | B | 1/5 × 3/10 | 6.00% |
| B-Restricted-2 | B | 1/5 × 3/10 | 6.00% |
| B-Restricted-3 | B | 1/5 × 3/10 | 6.00% |
| B-Restricted-4 | B | 1/5 × 3/10 | 6.00% |
| B-Restricted-5 | B | 1/5 × 3/10 | 6.00% |
How the output float is calculated
This is the part most players misunderstand. The output float is not simply the average of the input floats. It is the average of the input floats, then linearly mapped onto the output skin's specific wear range:
output_float = output_min + (output_max − output_min) × avg(input_floats)Two consequences follow from this. First, lower-float inputs produce lower-float outputs proportionally, but the relationship is bounded by the output skin's wear range. If the output skin has a restricted range like 0.00–0.40, then even a perfect 0.00 input average yields an output float of 0.00, but a 1.00 average yields 0.40 — there is no way to push the output above its native maximum. Second, the input floats determine which exterior tier the output lands in, but only via the rescaled formula.
Identifying positive-EV trade-ups
A trade-up is profitable when the expected market value of the output, weighted by the per-output probabilities, exceeds the cost of acquiring the ten inputs. The general formula:
EV(trade-up) = Σ P(skin_i) × MarketValue(skin_i, output_float_i) − Σ Cost(input_j)Three structural conditions consistently produce positive-EV trade-ups in practice:
- Lopsided collection input ratios. Stacking 9 or 10 inputs from a single collection concentrates output probability on that collection's small set of next-tier skins, which makes the EV calculation tractable and reduces the chance of a low-value output.
- Asymmetric output value within the collection. When all next-tier skins in the input collection have similar market values, EV is straightforward. The trade-ups that go wrong are the ones where one possible output is worth $80 and another is worth $4 — variance dominates.
- Tier-edge input floats. Pushing the input float average toward the lower bound of the output skin's wear range can move the output from Field-Tested to Minimal Wear or Factory New, which often doubles the output value for low-cost-input trade-ups.
Why most listed 'profitable' trade-ups fail in practice
Trade-up calculator websites publish lists of supposedly profitable contracts. The majority fail when actually executed because of three friction sources:
- Steam Marketplace fees of approximately 15% on the output sale erase razor-thin margins. A trade-up listed at +5% EV is typically a net loss after fees.
- Input acquisition cost is rarely the listed Steam median price. Buying ten specific low-float inputs requires either snipe-listing or buying at the lowest ask, which is often above the median.
- Stale pricing data. Calculator sites often use prices that are 24–72 hours old. The output skin price can drop sharply if the trade-up becomes popular and supply increases.
StatTrak trade-ups are a different game
StatTrak inputs cost more than non-StatTrak inputs of the same skin — typically a 30% to 250% premium depending on the finish and tier. Because StatTrak outputs also command a premium, the multiplier on the output side often does not fully compensate for the input premium except on a small set of finishes where the StatTrak premium is asymmetrically large at the output rarity. StatTrak trade-ups are therefore a high-cost, high-variance niche rather than a general strategy.
Practical takeaways
- Output collection is selected proportionally to inputs per collection — single-collection contracts are the cleanest to model.
- Output float = output_min + (output_max − output_min) × mean of input floats.
- Profitable trade-ups need +12% margin to absorb fees and price drift.
- StatTrak trade-ups have higher variance and rarely produce positive EV at standard market spreads.
- Calculator sites overstate profitability — always re-validate with current ask prices, not historical medians.
Trade-up contracts are the cleanest mathematical surface in CS2 because every variable is observable and the output is a deterministic function of inputs and rolls. The reason consistent positive EV is hard to achieve is not that the math is opaque — it is that the same math is available to every other participant, and any genuine edge is competed away within hours of being identified. Sustainable profitability comes from finding small, temporary mispricings on input collections that the broader market has not yet recalibrated.
Want the comparative side of this analysis?
These insights focus on the underlying math and economics. If you're researching where the data actually shows up in real-world platform behavior — fees, withdrawal speeds, RTP, provably fair audits — our editorial comparisons cover each platform individually.
