CS2 Counter-Strike 2 weapon skins inventory background

How to Do a Trade-Up Contract in CS2 (Step by Step)

Open the trade-up panel, pick ten inputs at the same rarity, lock collections to control the output, manage float — the full walkthrough with screenshots and worked examples.

By Mike·20 days ago
SkinsMonkey - CS2 skin trading platform

How to Do a Trade-Up Contract in CS2 (Step by Step)

A trade-up contract takes ten of your weapon skins at one rarity, eats them, and spits out a single skin one tier up. The function has been in the game since 2014 but the in-client UI is sparse, the float math is not visible until after you commit, and a wrong collection mix can leave you with a $0.30 output on a $4 stake. This article walks the entire flow from the moment you open Steam to the moment the new skin lands in your inventory, with the decisions you make at each step and how to avoid the failure modes.

For the underlying mechanic — why ten inputs, how collection weight works, the float averaging formula — see the trade-up contracts pillar guide. For the math derivation of the output float, see the float averaging formula deep-dive.

Before you start: the five checks that save money

Five things to verify before you spend a dollar on inputs. Each one of these has cost players hundreds of dollars in misclicks over the years.

  1. You are picking the right rarity to start from. The output is exactly one tier above. If your goal is a Restricted skin, you need ten Mil-Spec inputs, not Restricted inputs.
  2. Your inputs are all non-StatTrak, or all StatTrak. Mixing rejects the contract. StatTrak inputs produce a StatTrak output. Souvenir inputs are not eligible at all.
  3. Your inputs come from collections that contain the output skin you actually want. This is the single most-missed step. A Mil-Spec input from the Norse Collection cannot produce an output from the Dust II Collection — output collection is drawn from input collections only.
  4. You have a recipe with positive EV after Steam fees. Net of 15%, not gross. See the pillar EV math and the profitable recipes article.
  5. You can afford to run the recipe 20-50 times. Variance is brutal at single-attempt scale. A +12% EV recipe loses money 4 out of 10 times. Single trade-ups tell you nothing.

If any one of those is unclear, stop and re-read the pillar before opening the panel.

Step 1 — Find the trade-up panel

The trade-up contract panel lives inside CS2 itself, not in Steam.

  1. Launch Counter-Strike 2.
  2. Open the main menu (you do not need to be in a match).
  3. Click Inventory in the top navigation.
  4. In the inventory view, look for the wrench icon at the top-right corner of the items grid — the tooltip reads "Trade Up Contract". Click it.

The contract panel opens as a modal. The left side is your inventory, the right side has ten empty input slots. Underneath the slots, the output preview is blank until you have ten valid inputs.

The panel is also accessible from any item's right-click menu when that item is rarity-eligible (Consumer Grade through Classified) — but the main panel is the one you want when building a recipe from scratch.

Step 2 — Pick the rarity tier

Above the ten input slots there is a rarity selector. It defaults to the rarity of the first item you click; you can also click the rarity directly to filter the inventory view to only that tier.

The five eligible input rarities and what they produce:

Covert cannot be an input rarity. Contraband is not in the trade-up system. Knives and gloves are not on the rarity ladder. The full rarity primer is in the items encyclopedia pillar.

Step 3 — Pick your input collections

This is where 90% of the value of the contract is decided. The collection list of your inputs determines the collection pool of the output, weighted by how many inputs came from each collection.

Open a tab to the Steam Community Market or to the Steam Workshop collection list. For each candidate input skin, you need three pieces of information:

  • Its collection (e.g. "The Norse Collection", "The Dust II 2021 Collection", "The Kilowatt Collection").
  • The list of output-rarity skins in that collection (i.e. one tier up). This is what the contract can produce if it draws this collection.
  • The price of each output skin at the relevant exterior. The exterior is decided by the float math (next step).

Two practical strategies players use:

Single-collection lock

Buy ten inputs from the same collection. The output collection is then 100% that collection, and the output skin pool is just the output-rarity skins in that collection. If the collection has only one output-rarity skin, you have 100% certainty of the specific output skin.

Example: ten Mil-Spec inputs from the Norse Collection → output is from Norse → if Norse has one Restricted skin, you get that Restricted with certainty.

This is the lowest-variance recipe. It works when the collection has exactly one valuable output skin and the inputs are cheap. The downside: most strong output skins live in collections with 3-5 output-rarity competitors, so single-collection locks tend to be ROI-thin.

Cross-collection weighting

Buy inputs from two or three collections at known weights. The output collection is drawn proportionally — 7 from Cache + 3 from Mirage = 70%/30% on the output side.

