CS-TRADEUP CS-TRADEUP
GUIDE · CS-TRADEUP

CS2 Trade-Up Guide

A CS2 trade-up contract turns skins of one rarity into one skin of the next. This guide covers float, expected value (EV), Steam’s selling fee, and how Trade-Up Calculator and Trade-Up Explorer work together.

GUIDE

How a CS2 trade-up contract works

A Counter-Strike 2 trade-up contract consumes a set of input skins of one rarity and returns one skin of the next rarity. You do not pick the output skin by name: the possible results come from the collections of the skins you put in.

Slot count depends on rarity. Covert contracts use 5 input slots; every other trade-up rarity uses 10. Mixing rarities is not allowed — all inputs must share the same rarity, or the contract will not run.

Outcome odds are collection-weighted. If seven of ten inputs come from Collection A and three from Collection B, 70% of rolls resolve into Collection A’s next-rarity pool and 30% into Collection B’s. When a collection has several next-rarity skins, that collection’s share is split among them. CS-TRADEUP prices those outcomes from Steam market data: the median sale price over the last seven days for the specific wear condition of each skin.

Float formula and wear bands

Float is the wear number on a skin. CS2 maps float into five exterior bands:

WearNameFloat range
FNFactory New0.00–0.07
MWMinimal Wear0.07–0.15
FTField-Tested0.15–0.38
WWWell-Worn0.38–0.45
BSBattle-Scarred0.45–1.00

The output float is not a copy of any one input. CS2 uses the average of the input floats, then scales that average into the output skin’s own float caps:

output_float = average(input floats) * (output_max - output_min) + output_min

output_min and output_max are that result skin’s float range, not the 0–1 wear-band table above. In plain terms: the average float of your inputs is scaled into the output skin’s own range. A skin that only exists from 0.06 to 0.80 cannot roll a 0.00 Factory New, no matter how clean the inputs are.

Worked example

Ten inputs, average float 0.10.

  • If the output skin spans the full 0.00–1.00 range: output_float = 0.10 → Minimal Wear.
  • If that skin only exists 0.06–0.80: 0.10 × (0.80 − 0.06) + 0.06 = 0.10 × 0.74 + 0.06 = 0.134 → still Minimal Wear, not Factory New, because 0.134 > 0.07.

The skin’s own float range matters. Dirty inputs cannot invent Factory New if the skin has no FN range — and even a clean 0.10 average can land above FN once that range is applied.

Why low float matters

A lower average input float produces a lower output float. Crossing a wear-band boundary (for example MW → FN) usually changes the Steam 7-day median price, often by a large gap. The calculator shows the predicted output float and wear for each possible result so you can see whether a “cheap dirty” contract is actually landing in a cheaper exterior.

EV, profit, and profit chance

Expected value (EV) is the probability-weighted average of outcome prices:

EV = sum over outcomes of (outcome price * probability)

That is a statement about the output side of the contract. Profit also subtracts what you pay for the inputs. A contract can show a strong EV and still lose money if the ten (or five) inputs cost more than the outcomes are worth after you account for selling costs.

Profit chance is the combined probability of every outcome whose net profit is greater than zero. If profit chance is 30%, about seven rolls in ten still lose; the profitable skins are in the other three. Use EV for the long-run average, profit chance for how often a single contract “hits,” and input cost for whether the whole ticket is even worth buying.

CS-TRADEUP shows these together on a calculated contract: outcomes, chance, wear, float, price, profit, EV, profit %, profit chance, and input cost. None of those columns is a substitute for the others.

Steam marketplace fee vs the in-app field

The trade-up contract itself does not charge Steam’s selling fee. The typical ~13% Community Market fee (about 5% Steam plus ~10% game/publisher) applies when you sell the output on Steam.

Worked example: an output listed at $10 with a 13% fee means you receive $8.70. If the inputs cost $8, profit is $0.70, not $2. Listing price is not what lands in your wallet.

CS-TRADEUP does not hardcode 13%. The Marketplace Selling Fee field lets you model whatever rate you actually pay. Leave it empty (the default is 0%) unless you type a number: 13 for Steam-style selling, or another marketplace’s seller rate if you cash out elsewhere. That value is applied to profitability math so EV, profit, and profit chance can reflect net proceeds, not raw listing prices.

Trade-Up Calculator in depth

Trade-Up Calculator («Калькулятор контрактов») analyzes one contract. It is the page you use to validate a craft before you buy or before you click the in-game contract.

What you enter

  • Collection and skin for each slot, plus float.
  • Optional custom price per input — useful when you already own the item, bought it below the 7-day median, or want to simulate a deal.
  • Five slots when the rarity is Covert; ten slots for every other rarity. The UI will not mix rarities.

What you see

After Calculate, the result lists every possible output with chance, wear, float, price, and profit, plus summary metrics: EV, profit, profit %, profit chance, and input cost. Missing Steam prices are called out so you are not silently averaging zeros.

Opening a contract from elsewhere

Contracts discovered in other tools — especially Trade-Up Explorer — can be opened here for the full breakdown. The calculator loads the input skins and recomputes outcomes, floats, EV, and profitability. Explorer finds the idea; Calculator is where you check it.

Trade-Up Explorer in depth

Trade-Up Explorer («Поиск и добор») discovers contracts. You do not have to assemble ten skins by hand to see whether a craft exists.

Partial contract vs from scratch

If you already hold some inputs, add them under Current Inputs and Explorer searches for the most useful ways to complete the remaining slots. If you add nothing, it searches from scratch using only the Target Outcome filters and search mode. Both paths are first-class: completion and open-ended discovery.

Target Outcome filters

The Target Outcome block is optional. Leave it empty for a wide search, or narrow with:

  • Target item
  • Collection
  • Max float
  • Wear
  • Max budget
  • How many results to show

More filters mean a tighter search. You never have to name a target skin; collection, float, or budget alone can steer the run.

Search modes and sort

Modes include Single Collection (every input from one collection: all 10 slots, or all 5 for Covert) and Any / diverse collections (prefer mixes that are not locked to one set). Sort the results by profit, balance, float, or guaranteed profit (every listed outcome still nets positive).

How many results you can request

Guest visitors can request at most 5 results. A free account raises that to 25. Premium removes the cap. The limit is how many contracts Explorer lists, not how you analyze a contract you already opened in Calculator.

Then open in Calculator

Each option can be opened in Trade-Up Calculator. That is the intended hand-off: Explorer proposes a candidate, Calculator shows the full outcome table, floats, and EV so you can adjust custom prices or floats before you commit.

Recommended workflow

  1. Explorer — search from scratch or complete a partial stash with Target Outcome filters, mode, and sort.
  2. Calculator — open the candidate, confirm floats and wear bands, set real input prices, and read EV vs profit chance vs input cost.
  3. Templates — save contracts you want to re-check after the next Steam price refresh, then open them again in Calculator.

That loop is how CS-TRADEUP is meant to be used: discovery, validation, then a saved ticket you can price again later. The FAQ answers short product questions; this guide is the walkthrough.

Open the calculator or the FAQ

Ready to run a contract, or still looking for a short answer?