© USA TODAY Sports

Most NBA general managers will tell you that making trades are a complicated process. The fantasyification of sports, as well as the point-and-click nature of video games, sometimes has fans thinking that making a trade is easy.

The reality is NBA front offices talk trades every single day. Quite often a deal is bandied about months in advance of getting the tweet that it’s been agreed to. Most often, trade talks go nowhere.

The hardest part of making a trade is an obvious one: agreeing on the value heading both ways. But there are complicating factors even beyond that.

Many a time, the teams agree to the base parameters of a deal. Player X is going one way, while Player Y and draft picks are headed the other way. But sometimes that’s not enough to get a deal done. Both sides have to meet the salary-matching component in a trade, and that can get confusing and hard to understand.

Salary-matching in a trade makes signing a player by using cap space look like child’s play. If you have $20 million in available cap space and you want to sign a player, you can offer him up to $20 million. That’s pretty cut and dry.

For a trade to happen in the NBA, there are salary-matching rules that to be met. Let’s break those down.

Trading as a Taxpayer

10 teams are currently over the NBA’s tax line. Nine of them are pretty good bets to finish as taxpayers. Another eight teams are dancing around the tax line. So, over half of the NBA is around the tax as trade season opens.

That’s important because taxpayers have a different set of salary-matching rules than non-taxpayers do.

Taxpayers can take back 125% of the outgoing salary they send out plus $100,000. That means if a taxpayer sends out $20 million in salary, they can take back $25,100,000 in incoming salary.

The reason this is done is to limit how much money a taxpayer can take back in a trade to retain some semblance of competitive balance.

Trading as a Non-Taxpayer

A non-taxpayer has bands for how much salary they can return in a trade.

If a non-taxpayer sends out $1 to $6.5 million in a trade, they can bring back 175% of the outgoing salary plus $100,000.

If a non-taxpayer sends out between greater than $6.5 million in a trade and $19.6 million, they can bring back the outgoing salary plus $5 million.

If a non-taxpayer sends out greater than $19.6 million in a trade, they can bring back 125% of the outgoing salary plus $100,000.

This is done to bring some balance to what non-taxpayers can do in trade as opposed to taxpayers.

Important Note: The calculation as to whether a team is a taxpayer or non-taxpayer is always done post-trade. That means if a team is going from being under the tax to over the tax, how much money they can return via trade could possibly change.

Matching salary via other means

When a trade is made, each team is allowed to structure the trade in the best possible way for themselves. While we might get a deal reported as “Team 1 is trading Players X, Y and Z to Team 2 for Players A, B, C and D”, the actual structure of that deal might be far more complicated.

For example, Team 1 might have a Traded Player Exception (TPE) they are using to absorb Player D and only using salary-matching to trade for Players A, B and C. On the other side, Team 2 could be using the Minimum Exception to absorb Player X, while using salary-matching to bring on Players Y and Z. This type of structuring is often how TPEs are created.

Other Important Trade Rules

  • Players who are making the Veteran Minimum can almost always be acquired via the Minimum Exception. That means no salary-matching needs to be used for them to be brought in. Note: something still needs to be sent to the trading team in the deal.

Inversely, if their salary is needed in a deal to make the salary-matching work, a team is allowed to include it as such.

    • Players with a trade bonus can waive part or all of the trade bonus in order to meet the salary-matching rules.
    • Draft picks always carry a value of $0 in trade. They are “extras” being added to a deal and have no impact on salary-matching.
    • Players on a one-year contract with Bird or Early Bird rights after the contract expires (inclusive of an option year) have an implied no-trade clause. This is because those players lose those rights if traded under these circumstances. Two other players, Bradley Beal and Deandre Ayton, also have no-trade clauses. Beal’s is a full NTC, while Ayton’s is a temporary NTC. This year, the NTC list includes:
      • Ryan Arcidiacono (New York Knicks)
      • Deandre Ayton (Phoenix Suns - one-year NTC due to matched offer sheet)
      • Bradley Beal (Washington Wizards - only full NTC)
      • Bismack Biyombo (Phoenix Suns)
      • Jevon Carter (Milwaukee Bucks)
      • Kessler Edwards (Brooklyn Nets)
      • Drew Eubanks (Portland Trail Blazers)
      • James Harden (Philadelphia 76ers)
      • Serge Ibaka (Milwaukee Bucks)
      • Andre Iguodala (Golden State Warriors)
      • Derrick Jones Jr. (Chicago Bulls)
      • Nathan Knight (Minnesota Timberwolves)
      • Wesley Matthews (Milwaukee Bucks)
      • Rodney McGruder (Detroit Pistons)
      • Mike Muscala (Oklahoma City Thunder)
      • Theo Pinson (Dallas Mavericks)
    • Each side has to give up something in a deal. Even in a straight salary dump trade, something has to go back the other way. This can be something as benign as a minor amount of cash ($110,000 is the minimum), a top-55 protected second round pick or draft rights to a player who is unlikely to come over to the NBA. The key is that all parties have to send something out. Trading a player for “nothing” isn’t actually a thing.
    • In a multiple-team trade, each team must satisfy what is called the “touch rule”. The touch rule says that in a multiple-team trade, each team must touch at least two of the other teams in a deal. That can be as simple as sending cash, a protected pick or draft rights. But the touch rule must be satisfied by acquiring from or sending to at least two other teams in the deal.
    • A handful of players can’t be traded due to various date-restrictions that don’t allow the player to be traded before the trade deadline. This season, that list includes:
      • Devin Booker (Phoenix Suns)
      • LeBron James (Los Angeles Lakers)
      • Stanley Johnson (San Antonio Spurs)
      • Nikola Jokic (Denver Nuggets)
      • Maxi Kleber (Dallas Mavericks)
      • C.J. McCollum (New Orleans Pelicans)
      • Larry Nance Jr. (New Orleans Pelicans)
      • Karl-Anthony Towns (Minnesota Timberwolves)
      • Dean Wade (Cleveland Cavaliers)
      • Kemba Walker (Dallas Mavericks)
      • Andrew Wiggins (Golden State Warriors)
  • A Traded Player Exception (TPE) is created when one team takes back less money in salary-matching for one player than they send out. TPEs are not traded, but are used to absorb players into the TPE without having to use salary-matching. TPEs are often created when team’s do a deal as laid out under the “Matching salary via other means” section.


NBA Manage Roster Tool