Under past NBA Collective Bargaining Agreements, up until the 2016/17 season, a player’s full cap hit was used for salary-matching purposes in trades, whether or not his salary was guaranteed. If a player had an $10MM salary with a partial guarantee of $1MM, his outgoing salary in a trade was the same as it would have been for a player who had a fully guaranteed $10MM contract.
That’s no longer the case, however. Now, only the guaranteed portion of a player’s contract counts for outgoing salary purposes in a trade, limiting the appeal of non-guaranteed salaries as trade chips.
This detail is crucial for determining how much salary a team can acquire in a trade — unless a team is under the cap, the amount of salary it sends out in a trade dictates how much salary it can take back. The amount of salary an over-the-cap team can acquire in a trade ranges from 100% to 200% of its outgoing salary, depending on exactly how much salary the team is sending out and the team’s proximity to a tax apron.
Under the old system, it might have made sense for a cap-strapped club to trade a player with a guaranteed salary for a player earning an equivalent non-guaranteed salary — the cap-strapped club could then waive that newly-acquired player to cut costs. That’s no longer a viable strategy.
Complicating matters further is the fact that a team can’t simply circumvent the new rules by trading a player before a league year ends on June 30, then having his new team waive him once his new non-guaranteed cap hit goes into effect on July 1. After the end of the regular season, a player’s outgoing salary for trade purposes is the lesser of his current-year salary and the guaranteed portion of his salary for the following season.
Here’s a practical example: During the 2024 offseason, the Warriors explored trade scenarios involving Chris Paul, who made $30.8MM in 2023/24 and had a non-guaranteed $30MM salary for ’24/25. Because the ’23/24 season was over, Paul’s outgoing salary for matching purposes would have been $0, his guarantee for ’24/25, which was (far) less than his total 2023/24 salary.
Sending out Paul without guaranteeing any portion of his salary would have been impractical for the Warriors if they hoped to take any salary back themselves, but they did have the ability to partially or fully guarantee his cap hit in order to make the trade math work. For instance, if Golden State had guaranteed $20MM of Paul’s $30MM salary, $20MM would have become his new outgoing amount for matching purposes.
Finding a sweet spot in that scenario was still a challenge. For instance, it would have worked from the Warriors’ perspective to increase Paul’s partial guarantee to $15MM and use his outgoing salary to acquire a player with a $15MM guaranteed salary. But Golden State’s trade partner would have been sending out a $15MM player and having to account for Paul’s full $30MM incoming salary (not just his partial guarantee), so the math likely wouldn’t have worked for that team. Paul was ultimately waived prior to his guarantee deadline when the Warriors couldn’t find a legal deal they liked.
During the first half of a season, the math on non-guaranteed contracts is a little trickier, since the guaranteed portion of a player’s salary increases for each day he’s on the roster.
For example, Pistons big man Paul Reed is making $7,723,000 this season and that amount is non-guaranteed. However, November 30 (the date this article is being published) is the 40th day of the regular season, meaning Reed has already earned 40/174ths of his salary. That works out to $1,775,402, which is what Reed’s outgoing amount for matching purposes would be if he were traded today.
Reed’s outgoing amount will continue to increase every day until January 10, which is the NBA’s league-wide salary guarantee date. At that point, Reed’s $7,723,000 salary would become fully guaranteed and would be his outgoing amount in any trade for the rest of the regular season.
To paint a complete picture of exactly how these new rules work, let’s assume a free agent signed a two-year, $24MM contract during the summer of 2024. His cap hit in each year is $12MM, but the first season of the contract is partially guaranteed for $3MM, while the second year is fully non-guaranteed. Here’s how it would count, for trade purposes, as outgoing salary:
- From the date of the signing until the one-quarter mark of the 2024/25 season:
- $3MM
- Note: Due to other CBA rules, the player wouldn’t become trade-eligible until at least December 15, 2024 anyway.
- From the one-quarter mark of the 2024/25 regular season until all salaries become guaranteed on January 10, 2025:
- A prorated amount of the salary based on the player’s earnings to date.
- Note: The player would earn 1/174th of his $12MM salary per day; so 60 days into the season, his outgoing salary in a trade would be $4,137,931 (60/174ths of $12MM).
- From January 10, 2025 until the 2025 trade deadline:
- $12MM
- From the day after the team’s 2024/25 season ends until the start of the 2025/26 regular season:
- $0
- From the start of the 2025/26 regular season until salaries become guaranteed on January 10, 2026:
- A prorated amount of salary based on earnings to date.
- Note: The player would once again earn 1/174th of his $12MM salary per day; so 10 days into the season, his outgoing salary in a trade would be $689,655 (10/174ths of $12MM).
- From January 10, 2026 until the 2026 trade deadline:
- $12MM
This change to the NBA’s trade rules hasn’t stopped teams from tacking on non-guaranteed years to the end of certain players’ contracts, since those non-guaranteed salaries still provide flexibility. However, we’re not seeing teams construct contracts with non-guaranteed cap hits solely for trade purposes like we occasionally used to.
Note: This is a Hoops Rumors Glossary entry. Our glossary posts will explain specific rules relating to trades, free agency, or other aspects of the NBA’s Collective Bargaining Agreement. Larry Coon’s Salary Cap FAQ was used in the creation of this post.
A previous version of this article was published in 2023.