Profit.tf
Track your TF2 trades without typing out a single attribute.
Scan your inventory and Profit.tf already knows the sheen, the killstreaker, the spells and the parts. You add what you paid and what you sold it for.
Free, and the first scan catalogues everything you already own.
A worked example
Made-up trades, real arithmetic. Your ledger looks like this.
Realized profit
674
, 64.34 ![]()
Return
+27.9%
Total spent
2462 ![]()
Open / sold
1 / 4
| Item | Bought | Paid | Status | Sold | Sold for | Profit | ROI | Held |
|---|---|---|---|---|---|---|---|---|
Strange Professional Killstreak Australium Rocket LauncherStrangeTeam ShineFire HornsPumpkin BombsExorcismKillsDamage DealtDominations | Mar 14, 2026 | 200 | Sold | Jun 2, 2026 | 400 | 200 | +100% | 3mo |
Uncraftable Unusual Taunt: Flying Colors UnusualifierUnusual | Aug 2, 2026 | 42 | Unsold | — | — | — | — | 2d |
Burning Flames Team CaptainUnusualA Deep Commitment to Purple | Jan 8, 2026 | 1500 | Sold | May 21, 2026 | $4500.00 | $975.00 | +27.7% | 4mo |
Professional Killstreak Scattergun KitUniqueTeam ShineFire Horns | Jun 27, 2026 | 20 | Sold | Jul 3, 2026 | 90 | 70 | +350% | 6d |
Strange Catastrophic CompanionsStrangeDamage DealtKillsDominations | Feb 19, 2026 | 700 | Sold | Jul 30, 2026 | 690 | -10 | -1.4% | 5mo |
Summary
By month: profit and closings on the date sold, opens on the date acquired.
Profit
ref
Trades
- Opened
- Closed
count
| Period | Profit | Opened | Closed | Avg / trade | ROI |
|---|---|---|---|---|---|
| Aug 2026 | 0 | 1 | 0 | — | — |
| Jul 2026 | 60 | 0 | 2 | 30 | 8.33% |
| Jun 2026 | 200 | 1 | 1 | 200 | 100% |
| May 2026 | 414 | 0 | 1 | 414 | 27.66% |
| Apr 2026 | 0 | 0 | 0 | — | — |
| Mar 2026 | 0 | 1 | 0 | — | — |
| Feb 2026 | 0 | 1 | 0 | — | — |
| Jan 2026 | 0 | 1 | 0 | — | — |
| Total | 674 | 5 | 4 | 168 | 27.89% |
Why bother with a ledger
The attributes come with the item
Sheens, killstreakers, spells, strange parts, war paints, unusual effects. The scan reads them off the item and the ledger keeps them, so a Team Shine kit is never something you spell out in a cell and hope you spell the same way next time.
Every scan is a diff
A scan is not a backpack viewer. It compares against your last one and puts what arrived since then in front of you, so an unusual drop does not sit unnoticed in row 400 for a month.
What you paid, against what you kept
The price and the storefront go in on the way in, the sale price and the fees on the way out. Nothing is guessed from a price list: the ledger holds what actually changed hands.
Profit, ROI and hold time, in keys or cash
Per trade and in total, with what is still open kept apart from what has closed. Every total reads in keys, ref or USD at one click, converted at the rate from the day of the trade rather than this week's.
Filter how you think, then keep the filter
Cut the ledger by anything the item carries: effect, sheen, killstreaker, spells, parts, war paint wear, australium. Or by what you paid in, where it came from, where it went and when. Save that filter as a tab with its own name, icon and colour, and it is there next time.
Every tab draws its own charts
The tiles and the graphs read only what the tab is filtered to, by day, week, month or year. So "how do my unusuals do against my professional killstreak kits" is two tabs and two answers, rather than one blended average that describes neither.
How it works
- 1
Sign in through Steam
One click, and your inventory comes with you. There is nothing to import and nothing to paste.
- 2
Scan your inventory
The first scan is a baseline: it catalogues what you already own without flagging all of it as new. Every scan after that reports what changed.
- 3
Log the trades worth tracking
Click a find and the item is already filled in, attributes and all. You add what you paid and where it came from.
- 4
Mark it sold
Sale price, fees and storefront. That is the moment profit, ROI and hold time stop being estimates.
Start with a baseline scan
It catalogues what you already own and flags none of it as new. From the next scan on, you find out what changed.
