We are two weeks from Dec. 15, which marks the unofficial countdown to the Feb. 10 NBA trade deadline. The majority of free agents signed this past offseason become eligible to be traded, and although teams are still evaluating their rosters, internal dialogue has begun. Teams are discussing what works and what potential changes (some minor) they need.
There hasn’t been a trade in the NBA since Oct. 6, but at the moment, the big focus is in Philadelphia, where the future of disgruntled guard Ben Simmons could lead to a domino effect across the league if the former No. 1 overall pick is indeed traded.
To get a better sense of the 2021-22 trade market, we have broken down the entire player pool into three categories below: expiring contracts, long-term deals and players still carrying trade restrictions.
We’ve organized these tables by player role (franchise centerpiece, All-Star, starter, reserve, etc.), salary and years remaining on their contracts. You can use these tables when attempting to determine which trades are possible across the league — especially because 29 out of the 30 teams don’t have salary-cap space (only Oklahoma City has room) and will need to trade salaries that match within 125%, 175% or $5 million.
Teams such as the Celtics ($17.2, $9.8 and $5 million), Magic ($17.2 million), Pelicans ($17.1 million), Nets ($11.5 and $6.3 million), Thunder ($11.3 million and $9.6 million), Mavericks ($10.9 million), Clippers ($8.3 million) and Jazz ($8.5 million) have large trade exceptions and can can acquire a player without sending back salary because of a previously created trade exception.
Expiring contracts
Because each of these 88 players is in the last year of his contract (or holds an option that could make him a free agent this summer), there is a risk that the acquiring team could lose the player in free agency.
However, there has been a seismic shift on teams taking more of a chance on “rental players” in the past three seasons.
The four players had an immediate impact on their new teams and were re-signed after entering free agency.
Beyond the on-court benefits they got, the Jazz, Clippers, Knicks and Trail Blazers took advantage of the signing rights they acquired in the trades — full Bird for Clarkson and Powell, non-Bird for Morris and early Bird for Rose — to exceed the cap and retain a player they wouldn’t have otherwise been able to add in free agency.
That same thinking also applies to the Cavaliers acquiring Jarrett Allen. Cleveland was not projected to have cap space in 2021 to sign Allen but acquired his Bird rights and exceeded the cap to sign him to a five-year, $100 million contract. Allen was recently named Eastern Conference Player of the Week, and the Cavaliers are in the thick of the play-in race in the East.
Multiyear contracts
The list of 194 players who have two or more years left on their contract is top-heavy with franchise cornerstones, All-Stars, top starters and starters.
No player in the NBA has a no-trade clause in his contract. However, that doesn’t mean everyone is free to be traded. Of the 444 players currently on rosters, 159 have some type of lingering restriction. Here is that list, with an explainer below:
Signing: The majority of players who signed a contract in the offseason have a Dec. 15 trade restriction. The Jan. 15 restriction is for free agents who signed a contract with their previous team (with either Bird or early Bird rights) with a pay increase of at least 20% over the previous season. For free agents like the Celtics’ Jabari Parker, who signed after Sept. 15, the restriction is three months after they signed their contract. ·
One-year Bird rights: This restriction applies if a free agent signs a one-year contract and will have Bird rights with his current team when he becomes a free agent. A player can still be traded but must consent to the deal. If he does, the Bird rights do not transfer to his new team.
Extension: Depending on the type of extension, a player becomes trade-ineligible for six months or one year. However, because of the condensed offseason, the restriction for extensions are now shortened.
Poison pill: For players still on their rookie deals before an extension kicks in, the NBA counts their fourth-year salary as outgoing money and the average of the extension amount and last year of their rookie contract as incoming money. One example: Robert Williams III would count as $3.7 million in outgoing salary for the Celtics but $10.3 million for an acquiring team.
Used to monitor number of Google Analytics server requests when using Google Tag Manager
1 minute
__utmb
Used to distinguish new sessions and visits. This cookie is set when the GA.js javascript library is loaded and there is no existing __utmb cookie. The cookie is updated every time data is sent to the Google Analytics server.
30 minutes after last activity
__utmc
Used only with old Urchin versions of Google Analytics and not with GA.js. Was used to distinguish between new sessions and visits at the end of a session.
End of session (browser)
__utmz
Contains information about the traffic source or campaign that directed user to the website. The cookie is set when the GA.js javascript is loaded and updated when data is sent to the Google Anaytics server
6 months after last activity
__utmv
Contains custom information set by the web developer via the _setCustomVar method in Google Analytics. This cookie is updated every time new data is sent to the Google Analytics server.
2 years after last activity
__utmx
Used to determine whether a user is included in an A / B or Multivariate test.
18 months
_ga
ID used to identify users
2 years
_gali
Used by Google Analytics to determine which links on a page are being clicked
30 seconds
_ga_
ID used to identify users
2 years
_gid
ID used to identify users for 24 hours after last activity
24 hours
_gac_
Contains information related to marketing campaigns of the user. These are shared with Google AdWords / Google Ads when the Google Ads and Google Analytics accounts are linked together.
90 days
__utma
ID used to identify users and sessions
2 years after last activity
__utmt
Used to monitor number of Google Analytics server requests