The NBA offseason is upon us. Teams have already gotten a head start on executing blockbuster trades and negotiating with their own free agents. Here, you'll find our analysis of every notable deal.
As a reminder, most of these are still reports and won't be made official until the league's moratorium is lifted and its new year officially begins on July 6.
Lakers re-sign Reaves (4 yrs, $184.8M)
The Lakers didn't give Austin Reaves a fifth year, but they did give him the maximum amount allowable on a four-year deal. That's a bit surprising considering how few (if any) teams were going to have full max cap space entering free agency, but it's far from egregious.
It's true that Reaves is a zero-time All-Star and a defensive liability who struggled in the playoffs, but he has in-demand skills. He's an uber-efficient 20-point scorer who can create for himself, score from all three levels, and draw fouls at an elite rate. In addition, Reaves' ability to thrive on or off the ball makes him an easy fit beside a superior star like Luka Doncic.
The 28-year-old's combination of scoring, playmaking, and efficiency puts him in an exclusive group with some of the league's best offensive players. Since Reaves entered the Association in 2021, he's one of just 10 qualified shooters to post multiple seasons of 20-plus points and five-plus assists on an effective field-goal percentage of at least 55%. The other nine players are Doncic, Steph Curry, Nikola Jokic, Shai Gilgeous-Alexander, Kevin Durant, Kyrie Irving, LeBron James, Jamal Murray, and Tyrese Haliburton.
Timberwolves bet big on LaMelo
The Timberwolves are gambling on LaMelo Ball's sheer talent. The Hornets are betting Ball's value has already peaked. Check out our trade grades here.
Wolves re-sign Dosunmu (5 yrs, $112M)
Most observers projected Ayo Dosunmu for a new salary approaching $20 million. In the end, the reserve guard secured an average annual value of $22.4 million while extracting the longest possible term from Minnesota.
Between losing Donte DiVincenzo to an Achilles injury and carving out additional cap space by trading Julius Randle (before acquiring Ball), the Timberwolves clearly felt retaining Dosunmu was a top priority. It's hard to blame them.
Dosunmu is an efficient scorer who can start for Minnesota or continue to be one of the league's best reserves. Among 125 high-usage players who logged at least 1,000 minutes last season, Dosunmu ranked fifth in points per shot attempt, per Cleaning the Glass. At 26, he's also young enough to be part of what Minnesota hopes will be a contending core for years to come.
Dosunmu averaged roughly 15 points on 52-44-88 shooting during the regular season, then dropped 43 points (on 77% shooting) in Game 4 of the Timberwolves' first-round series victory over the Nuggets. In addition to shooting the lights out, Dosunmu can get downhill, put pressure on the defense, and make plays for others, though he's got one shooting-related quirk: He's a career 38% 3-point shooter who has topped 40% twice in five years, but he's yet to shoot better than 33% from deep in consecutive seasons. That's probably nothing, but it's worth monitoring.
Hornets re-sign White (3 yrs, $74M)
No one should expect White to have a Ball-sized impact on Charlotte's offense, and there are certainly risks to slotting in the one-way guard as a full-time starter. But for less than 15% of the cap for the next three years, the Hornets secured a solid-scoring combo guard who averaged roughly 16 points on 61% true shooting after his trade-deadline arrival.
If you really want to have fun with a small sample size, consider that in 37 minutes where White shared the floor with Kon Knueppel and Brandon Miller - but without Ball - the Hornets scored a whopping 134.2 points per 100 possessions. Now if they can just extrapolate 37 minutes to 82 games.
Heat overpay to win Giannis sweepstakes
For a deeper dive into the biggest move of the offseason, check out our Giannis Antetokounmpo trade grades for the Heat and Bucks here.
Wolves dump Randle to clear space
The Timberwolves traded Julius Randle and the 28th pick (Joshua Jefferson) to Brooklyn in exchange for Mo Gueye (who's expected to be waived) and the 33rd pick (Isaiah Evans). In a vacuum, that's a massive talent downgrade for a contending team under pressure to win soon. However, this was more about Minnesota reallocating its resources than it was about penny-pinching.
By moving off of Randle - who was owed more than $68 million over the next two years - and trading out of the draft's first round, the Timberwolves shaved more than $36 million off their 2026-27 payroll. Then they agreed to a new deal with Dosunmu and made a blockbuster splash for Ball. Though the Wolves will still be an expensive, tax-constrained squad, they did get more cost certainty now that Randle's 2027-28 player option ($35.8 million) is off the books.
Randle is akin to a regular-season innings eater in baseball. He's a productive player who's always in the lineup, and he helped Minnesota win a lot of games last season when Anthony Edwards was sidelined. But he's the prototype for the kind of player teams can't afford to overpay in a post-aprons world. Randle is a high-usage, somewhat one-dimensional player who is prone to bouts of bad decision-making. He's good enough to feel that he needs the ball but not good enough to justify a 27% usage rate on a contending team. And while he's not always efficient on the ball, he doesn't provide much offensive value off of it. His defensive effort also comes and goes.
It's tough to win with a player like that, but many of those same descriptors can be used for Ball.
Anyway, do you know who does need a productive fringe star and regular-season innings eater? A 62-loss Nets team that still lacks any surefire building blocks, missed out on a top-five pick, and doesn't control its own first-rounder next season (and therefore has no incentive to tank). Acquiring Randle and taking on an extra first-round pick to do so was a no-brainer for Brooklyn, especially since the Nets weren't expected to land any top free agents anyway. Having said that, it will be interesting to see how Randle handles a young locker room and what's likely to be a frustrating season for his new team.
Bulls land Claxton in Randle deal
The Bulls absorbed Nic Claxton into their cap space as part of the three-team Randle trade, taking a flier on the longtime Nets center. Claxton lost some of his shine in recent years and has battled back issues, so it's unclear how much upside the 27-year-old has left. But it's a worthwhile, no-risk bet by the rebuilding Bulls. Claxton is set to earn 12%-14% of the salary cap in each of the next two seasons, Chicago didn't have to give anyone up to acquire him, and the Bulls still have plenty of financial flexibility.
Wizards re-sign Young (4 yrs, $212.9M)
After buying low on Trae Young in a January trade, the Wizards gave the four-time All-Star what can only be described as one of the league's worst contracts. Consider what was written above about how hard it is to win in the modern NBA with a player like Randle, and then consider how negligent it was for the Wizards to pretend Young is a max player.
Read more about how Washington grossly overpaid Young here.
Pistons ship Stewart to Grizzlies
Much like the Wolves trading Randle, the Pistons salary-dumping Isaiah Stewart is likely a precursor to something bigger. Detroit can open up roughly $20 million-$30 million in cap space while retaining restricted free agent Jalen Duren. The 60-win Pistons could add a dynamic scorer like Norman Powell. They might be able to rival the Lakers' offer to LeBron James (though James being willing to spend the end of his career in Detroit seems like wishful thinking). They could even chase a trade for a veteran superstar like Kawhi Leonard.
Of course, if the Pistons somehow strike out on making meaningful improvements this summer, fans won't take kindly to dumping a valuable reserve big man for nothing. Detroit essentially traded Stewart to move up four spots in the draft.
In that case, Detroit's loss would be Memphis' gain. Stewart is a bruising big man and an excellent defender (with a sometimes frightening temper) who will make the Grizzlies tougher to play against. A frontcourt featuring Stewart, Zach Edey, No. 3 overall pick Cam Boozer, and No. 21 pick Karim Lopez will be a nightmare for opposing teams to match up with physically.
At 25 years old, Stewart can also grow with the young Grizzlies. The big man is owed just $15 million per year - mid-level money - over the next two years, with a team option in 2027-28. Stewart finished seventh in Sixth Man of the Year voting last season and boasted the league's stingiest defensive field-goal percentage at the rim.
Suns re-sign Gillespie (4/$48M), Goodwin (3/$19M)
Collin Gillespie went from theScore's All-Nobody Team to a $48-million contract, and honestly, that figure should prove to be team-friendly for the Suns. Gillespie proved his worth as a starter last season, averaging roughly 13 points, five assists, and four rebounds while shooting 40% from deep on high volume. He's a tough guard who can shoot, he's a good decision-maker with the ball in his hands, and he'll give you at least an honest effort on the defensive end.
Gillespie is the type of player coaches will tell you "just makes winning plays." A lot of teams would've jumped at the opportunity to acquire him at this price.
As for Jordan Goodwin, the journeyman guard seems to have found a home in Phoenix. He's a solid defender off the bench and an improved shooter. An average salary around $6.3 million is more than fair.
Warriors re-sign Horford (2 years, $14M)
That the Warriors wanted to bring Al Horford back isn't surprising. That they reportedly gave him a two-year deal that will take him through his 21st NBA season is. In any event, while Horford has certainly lost a step over the years, he's still a smart player, a solid defender, and a floor-spacing big man who shot 36% from deep last season while taking 63% of his attempts from behind the arc. This deal does raise the question of whether Golden State will retain free-agent big man Kristaps Porzingis.
Hawks extend McCollum (1 year, $21M)
On the surface, $21 million seems steep for a 34-year-old one-way guard whose efficiency has waned. But a one-year deal is relatively low-risk for Atlanta, and CJ McCollum made a legitimate impact after being dealt to the Hawks in the Trae Young deal. He's still a capable ball-handler and a career 40% 3-point shooter (37.5% last season), and he even helped Atlanta take a couple playoff games off the eventual champion Knicks. For what it's worth, the Hawks went 19-4 with McCollum as a full-time starter from Feb. 22 through the end of the season.
Knicks re-sign Diawara (4 years, $10M+)
The exact terms of the reported agreement between New York and Mohamed Diawara aren't yet clear, but cap experts expect a four-year pact with a starting salary around $2.2 million. That's a great bargain for the cap-constrained defending champs.
Diawara showed great promise as a regular rotation player over the last couple months of the regular season. The rookie provided a consistent jolt of energy off the bench, showing off some intriguing defensive potential while canning nearly 37% of his 3-point attempts.














