
The 2020s have already given us plenty of bad contracts in free agency. This same offseason, the Washington Wizards just gave an injury-riddled Trae Young a five-year, $212 million deal that could backfire quicker than expected, but there’ve been a lot of rough deals in recent history.
Bradley Beal got one of the most questionable contracts in NBA history, Paul George lasted only two injury-filled seasons with the 76ers, the Bulls paid several players who eventually became almost impossible to move, and Portland gave Jerami Grant $160.0 million right before Damian Lillard asked out.
We’re ranking these mainly by salary, production, availability, how badly the deal limited the team, and what eventually had to happen to get out of it. Gary Trent Jr. is the one projection here because his new contract hasn’t even started yet, but the combination of his recent production and the NBA investigation makes that deal pretty questionable.
10. Evan Fournier – Knicks (4 Years, $78.0 Million)
The Evan Fournier deal wasn’t horrible from the first day. He had just averaged 17.1 points between the Magic and Celtics in 2020-21, was a proven high-volume shooter, and the Knicks needed more offense after finally reaching the playoffs again. Giving him four years and up to $78.0 million looked a little expensive, but not insane.
Year 1 was actually fine. Fournier started all 80 games he played, averaged 14.1 points, and made a franchise-record 241 threes while shooting 38.9% from deep. Then Tom Thibodeau basically decided he didn’t need him anymore. Fournier played only 27 games in 2022-23, averaged 6.1 points, and shot 30.7% from three before almost completely disappearing the following season.
That’s what puts the contract here. The Knicks committed close to $80.0 million and got one good year before Fournier turned into salary they were looking to move. He eventually went to the Pistons in the Bojan Bogdanovic/Alec Burks deal, but paying that much money for somebody warming the bench is never a great use of cap space.
9. Gordon Hayward – Hornets (4 Years, $120.0 Million)
Gordon Hayward was still a really good player when the Hornets signed him. That’s important because this wasn’t some obviously terrible basketball decision. He had averaged 17.5 points, 6.7 rebounds, and 4.1 assists in his final Celtics season, and Charlotte wanted an established wing around a young LaMelo Ball-led roster. The problem was giving him four years and $120.0 million while also waiving and stretching Nicolas Batum to create the room.
Hayward produced, but only whenever his body cooperated. He averaged 19.6 points in his first Hornets season and remained a solid scorer and playmaker afterward, but availability killed everything. He played only 44, 49, and 50 games in his first three seasons, then made 25 appearances for Charlotte in Year 4 before being traded to the Thunder.
Charlotte never made the playoffs with him and never got the consistent veteran star it was paying $30.0 million per season to have. Hayward eventually retired in 2024 after his short Thunder stint, so the deal basically became four expensive years of good basketball in small pieces without any upside.
8. Gary Trent Jr. – Bucks (4 Years, $64.0 Million)
Gary Trent Jr. spent the previous two years taking minimum money with the Bucks, reportedly helping Milwaukee preserve flexibility around Giannis Antetokounmpo instead of chasing the biggest contract available. Then Giannis gets traded, Milwaukee’s entire direction changes, and suddenly Trent gets four years and $64.0 million.
That’s what made the contract look so suspicious around the league. Trent had just averaged 8.1 points, 1.0 rebounds, and 1.2 assists while shooting 38.7% from the field and 36.0% from three, and it’s hard to imagine another team offering $16.0 million annually after that season. The NBA reportedly started looking into the situation because it naturally raises circumvention questions, basically whether there had been some understanding of “take less now, and we’ll make it up to you later.”
Even if nothing illegal is ultimately proven, the basketball outlook still feels rough. Trent is 27 and can shoot, but paying $64.0 million for a bench-level guard right after entering a post-Giannis reset feels massive compared with what his open-market value probably would’ve been.
If he turns back into a 40.0% three-point shooter and starts every night, maybe it ages fine. Right now, though, it looks much more like Milwaukee paying back two discounted seasons than making a needed free-agent decision when they’re obviously going in a youth direction.
7. Davis Bertans – Wizards (5 Years, $80.0 Million)
Davis Bertans basically got $80.0 million because of one ridiculous shooting season where he put up 15.4 points and shot 42.4% from three, while making 200 triples in only 54 games. In that 2019-20 year, he was taking 8.7 threes per night, defenses had to pick him up way beyond the line, and Washington understandably wanted to keep one of the league’s most dangerous specialists. Five years and $80.0 million was still a huge bet on one skill.
The shooting immediately became less special. Bertans dropped to 11.5 points and 39.5% from three in Year 1 of the contract, then fell to 5.7 points and 31.9% from deep in 2021-22. Once a player who doesn’t do anything else but stretch the floor stops shooting around 42.0%, the value disappears very quickly.
Washington moved him less than two years into the deal, sending Bertans and Spencer Dinwiddie to the Mavericks for Kristaps Porzingis. He later bounced from Dallas to the Thunder and then Charlotte while the same contract kept getting used as matching salary.
For a deal built almost entirely around elite shooting, getting one good year before the contract even started was pretty brutal timing.
6. Patrick Williams – Bulls (5 Years, $90.0 Million)
I understand why the Bulls didn’t want to give up on Patrick Williams in 2024. He was only 22, had been the No. 4 pick, could defend multiple positions, and had shot 39.9% from three the previous season. Betting on a young wing finally making a jump isn’t crazy, but five years and $90.0 million still feels worse every season he struggles.
Williams averaged only 7.0 points, 3.0 rebounds, and 1.5 assists last season while shooting 37.2% from the field and 34.7% from three. He played 72 games but started only six and averaged 20.5 minutes. That’s Year 6 of his career, not Year 2, and Chicago is paying $18.0 million annually for production that currently matches a seventh or eighth man.
The frustrating part is that Williams still occasionally looks like somebody who should be much better. He’s 6-foot-6, strong, has a career 38.1% mark from three, and isn’t even 25 yet. But at some point the Bulls need actual production instead of theoretical upside.
There are still three seasons left on the deal. If Williams finally breaks out, Chicago can escape this list. After a 7.0 PPG season on 37.2% from the field, though, $90.0 million looks pretty painful.
5. Jerami Grant – Blazers (5 Years, $160.0 Million)
The timing alone makes the Jerami Grant contract legendary. The Blazers agreed to give Grant five years and $160.0 million after he averaged 20.5 points and shot 40.1% from three in 2022-23. But Lillard requested a trade basically immediately afterward, meaning the Blazers had just committed $32.0 million per season to a 29-year-old secondary forward right as the entire direction of the franchise changed.
Grant wasn’t bad for Portland. That’s why this isn’t higher. Across four seasons, he averaged 18.8 points and shot 38.9% from three, and he was still at 18.6 points last year. He provided spacing, wing scoring, and veteran minutes while the roster went through a rebuild. The problem was always how much they were paying for a player they didn’t need anymore.
Portland finally moved him this summer as part of the Ja Morant trade, sending Grant and Kris Murray to the Grizzlies. That’s actually a much better ending than anyone would have predicted two years ago given the size and unwanted nature of that deal.
Still, paying $160.0 million for a good third option only makes sense if you’re actually building a contender around him. Portland signed Grant to help Lillard, lost Lillard immediately, and then spent years paying Grant like a win-now player through a rebuild.
4. Zach LaVine – Bulls (5 Years, $215.2 Million)
Chicago almost had to pay Zach LaVine in 2022. He was 27, had just made consecutive All-Star teams, averaged 24.4 points, and the Bulls had finally returned to the playoffs. Letting that player walk for nothing would’ve looked ridiculous. The problem was committing the full five-year, $215.2 million max to a one-dimensional star.
LaVine remained productive, but there is a huge difference between productive and worth more than $40.0 million per season. He never became the franchise superstar Chicago was paying for, the defense stayed horrendous, multiple injuries kept appearing, and the Bulls spent multiple summers and deadlines trying to find somebody willing to take the contract.
His 2023-24 season was the low point. LaVine played only 25 games before right foot surgery ended his year, and his trade value basically disappeared. Chicago finally moved him in February 2025 as the third team in the De’Aaron Fox blockbuster, receiving Kevin Huerter, Zach Collins, Tre Jones, and a 2025 first-round pick while LaVine went to the Kings.
LaVine can still be a 20-point scorer today, which separates this from Beal or late-contract George. But Chicago gave a max contract to a player who never became a true No. 1 option, then spent years with that salary limiting the roster build around him.
3. Lonzo Ball – Bulls (4 Years, $85.0 Million)
This one just sucks because the actual signing was working perfectly. Lonzo Ball arrived in 2021 on a four-year, $85.0 million sign-and-trade and immediately looked like exactly what the Bulls needed.
He averaged 13.0 points, 5.4 rebounds, 5.1 assists, and 1.8 steals while shooting 42.3% from three, pushed the pace, defended guards and wings, and connected everything around LaVine and DeMar DeRozan. Chicago even spent part of that season sitting first in the East, but then he hurt his left knee in January 2022 and basically disappeared from the league.
Ball underwent multiple procedures, missed the rest of 2021-22, all of 2022-23, and all of 2023-24. At one point he couldn’t run or jump without pain, and Chicago was paying more than $20.0 million annually for a starting point guard who physically couldn’t play basketball.
I don’t blame the Bulls much for the decision because nobody could’ve reasonably predicted what happened. If we’re ranking contract outcomes, though, it has to be near the top. Chicago built that team around Ball’s all-around connective game, and losing him changed the entire roster fit overnight. Horrible luck, but it has to be up here.
2. Paul George – 76ers (4 Years, $212.0 Million)
The 76ers went all-in on Paul George, and while I could personally never understand their reasoning, I guess the cap space, need for a star, and George suddenly hitting the free agent pool was too tempting for them.
Joel Embiid was an MVP, Tyrese Maxey was becoming an All-Star, and Philadelphia finally had max cap space. George was coming off a season averaging 22.6 points while shooting 41.3% from three. Give him four years and $212.0 million, put three stars together, and finally get past the second round. Instead, George played 78 regular-season games across two seasons with the 76ers.
He managed only 41 appearances in 2024-25 and averaged 16.2 points, his lowest scoring mark since his second NBA season. More knee problems followed, including surgery before 2025-26, and the player Philadelphia had signed through his age-37 season never looked remotely like a $50.0 million star consistently.
Then, someway and somehow, they completely turned that disaster into a superteam. The 76ers traded George to the Celtics for Jaylen Brown, but getting Boston to take George required Philadelphia to include two first-round picks and two second-round picks. Brown is younger and had just averaged a career-high 28.7 points, so upgrading makes sense, but needing four picks attached to the guy you gave $212.0 million to can still come back to bite them later.
George can still help Boston because he shoots, defends, and doesn’t need 20 shots anymore. The contract itself remains ugly, although on a short-term basis at least.
1. Bradley Beal – Wizards (5 Years, $251.0 Million)
I don’t really think there’s any other deal that can get close to Bradley Beal’s insanely hard-to-trade contract the Wizards gave him in 2022. He got five years and $251.0 million after he had played only 40 games the previous season and averaged 23.2 points. Beal was still only one year removed from averaging 31.3 PPG, so paying him the max wasn’t completely insane.
But everything that Washington attached to that max, accompanied by the fact that no one would’ve given Beal such a large deal at that point, was a killer. Beal received a full no-trade clause, a 15% trade kicker, and a player option in the final season.
Full no-trade clauses are almost nonexistent in the NBA, and Washington handed one to a player who hadn’t made an All-NBA team and whose team had won 35 games the previous season. It gave Beal total control over any future exit while the team was screaming for a rebuild.
That became a huge problem one year later when they finally accepted their destiny, but Beal could control his destination, killing their leverage in negotiations. He ended up with the Suns, where Phoenix tried to build a Kevin Durant-Devin Booker-Beal superteam that became expensive, shallow, and never got close to a championship.
Then Phoenix couldn’t trade him either after the experiment died, and bought Beal out in July 2025, leaving massive dead money attached to a contract that still included a $57.1 million player option for 2026-27.
He joined the Clippers afterward, played only six games last season while dealing with a hip injury, and just re-signed with them for two years and only $13.2 million. In 2022, Beal signed for $251.0 million with a no-trade clause, and four years later, his market value is roughly $6.6 million per season, while Phoenix is still dealing with the financial consequences of the old contract.