gid qutki / Pexels

Otto Lopez appeared in nine major-league games for the Toronto Blue Jays across two seasons. He collected six hits. Then Toronto decided they’d seen enough, and the San Francisco Giants took a flier on him — and decided they’d seen enough, too, inside of two months. The Miami Marlins claimed him off waivers. Nobody sent a press release.

Through 95 games in 2026, Lopez is batting .334 with a .368 on-base percentage and a .505 slugging mark — an .874 OPS that sits more than 150 points above the MLB average. He has 127 hits, 26 doubles, six triples, nine home runs, and 17 stolen bases. Baseball Reference credits him with 4.8 WAR and an All-Star selection. He is 27 years old and making $810,500.

The progression is the part that should make front offices uncomfortable. Lopez posted a .690 OPS and 2.8 WAR for Miami in 2024 — useful, not spectacular. He dipped to .246 with a .672 OPS in 2025, though his WAR actually rose to 3.6, buoyed by defensive value at second base and shortstop. Then 2026 happened: the average jumped 88 points, the slugging percentage climbed 137 points, and the strikeout rate dropped from 15.1% to 14.1%. His Rbat — the batting runs above average component of WAR — swung from minus-6 last season to plus-23. That is not a hot streak. That is a different hitter.

Whether the transformation is sustainable is a separate question, and the data offers mixed signals. Lopez’s batting average on balls in play sits at .370, well above the .319 MLB average and almost certainly due for regression. His line-drive rate of 22% is strong but not extraordinary. The power spike — nine home runs in 95 games after hitting 15 in 143 games last year — tracks with a hard-contact rate that has crept upward. But a .370 BABIP is a flashing yellow light, and anyone projecting a .334 finish is betting on luck that doesn’t usually hold.

What isn’t luck is the positional value. Lopez has logged the majority of his 2026 innings at shortstop, a premium defensive spot where even league-average offense plays up. His fielding runs above average sit at plus-4, modest but positive, and the positional adjustment adds another six runs to his WAR total. A shortstop hitting .334 with gap power and baserunning value is a foundational player, not a waiver claim.

The Marlins are carrying a total adjusted payroll of $81.15 million — 29th in baseball, ahead of only the Oakland Athletics. Their active roster payroll is $48.26 million, 26th. Sandy Alcantara’s $17.3 million accounts for more than a third of the active roster total. Lopez, Kyle Stowers, Xavier Edwards, and Eury Pérez are all making within $15,000 of the league minimum. The entire position-player core is being paid like it’s still in Double-A.

Lopez’s salary ranks 26th on his own team — behind middle relievers and a catcher with 61 days of service time. He has produced more wins above replacement than any Marlins position player and nearly as many as Alcantara, who earns 21 times his salary. The pre-arbitration clock means Miami controls him through 2028 at well below market rate, assuming the .334 is closer to real than to mirage.

Two organizations looked at Lopez and saw a roster casualty. Baseball Reference now sees a 4.8-WAR All-Star. The gap between those evaluations is the kind of thing that gets people fired — or hired, depending on which side of the waiver wire you’re standing on.

Sources:

By Marcus Vaughn

Marcus Vaughn grew up in Philadelphia tallying box scores before he could reach the top shelf, a habit forged during a brief, statistically insignificant stint on a D-III basketball bench. Today, he wields expected points and win probability to dismantle locker-room cliches, politely pointing out whenever the narrative stubbornly refuses to align with the data.