Getty Images

The first day of NBA free agency brought the biggest contracts of the offseason, but there was almost as much action on Day 2. With the best players largely off the board, teams went about the more tedious, but in some ways more important, process of filling out the rest of their rosters role players that make sense. With that in mind, let's hit on some of the biggest moves in the NBA on Saturday.

The Houston high rollers

We've seen a whole lot of big numbers come out of Houston over the past two days, but in most cases, they come with asterisks. Fred VanVleet was a long-rumored Rockets target at a two-year, $85 million max contract. When he ultimately signed for $130 million over three years, it initially seemed like a far riskier contract, but early reports of a team option on that third season have already begun to trickle in. 

The Jock Landale contract is even more team-friendly. The first number reported was $32 million over four years. That's a hefty price for a backup center... except ESPN's Adrian Wojnarowski also reported that only the first season is fully guaranteed. This is a contract structure similar to Kevin Porter Jr's. The Rockets have gotten very good at convincing players to give them years of team control with very little security.

And then... the Dillon Brooks contract arrived. Four years, $80 million. The Athletic's Kelly Iko has already reported that the deal is fully guaranteed. At the time of the signing, the Spurs were the only other team with significant cap space. Everyone else was bidding with the mid-level exception, and the team that Brooks was coming from, the Grizzlies, reportedly decided months ago that they would not be bringing Brooks back with Bird Rights.

What's worse? The Rockets dumped four recent draft picks, including three first-rounders, to help clear the money to do this: Usman Garuba, Josh Christopher, TyTy Washington and K.J. Martin. The Rockets somehow managed to create a bidding war against themselves. They lost. Brooks isn't the player his detractors said he was after his humiliating first-round loss to the Lakers. He is an elite defender who, prior to the last two seasons, was at least an average 3-point shooter and solid scorer. But so far as we know, there was no market for Brooks at anywhere near this price. The Rockets had a mountain of cap space. They didn't have to give all of it to Brooks.

Keeping the band together

Three of last year's best teams managed to successfully execute their "run it back" strategies:

The result for all three teams is the same: aside from minor changes, the core of last year's rosters will remain in place. However, that outcome means different things for each of them.

For the Lakers, these contracts largely represent significant victories. While the Russell deal includes a player option, the Lakers did well to limit to two years. That structure likely wasn't an accident. With Gabe Vincent incoming, they have a Russell replacement ready if they need a major salary to dangle at the deadline, and his contract isn't onerous enough to scare off trade partners. Starting in December, they will be able to attach their 2029 first-round pick to Russell's salary in search of a major addition. 

As for Reaves, there were genuine concerns that he could receive an Arenas Provision offer sheet worth up to $102 million. This would have been particularly unwieldy for the Lakers as their salary structure would have forced them to backload the contract. The first two years would have paid him mid-level money. The last two would have paid him the max. Instead, it's four years at mid-level money, saving the Lakers $46 million in total.

A re-run for the Bucks is a bit more of a mixed bag. Unlike the Lakers, Milwaukee could not have successfully pivoted into cap space if they'd lost their players. That essentially meant their options were keeping them or losing them for nothing. However, they just gave three years to a forward with significant injury concerns and two years to a 35-year-old. We also need to keep an eye on Jae Crowder's new one-year contract. If it is for the minimum, it is harmless. If the Bucks had to dip into their taxpayer mid-level exception to keep him, that will trigger a hard cap at the second apron (roughly $182.5 million). The Bucks likely won't have any more major expenditures incoming, but a hard cap makes in-season trading significantly more difficult.

And as for the Kings? It's hard not to view their free agency period as a slight disappointment. When they opened up roughly $36 million in cap space by dumping Richaun Holmes and the No. 24 pick, there was speculation about targets like Draymond Green and Kyle Kuzma. These would have represented significant upgrades over Barnes, who disappeared in the first round of the playoffs against the Warriors and had a spotty postseason track record beforehand. They still could have retained Lyles using the cap room mid-level exception, and while the extension for Sabonis was a nice gesture, it was not, strictly speaking, necessary. Sabonis was already under contract for next season, and the possibility of a renegotiation-and-extension was only created through Sacramento's cap space. Most stars in that situation do not get extended and simply have to wait until their deals expired. The Kings could still have outbid the field for Sabonis next summer. They didn't need to devote cap space to him right now.

