Marketplace fees are the single most overlooked factor in trade-up profitability. A trade-up that looks like $10 profit on paper can become $3 after fees — or go negative entirely. Every marketplace charges differently, on different sides of the transaction, and the math changes depending on whether you're buying inputs or selling outputs.
The Three Fee Structures
CSFloat charges 2% on the seller side and hits buyers with a 2.8% deposit fee plus a flat $0.30 per transaction. That flat fee is a killer on cheap skins. A $5 input costs you $5.44 after fees ($5 * 1.028 + $0.30). A $50 input costs $51.70 ($50 * 1.028 + $0.30). The $0.30 flat fee is 6% overhead on a $5 skin but only 0.6% on a $50 one. This makes CSFloat relatively expensive for low-cost inputs and reasonable for higher-value ones.
DMarket takes 2% from sellers and 2.5% from buyers, no flat fee. A $5 input costs $5.13. A $50 input costs $51.25. Clean percentage-based math with no penalty for small transactions.
Skinport charges 0% to buyers and 12% to sellers. Buying inputs on Skinport is as cheap as it gets — you pay the listed price, period. But selling on Skinport is brutal. A $100 output nets you only $88 after the 12% seller fee.
Cheapest Marketplace Depends on Which Side You're On
For buying inputs, Skinport wins at every price point: $50 costs $50. DMarket is next: $50 costs $51.25. CSFloat is most expensive: $50 costs $51.70.
For selling outputs, the ranking flips completely. CSFloat and DMarket both take 2% — a $100 output nets you $98 on either. Skinport takes 12% — that same output nets you $88. The difference is $10 on a single skin.
The optimal strategy is obvious: buy inputs on Skinport (0% buyer fee), sell outputs on CSFloat or DMarket (2% seller fee). TradeUpBot calculates this automatically when showing profit — every input's buyer fee is included based on which marketplace it's listed on, and output values are adjusted for seller fees.
How Fees Eat a Real Trade-Up
Here's a concrete example. You find a Classified-to-Covert trade-up with 10 inputs averaging $8 each and an expected output value of $95.
Raw math: $95 output - $80 inputs = $15 profit. Looks solid.
Now add fees. Say 6 inputs are from DMarket and 4 from CSFloat:
- 6 DMarket inputs at $8: $8 * 1.025 * 6 = $49.20
- 4 CSFloat inputs at $8: ($8 * 1.028 + $0.30) * 4 = $34.11
- Total input cost with fees: $83.31
Output sold on CSFloat with 2% seller fee: $95 * 0.98 = $93.10
Actual profit: $93.10 - $83.31 = $9.79. That $15 "profit" is now under $10. And this assumes you get the expected output — if you hit a lower-value outcome, fees push you further into the red.
If you had to sell on Skinport instead (maybe CSFloat doesn't have enough buyer demand for your output skin), that 12% fee changes things dramatically: $95 * 0.88 = $83.60. Profit: $83.60 - $83.31 = $0.29. Essentially breakeven.
The Flat Fee Problem on Cheap Inputs
CSFloat's $0.30 flat fee creates a hidden tax on Mil-Spec and Restricted trade-ups where inputs cost $1-5 each. Ten inputs at $2 each on CSFloat: ($2 * 1.028 + $0.30) * 10 = $23.56. The raw cost was $20, so fees added $3.56 — a 17.8% overhead. On the same $2 inputs from DMarket: $2 * 1.025 * 10 = $20.50, just 2.5% overhead.
For cheap inputs, the $0.30 flat fee makes CSFloat significantly more expensive than DMarket or Skinport. This is one reason TradeUpBot's discovery engine pulls Mil-Spec and Restricted listings primarily from DMarket — the fee structure makes it the better source for low-value skins.
Fees Compress Thin Margins
Most gun-skin trade-ups (non-knife) operate on thin margins: 5-15% ROI before fees. A 10% ROI trade-up with $80 input cost has $8 of raw profit. After ~$3.50 in buyer fees and ~$2 in seller fees, you're left with $2.50 actual profit. That's 3.1% real ROI.
Knife trade-ups have larger absolute margins but the same fee percentages. A $400 knife trade-up with 15% raw profit ($60) keeps about $45 after fees. The percentages hurt the same way, but at least the dollar amounts are worth the effort.
This is exactly why TradeUpBot includes all fees in every calculation. The profit number you see on the trade-up table is net profit after buying fees on every input and selling fees on the output. When it says $12 profit, it means $12 in your pocket, not $12 before someone takes a cut.
Cross-Marketplace Arbitrage
Fee differences create opportunities beyond trade-ups. The same skin is often priced differently across CSFloat, DMarket, and Skinport — partly because sellers price to account for their marketplace's fee structure. A seller on Skinport knows they're losing 12%, so they list higher. A seller on CSFloat only loses 2%, so they can list lower and still net the same amount.
For trade-up inputs, this means the "cheapest" listing isn't always on the marketplace with the lowest sticker price. A skin listed at $9.50 on Skinport (total cost: $9.50) is cheaper than the same skin at $9.00 on CSFloat (total cost: $9.00 * 1.028 + $0.30 = $9.55). Always compare total cost after fees, not listing price.
TradeUpBot handles this automatically. When it selects inputs for a trade-up, it's comparing total acquisition cost across all three marketplaces, not raw listing prices. The cheapest listing price is not always the cheapest input.