Cross-collection weighting is what gets used when one collection has a single high-value output but expensive inputs, and another collection has cheap inputs but mediocre outputs. Mix them to push the EV up.

The dilution trap: adding a second collection adds all that second collection's output-rarity skins to the possible output pool. If you weight Cache 70% (1 output skin worth $20) and Mirage 30% (4 output skins averaging $5), the EV is 0.70 × $20 + 0.30 × $5 = $15.50. But you only get the $20 output 70% of the time. The 30% of contracts that draw Mirage will return one of four skins at random, averaging $5 — three out of four times that is below the EV.

The profitable recipes article walks specific cross-collection recipes that survive the dilution check.

Step 4 — Manage input floats

The output float is the weighted average of your input floats, mapped onto the output skin's float clip. The formula:

Output float = (sum of 10 input floats / 10) × (skin_max − skin_min) + skin_min

skin_max and skin_min are the float clip boundaries of the output skin (per-skin, in items_game.txt). For most skins it is 0.00–1.00, but many are clipped: AK-47 Redline 0.10–1.00 (never FN), AK-47 Case Hardened 0.00–0.70 (never deep BS), AWP Asiimov 0.18–1.00 (never FN), etc.

To target an exterior on the output:

  • Factory New output: average input float roughly 0.00–0.07 / (skin_max − skin_min), so for an unclipped skin you need input floats averaging under 0.07. For a 0.18–1.00 clipped output you cannot reach FN at all — the formula bottoms out at 0.18.
  • Minimal Wear output: input float average roughly 0.07–0.15 / (skin_max − skin_min).
  • Field-Tested output: input float average roughly 0.15–0.38 / range.
  • Well-Worn / Battle-Scarred output: anything higher.

CSFloat and tradeit list every skin with its exact float, which makes cheap, low-float Field-Tested inputs easy to source. For a worked example walking five real recipes through the float math, see the float averaging formula article.

The float-check before you commit: average the ten input floats, multiply by the output skin's range, add the minimum. If the answer is below the FN cutoff for the output skin, you are getting an FN. If it is above 0.15, you are getting Field-Tested or worse. Adjust input picks before clicking confirm.

Step 5 — Drag the ten inputs into the contract panel

Click each input skin in your inventory; it snaps into the next available slot. Or right-click → "Add to contract". The slots fill left-to-right, top-to-bottom.

The panel rejects an input if:

  • It is the wrong rarity (the contract only accepts inputs matching the selected rarity tier).
  • It mixes StatTrak with non-StatTrak.
  • It is a Souvenir skin (Souvenir is excluded entirely).
  • It is locked from trade (within 7-day Steam Mobile Authenticator trade hold).

A valid 10-input loadout reveals the output preview at the bottom of the panel: collection probability breakdown ("70% Cache, 30% Mirage"), the list of possible output skins per collection, and the projected output float.

The projected output float is shown to four decimal places. Verify this number before clicking commit. If the float is wrong, swap inputs to adjust the average.

Step 6 — Commit the contract

Below the output preview is the Trade Up button. Clicking it:

  1. Removes the ten input skins from your inventory permanently.
  2. Generates the output skin server-side using the collection-weight draw + the float formula.
  3. Drops the output skin into your inventory.

The animation runs in-client (a short reveal sequence). The output appears in your inventory immediately after; it is also tagged with a 7-day trade hold if you have the Steam Mobile Authenticator enabled (everyone should — see how to set up Steam mobile authenticator when it ships).

There is no undo. The ten inputs are gone, the output is yours. If you misjudged the collection weight or the float, the contract still runs.

Step 7 — Decide what to do with the output

Three options for the output:

  1. Hold or use in-game. If the output is the skin you wanted, you are done.
  2. List on Steam Market. Output skins listed on Steam Community Market net the seller 85% of the buy-now price (15% combined fee). Listing typically clears within hours for liquid skins.
  3. List on a third-party marketplace. Buff163 (lowest seller fee, ~2.5% effective), Skinport (12% seller fee with flexible payout), CSFloat, DMarket, CS.Money each have different fee structures and payout speeds. The marketplaces pillar breaks down each one.

For EV calculations, the right comparison is net after the fee of whichever marketplace you will actually use to sell, not the gross Steam buy-now price. Most community calculators forget this.

A full worked example — Mil-Spec to Restricted on the Norse Collection

Inputs:

  • 10 × MP9 | Hot Rodder, Minimal Wear, from the Norse Collection, averaging $0.42 each
  • Total input cost: $4.20
  • Average input float: 0.10