In the end, that meant that their cap space yielded only two new players: EuroLeague MVP Sasha Vezenkov and Pacers backup Chris Duarte. Both figure to fill roles in the rotation next season, but neither is expected to start. If the Kings fail to improve upon last year's first-round exit, they'll look back on what might have been with their cap space. With Sabonis now extended at market value, this was likely their last real chance to add a difference-maker in free agency. From this point on, it's trades or bust.

The New York Wildcats

The New York Knicks have operated with a sort of family business approach under Leon Rose. His first significant addition was Jalen Brunson, son of Rick Brunson, who was Rose's first client as an agent. In an extensive story on Rose for Fox Sports, Yaron Weitzman detailed an exchange between Knicks executive William "World Wide" Wesley and an associate in which Wesley joked about the team preserving assets to draft top 2024 prospect D.J. Wagner, son of another former Rose client DaJuan Wagner. That family atmosphere, it seems, extends beyond Rose's former client list.

On Saturday, the Knicks inked Donte DiVincenzo to a four-year, $50 million deal with their mid-level exception. DiVincenzo may not be represented by CAA, but he does share a different sort of connection with a few key Knicks. Brunson, DiVincenzo and Josh Hart all played for the 2016 national champion Villanova Wildcats. So did Ryan Arcidiacono, who played for the Knicks last season before getting traded to Portland at the deadline. He was waived and is still available if the Knicks want to complete the quartet, though sadly fellow 2016 Villanova standout Mikal Bridges is tied to the crosstown rival Nets and has been treated as untouchable in offseason trade talks.

Villanova players are renowned for their toughness, a characteristic Knicks head coach Tom Thibodeau prizes. The more important traits DiVincenzo brings to the table, though, are shooting, playmaking and ball-handling. While the Knicks thrived offensively in the regular season, they struggled to score in the half-court against Cleveland and Miami in the postseason. By signing DiVincenzo, they've seemingly committed to playing more small lineups, a tactic Thibodeau tends to loathe, but one that will unavoidable with Brunson, Hart, Immanuel Quickley, Quentin Grimes and R.J. Barrett already on the roster.

Even if Thibodeau wanted to play two big men at all times, the Knicks took that option off of the table. In an interesting companion move, they dealt backup power forward Obi Toppin to the Indiana Pacers for two second-round picks. The move was, in part, financially motivated, as Toppin is extension-eligible and the Knicks needed to shed salary anyway in order to add DiVincenzo while staying below the tax line. New York's loss here is Indiana's gain.

Toppin played only 14.7 minutes per game as a Knick despite getting picked No. 8 overall. He was simply boxed out by Julius Randle, who emerged as an All-Star in Toppin's rookie season when many assumed Toppin was drafted specifically to replace Randle. Thibodeau runs his starters into the ground, so no matter how well Toppin played, the Knicks simply never gave him adequate playing time. When he got it, however, he shined. Toppin has averaged 20.6 points per game in 15 career starts. He grew into an average 3-point shooter last season and is one of the best transition scorers in the NBA. He's ready for the sort of role the Pacers are going to give him, and he could easily make the Knicks regret this decision.

Damian Lillard wants out

After years of agonizing "will they or won't they" drama, Damian Lillard and the Portland Trail Blazers finally took their first step towards a breakup on Saturday when Lillard officially requested a trade. The Miami Heat are his preferred destination, but general manager Joe Cronin has made it clear that he will act in the best interest of the organization.

We've covered the Lillard situation in more depth in several other stories. Here's where you can find them:

The Lillard saga is only just getting underway, and with most of free agency now in the books, the Blazers are in no rush to secure a deal. This saga could drag on for the rest of the offseason, but after an 11-year partnership, a breakup finally appears imminent.