The 2016-17 NBA season is already over a month old but only one trade has been consummated since opening night.
Outside of the November 1 deal that sent Jerami Grant to the Oklahoma City Thunder from the Philadelphia 76ers for Ersan Ilyasova, the trade market has been quiet.
That’s not uncommon with trade restrictions suppressing the market. Last season, Miami and Memphis made the only deal before late December.
By rule of the Collective Bargaining Agreement, free agents who signed over the summer cannot be traded for three months or December 15, whichever is later.
JaVale McGee, who signed with the Golden State Warriors on September 12, has the December 15 restriction. Kyle Wiltjer inked with the Houston Rockets on September 23 and cannot be dealt until December 23.
With the NBA’s trade deadline on February 23, less than three months away, all future free-agent signings will not be trade eligible this season.
Additionally, players who re-signed with their teams over the offseason to at least a 20 percent raise (via Early or Full Bird Rights) cannot be traded until January 15.
Meanwhile, general managers are taking the time to determine if their team will be a buyer or seller in the trade market. Currently, Warriors (14-2) have the best record overall, while the Dallas Mavericks (2-13) have the worst. Dallas has been beset by injuries, but is still just 5.5 games behind the eighth-place Portland Trail Blazers (9-9).
Now that Kobe Bryant, Kevin Garnett and Tim Duncan have retired, only LeBron James (Cleveland Cavaliers), Carmelo Anthony (New York Knicks) and Dirk Nowitzki (Mavericks) have explicit no-trade clauses.
A much greater number of players have a similar right to block trades since they re-signed with their respective teams on one-year deals.
That list includes Kris Humphries (Atlanta Hawks), Deron Williams (Mavericks), James Jones (Cavaliers), Beno Udrih (Detroit Pistons, picked up off waivers from the Miami HEAT), Anderson Varejao (Warriors), James McAdoo (Warriors), Ian Clark (Warriors), Luc Mbah a Moute (Los Angeles Clippers), Metta World Peace (Los Angeles Lakers), Udonis Haslem (HEAT), Steve Novak (Milwaukee Bucks), Sasha Vujacic (New York Knicks), Manu Ginobili (San Antonio Spurs) and Marcus Thornton (Washington Wizards).
Nowitzki, who has a team option on the second year of his deal, also has the implicit version of a no-trade. Technically, Dallas could get around that by opting him into the second year but Nowitzki would still have his actual no-trade clause.
Both Tyler Johnson (HEAT) and Allen Crabbe (Trail Blazers) can block trades as well, given their respective franchises matched offer sheets in July.
With the NBA currently full with 15 players on all 30 teams, 450 in total, teams will need to make room if they intend to make a trade that brings in more players than they send out.
For example, if a team needs to take on three players in a deal while sending out one, they would first need to waive two players on their current roster.
By January 10, all players on non/partially-guaranteed contracts will lock in for the rest of the season. A total of 408 players may have guaranteed money, but teams are certainly free to cut those with locked in salary.
Teams with hard caps, set at $117.3 million for the current season, cannot go over for any reason — limiting how much salary they can take on in trade.
The Los Angeles Clippers, Memphis Grizzlies, Toronto Raptors and Milwaukee Bucks are all hard-capped.
The Clippers are the closest to that mark at $114.7 million in salary. They would be unable to make a deal that brings in an additional $4 million in salary.
Los Angeles triggered the hard cap by using the Mid-Level Exception (MLE) on Wesley Johnson and the Bi-Annual Exception (BAE) on Mbah a Moute. The Raptors used their MLE on Jared Sullinger.
The Grizzlies and Bucks were hard-capped after acquiring players via sign and trade (Troy Daniels and Matthew Dellavedova, respectively).
Trade exceptions can be used to acquire a player without sending out matching salary. Teams can bring in a player earning up to $100,000 more than the exception.
The following franchises have trade exceptions available:
Charlotte Hornets: $1.7 million, expiring 7/12/17
Cleveland Cavaliers: $845,059, expiring 1/12/17; $9.6 million expiring 2/18/17; $947,276, expiring 2/18/17; $1.3 million, expiring 8/15/17
Los Angeles Clippers: $1.2 million, expiring 7/15/17
Milwaukee Bucks: $1.7 million, expiring 9/22/17
Oklahoma City Thunder: $7.4 million, expiring 11/1/17
Neither Michael Carter-Williams (Chicago Bulls) nor Tony Snell (Bucks) can be traded in a package with others players on their respective team. The salary-aggregation restriction lifts on December 17.
Additionally, Udrih cannot be aggregated by the Pistons until December 24.
The following players cannot be traded until the dates listed below:
Atlanta Hawks: Kent Bazemore, Malcolm Delaney, Dwight Howard, Kris Humphries
Boston Celtics: Gerald Green, Al Horford
Brooklyn Nets: Trevor Booker, Randy Foye, Justin Hamilton, Joe Harris, Jeremy Lin, Luis Scola
Charlotte Hornets: Treveon Graham, Roy Hibbert, Brian Roberts, Ramon Sessions, Christian Wood
Chicago Bulls: Isaiah Canaan, Rajon Rondo, Dwyane Wade
Cleveland Cavaliers: Chris Anderson, Richard Jefferson, James Jones, DeAndre Liggins
Dallas Mavericks: Harrison Barnes, Nicolas Brussino, Seth Curry, Dorian Finney-Smith, Dwight Powell, Deron Williams
Denver Nuggets: Darrell Arthur, Mike Miller
Detroit Pistons: Jon Leuer, Boban Marjanovic, Ish Smith, Beno Udrih
Golden State Warriors: Ian Clark, Kevin Durant, James McAdoo, JaVale McGee, Zaza Pachulia, Anderson Varejao, David West
Houston Rockets: Ryan Anderson, Eric Gordon, Nene
Indiana Pacers: Aaron Brooks, Al Jefferson, Kevin Seraphin
Los Angeles Clippers: Alan Anderson, Brandon Bass, Raymond Felton, Wesley Johnson, Luc Mbah a Moute, Marreese Speights
Los Angeles Lakers: Jordan Clarkson, Luol Deng, Marcelo Huertas, Timofey Mozgov
Memphis Grizzlies: Troy Daniels, James Ennis, Chandler Parsons, Troy Williams
Miami HEAT: Wayne Ellington, Udonis Haslem, James Johnson, Rodney McGruder, Willie Reed, Dion Waiters, Hassan Whiteside, Derrick Williams
Milwaukee Bucks: Matthew Dellavedova, Steve Novak, Mirza Teletovic, Jason Terry
Minnesota Timberwolves: Cole Aldrich, Jordan Hill, John Lucas, Brandon Rush
New Orleans Pelicans: Tim Frazier, Langston Galloway, Solomon Hill, Terrence Jones, E’Twaun Moore
New York Knicks: Ron Baker, Brandon Jennings, Mindaugas Kuzminskas, Maurice Ndour, Joakim Noah, Marshall Plumlee, Sasha Vujacic
Orlando Magic: D.J. Augustin, Bismack Biyombo, Jeff Green, Arinze Onuaku, Damjan Rudez
Philadelphia 76ers: Jerryd Bayless, Gerald Henderson, Sergio Rodriguez
Phoenix Suns: Leandro Barbosa, Jared Dudley, Derrick Jones
Portland Trail Blazers: Festus Ezeli, Tim Quarterman, Evan Turner
Sacramento Kings: Arron Afflalo, Matt Barnes, Ty Lawson, Garrett Temple, Anthony Tolliver
San Antonio Spurs: Dewayne Dedmon, Bryn Forbes, Pau Gasol, David Lee
Toronto Raptors: Jared Sullinger, Fred VanVleet
Utah Jazz: Joe Johnson
Washington Wizards: Danuel House, Ian Mahinmi, Sheldon McClellan, Andrew Nicholson, Daniel Ochefu, Jason Smith, Marcus Thornton
Los Angeles Lakers: Thomas Robinson
Houston Rockets: Bobby Brown, Kyle Wiltjer
Los Angeles Lakers: Metta World Peace
San Antonio Spurs: Nicolas Laprovittola
Houston Rockets: James Harden (renegotiated and extended contract)
Boston Celtics: Tyler Zeller
Charlotte Hornets: Nicolas Batum, Marvin Williams
Cleveland Cavaliers: LeBron James, J.R. Smith
Dallas Mavericks: Dirk Nowitzki
Detroit Pistons: Andre Drummond
Los Angeles Clippers: Jamal Crawford, Austin Rivers
Los Angeles Lakers: Tarik Black
Memphis Grizzlies: Mike Conley
Miami HEAT: Tyler Johnson
Milwaukee Bucks: Miles Plumlee
New York Knicks: Lance Thomas
Orlando Magic: Evan Fournier
Portland Trail Blazers: Allen Crabbe, Mo Harkless, Meyers Leonard
San Antonio Spurs: Manu Ginobili
Toronto Raptors: DeMar DeRozan
Washington Wizards: Bradley Beal
Atlanta Hawks: Ryan Kelly
Oklahoma City Thunder: Russell Westbrook (renegotiated and extended contract)
Brooklyn Nets: Yogi Ferrell
Denver Nuggets: Alonzo Gee
New Orleans Pelicans: Anthony Brown
Dallas Mavericks: Jonathan Gibson
Make sure to follow Basketball Insiders on Twitter at @BBallInsiders.