Output collection: Norse Collection (100% from inputs) Output rarity: Restricted Restricted skins in Norse: three skins (representative names — verify the exact lineup on Steam Market before you copy this recipe)

Possible outputs and their net-of-Steam-fee prices, sampled from public listings in early Q2 2026:

Net expected return: $7.79 − $4.20 = +$3.59 per contract, or +85% on the input stake.

Output float math: 0.10 average input × (Norse skin clip 0.00–0.50 example) = 0.05, which is Factory New if the output skin is unclipped (and most Mil-Spec Norse outputs are). The 0.10 input average specifically targets FN outputs to maximise the output price band.

That recipe has positive EV. Run it once and you might get the $3.10 skin and feel ripped off. Run it 30 times and the law of large numbers converges around $7.79 × 30 = $234 in gross output, against $4.20 × 30 = $126 in input — about $108 net profit, before any sales taxes or marketplace fees on the cashout side.

(The specific Norse Collection skins, prices, and float ranges shift over time. Use this recipe shape as a template and substitute current numbers from Steam Market before running it.)

The eight most common failure modes

What new traders do wrong, in rough order of cost:

  1. Mix Souvenir inputs. The contract silently rejects. Some players then try to "force" the mix and burn a non-Souvenir input by accident.
  2. Forget Steam fees. Quote gross EV instead of net, end up running negative-EV recipes.
  3. Mix collections without checking the second collection's output pool. Adds dilution that crushes the EV.
  4. Buy expensive Factory New inputs to "guarantee" FN output. Inputs at FN cost more per slot than the FN premium on the output is worth. Almost always cheaper to feed dirtier inputs and accept a slightly worse output exterior.
  5. Run a single contract on a +12% EV recipe and conclude it does not work when the variance bites. Run it 30 times before judging.
  6. Use Mil-Spec inputs from collections that share the rarity tier with a non-knife collection when trying the two-step knife path. Only specific legacy collections support the knife rare-special path, and only some of them are still trade-up viable.
  7. Click confirm with the wrong float. Recheck the projected output float every time.
  8. Run trade-ups on skins still inside the 7-day Steam trade hold. They will not appear as eligible inputs; you have to wait the lockout.

After the contract — track results

If you are running a recipe more than a few times, log every contract: input costs, output skin, output float, sale price net of fees. A simple spreadsheet with 30-50 rows will show you whether the recipe is converging to its expected EV or whether the assumed output prices in your model are stale.

Market prices shift weekly. A recipe that was +12% EV in May is often −3% by August because Steam has rebalanced supply across the output pool. Re-check the output prices every few weeks if you are running a recipe at scale.

For a tool that does this math for you, the trade-up calculator at /tools/trade-up-calculator is shipping in week 19; until then, a spreadsheet and the pillar EV section are the workflow.

FAQ

Where is the trade-up contract button in CS2? Inside Counter-Strike 2, in the Inventory view, the wrench icon at the top-right of the items grid. The tooltip reads "Trade Up Contract".

Can I trade up to a knife or gloves? Not in one step. Knives and gloves are not on the weapon-skin rarity ladder. The two-step path (Classified → Covert → knife via a knife-bearing legacy collection) works on a small set of older collections. See the pillar guide for the conditions.

Do all ten inputs have to be the same skin? No. Inputs can be any ten skins matching the input rarity, from any collection that ships that rarity. The skin choice does not constrain the output beyond the collection-weight rule.

Why did my output come out Battle-Scarred when my inputs were Field-Tested? The output exterior depends on the output skin's float clip and the input float average. If the output skin's clip starts at 0.45 (some Restricted skins do), even a 0.20 input float average produces an output well into Well-Worn or Battle-Scarred. Check the output skin's clip range before running.

Can I cancel a trade-up after starting it? No. Once you click Trade Up, the ten inputs are destroyed and the output is generated. There is no cancel, no undo, no refund.

Does the trade-up animation affect the result? No. The output is decided server-side at the moment you click confirm. The animation is cosmetic.

Are Souvenir trade-ups possible? No. Souvenir skins are excluded as inputs and outputs. The Souvenir tag is preserved only through Major package drops.

How long until the output is tradeable? Same 7-day trade hold as any new item if you have Steam Mobile Authenticator. Without the authenticator, immediate but with restrictions on certain marketplaces.


Want to value the rest of your inventory before deciding which inputs to feed in? Value your CS2 inventory — multi-marketplace pricing, in one click.

SkinsMonkey - CS2 skin trading platform
How to Do a Trade-Up Contract in CS2 (Step by Step) - CS2-Inventory.com