What changed
Steam introduced trade protection for Counter-Strike 2 in July 2025. Items received in a trade stay protected for 7 days: they cannot be traded on, and the person who sent them can reverse the trade from their Steam trade history. A reversal undoes all protected trades of that account and puts it on a trade cooldown.
The goal is to help people whose accounts were stolen. For merchants it means a skin payment is not final the moment the trade is accepted.
How SkinPlata handles it
- deposit.in_hold — the trade was accepted; the items are under protection. hold_until on the payment tells you when it ends.
- deposit.hold_approved — you released the payment early from your side (webhook only, nothing is credited yet).
- deposit.success — protection is over; the amount is final and credited to your balance.
- deposit.hold_returned — the trade was reversed; if it was already credited, the amount is taken back.
Crediting your users safely
You can credit a user on deposit.in_hold so they can play or buy straight away, or wait for deposit.success. A common middle ground: credit at once for accounts with a history on your site, and wait for final status on new ones, or on large amounts.
Whatever you choose, re-read the payment from the API before crediting, and handle deposit.hold_returned by taking the balance back from the user.
FAQ
Does trade protection apply to Dota 2 and Rust?
Steam introduced it for CS2. We handle every payment the same way and report any reversal.
Can I shorten the 7 days?
No — Steam controls the window. You only choose when to credit your own user.
What happens to my balance on a reversal?
If the payment was credited, a deposit_reversal entry takes the amount back and you get deposit.hold_returned.