Giants
Deadline math

Fourteen Trades Into July, One Top-100 Name Has Moved, And Not For A Rental

The Giants take an inventory of expiring contracts into Monday's deadline. The only market evidence available says expiring contracts are being paid in lottery tickets. And a buyer absorbs two and a half times as much salary for Robbie Ray as for Tyler Mahle, whose component numbers are nine hundredths of a run apart.

JS
Jamie SilvaJul 30, 20266 min read
Every call on this site goes on a public ledger and gets graded. The misses stay up.

Fourteen trades have been completed across the major leagues this month. Exactly one of them returned a top-100 name, and it did not return one for a rental.

That deal was Boston sending left-hander Connelly Early, No. 56 on MLB Pipeline's preseason top 100, to Washington for Curtis Mead. Mead is an infielder with control years left on him. He is not an expiring contract and he was never on anybody's rental board.

Two things about Early belong in the open before the count leans on him. He is twenty-four, and the seventeen starts he has made this season are his first full year in a major league rotation, which makes him a top-100 name in the preseason sense and a working big-league starter in the present one. He has also been sidelined since early July with elbow inflammation. Both facts cut the same way. The one prospect-grade asset that changed hands this month changed hands at a discount, in something better read as a challenge trade between two young players than as a prospect package, and that weakens the control side of the split below rather than the rental side. The rental side is the one this column is about.

Everything else that moved in July went for something considerably smaller.

Tyler Mahle delivering a pitch for the San Francisco Giants in the orange alternate jersey, number 54
Mahle has the worse ERA of the Giants' two rental starters by 1.80 runs and the better strikeout and walk rates of the two. A buyer takes on about $3.0 million of him after Monday. Photo: MLB

The criteria first, then the board#

A price sheet is only worth reading if it says what it is pricing against. This one prices against completed transactions in the same month, at the real return, from the league's own deal tracker. Not what a package should fetch. What packages have fetched.

First the rentals and the salvage moves, which is most of the month:

DealDateWhat came back
Lance McCullers Jr. and Colton Gordon, Houston to MilwaukeeJul 15OF Jadyn Fielder, undrafted in 2024, hitting .233 at Class A
Aaron Civale, Athletics to ChicagoJul 18RHP Aiden Moffett, undrafted in 2025, a 9.67 ERA in A-ball
Nate Pearson, Houston to Kansas CityJul 22RHP Max Martin, a 10th-round pick in 2025
Ron Marinaccio, San Diego to PittsburghJul 23International bonus pool money
Kameron Misner, Kansas City to PhiladelphiaJul 25Cash
José Urquidy, Pittsburgh to ChicagoJul 26RHP Felix Doroteo, signed in 2025, pitching in the complex
Scott Blewett, St. Louis to AthleticsJul 26Cash
Johnathan Rodríguez, Baltimore to PittsburghJul 27Cash

Four of those eight returned no player at all.

Now the players with control years, which is where the actual prospects went:

DealDateWhat came back
Curtis Mead, Washington to BostonJul 25LHP Connelly Early, preseason top 100
Seth Halvorsen, Colorado to Los AngelesJul 20OF Landyn Vidourek, the Dodgers' No. 25, and RHP Nick Frasso
Logan O'Hoppe and Chase Silseth, Angels to TexasJul 29SS Angel Arredondo, outside the Rangers' top 30 entering the season

Three of the fourteen are not itemized above: two multi-player swaps on July 10 and a July 14 deal for a player to be named later. The names that moved in them are a seventh-round pick from 2023 and an eighth-rounder from 2025, so they do not change the count.

The split is the finding. Control bought a top-100 name this month. An expiring contract did not.

The limit on that, stated before anybody leans on it. Fourteen deals is a real sample of the bottom of this market and no sample at all of the top. Tarik Skubal, Freddy Peralta, Clay Holmes, Brady Singer and Eugenio Suárez were all still with their clubs on Thursday morning, and the premium inventory transacts in the last four days every year. So these fourteen deals establish a floor for what a rental returns. They do not establish a ceiling, and Luis Arraez is being shopped at the ceiling: third on MLB Trade Rumors' top 50 deadline candidates, tenth on ESPN's board at a 95 percent trade probability.

What a buyer actually takes on#

Ray costs a buyer two and a half times what Mahle does, and their FIPs are nine hundredths apart

All three are expiring contracts. Bar length is the money a buyer takes on from August 3 to the end of the regular season, derived as 30 percent of each 2026 salary, since the deadline falls about 70 percent of the way through the schedule. Sample is in the left column and the headline performance number is at right. The two highlighted rows are the rental starters.

Robbie Ray116.2 IP
$7.5M4.51 FIP
Luis Arraez408 AB
$3.6M.331 AVG
Tyler Mahle89.0 IP
$3.0M4.42 FIP

Look at the top row against the third. Two expiring starters who will pitch September games for somebody else, and one of them costs $4.5 million more.

The derivation is worth checking rather than trusting. Thirty percent of Ray's $25 million is $7.5 million, and MLB Trade Rumors, working independently, has his remaining salary at roughly $7.4 million. Thirty percent of Mahle's $10 million is $3.0 million, the figure Andrew Baggarly reported at The Athletic this week. The method lands on two outside numbers, which is the only reason to print it.

The two rental starters are the same pitcher#

Ray has a 3.16 ERA. Mahle has a 4.96 ERA. That is a gap of 1.80 runs, and it is the entire basis on which the market has separated them: Ray is tenth on the MLB Trade Rumors board and Mahle is twenty-sixth.

Their Fielding Independent Pitching numbers are 4.51 and 4.42.

FIP estimates what a pitcher's ERA would be with his defense and his sequencing stripped out, leaving strikeouts, walks, hit batsmen and home runs. Nine hundredths of a run separates them. Underneath, Mahle is better in both directions: 8.1 strikeouts per nine innings against Ray's 7.8, and 3.5 walks per nine against Ray's 4.3. FanGraphs has them level at 0.8 wins above replacement.

Now the sample sizes, since they decide how much of this to believe. Ray has thrown 116.2 innings across 20 starts, Mahle 89.0 across 17. Both are well past the point where strikeout and walk rates mean something, and both are short of the point where one season's gap between ERA and FIP says more about the pitcher than about the innings behind him. Strongly indicated rather than proven. I would bank the direction of the convergence well before the magnitude.

The confound is defense. Ray and Mahle have thrown in front of the same fielders all year, which is what makes the comparison clean, and it also means neither man's ERA travels with him.

Two names came off the board this week, and one of them raises the price on a third#

Casey Schmitt tore the meniscus in his left knee on July 27 and went on the injured list the next day, hitting .271 with 21 home runs in 98 games on a pre-arbitration contract. Nobody sells a player at that price, so his value here is what his absence does to somebody else. Schmitt was going to take second base once Arraez was moved. Trading Arraez now costs more than it did Sunday, because the replacement no longer exists.

Harrison Bader has played 15 games. He has been out since May 30 with plantar fasciitis in his left foot, the foot got worse in a scooter accident on the night of July 25, and no MRI result was public as of Thursday morning. Fifteen games is the number that prices him, and it prices him at nothing.

The no-trade wall runs opposite to the speculation#

PlayerSigned throughNo-trade protection
Matt Chapman2030Full
Willy Adames2031Full
Rafael Devers2033None

Chapman and Adames can each veto any deal outright. Devers, the largest contract on the roster, cannot. Much of the coverage this week has it backwards, and a contract carrying negative surplus value plus an absolute player veto is immovable in a way that a merely expensive contract is not.

Jung Hoo Lee, where two things that look contradictory are both true. Bob Nightengale of USA Today reported that Buster Posey and his staff have decided Lee will not be available, which puts him with Logan Webb as the two players this front office will not move. ESPN separately has Lee eighteenth on its deadline board at a 40 percent trade probability. Both can hold at once: one is a report of a club's decision, the other an estimate of interest, and a team can decline to sell a player other teams want. What does not exist this morning is a named report that the Giants have made him available.

The three calls this desk already has on the board, before Monday grades them#

Stated on July 26, in the words they were filed in, and two of the three resolve at 6 p.m. Eastern on Monday.

Neither Willy Adames nor Matt Chapman is traded by the August 3 deadline. The reasoning was the no-trade clauses above plus production below league average. It has not moved, and nothing this week has moved it.

Luis Arraez is traded, and the headline piece coming back is not a consensus top-100 prospect. The first half was close to a freebie when it was filed, and everything above has made the second half easier rather than harder, which is worth saying out loud rather than quietly enjoying. If a top-100 name comes back Monday, the call is a miss and the market read behind it was wrong.

Robbie Ray finishes 2026 with a season ERA above 4.00. This one has moved against the desk. He was at 3.34 on July 26 and he is at 3.16 now, having thrown six scoreless innings since, so he needs to be worse from here than he was on the day the call was made for it to land. The FIP argument is unchanged and the ERA is going the wrong way. Both are true at once.

And one new call. From August 1 through the end of the regular season, Mahle posts a lower ERA than Ray. It follows from the components rather than the results, a stranger with two box scores can score it, and if a trade sends the two to different defenses, that confound is mine to have accepted in advance.

Method

Trade returns and dates are the league's official 2026 deadline tracker, cross-checked against Yahoo Sports' tracker, both read July 30. Prospect standing is MLB Pipeline and each club's organizational list at the date of the deal. Giants stat lines are ESPN team pages read July 30, reflecting games through July 29; FIP, xFIP and WAR are FanGraphs, same date, and are model estimates rather than measured results. Money owed after August 3 is derived as 30 percent of the 2026 salary and validated against two independently reported figures. Known weaknesses: fourteen completed deals is a sample of the low end of this market only, none of the premium inventory has moved yet, and a single season's gap between a pitcher's ERA and his FIP is suggestive rather than decisive at these innings totals.

Correction, 2026-08-17

This piece stated that Harrison Bader "has played 15 games." He had played 30, with a .170/.198/.358 line, and had been out since May 30, so the figure was already final when the piece ran and could not have moved after it. The house's own injury record carried 30 throughout. Doubling the sample does not rescue the season the piece describes, and the point it supports, that Bader is not a trade asset, is unchanged.

DS

Sources: MLB.com deal tracker, Yahoo Sports, ESPN, FanGraphs, MLB Trade Rumors, MLB Pipeline, Baseball America, Andrew Baggarly (The Athletic), Bob Nightengale (USA Today), NBC Sports Bay Area.

Filed under Giants

More on Robbie Ray

His page →
Six and six

Seven of the thirteen men who started for the Giants cannot pitch this week

Thirteen pitchers started a game for San Francisco in 2026. Seven of them are unavailable for the final homestand: Tyler Mahle was traded to Atlanta on August 2 and Robbie Ray to San Diego on August 3, while Trevor McDonald, JT Brubaker, Carson Whisenhunt, Adrian Houser and Logan Webb are all on the injured list. Those seven made 105 of the club's 156 starts, or 67.3 percent. Measured the same way on the same morning, with all thirty clubs carrying 28-man active rosters, that is the highest figure in the major leagues; the league median is 27.2 percent and Toronto is second at 50.0. The six starters still standing are Landen Roupp (29 starts), Blade Tidwell (8), Matt Wilkinson (5), Anthony Molina (4), Cesar Perdomo (3) and Yunior Marte (2), for six games in seven days. Wilkinson threw five scoreless innings at Dodger Stadium on Sunday with a career-high six strikeouts in a 3-1 loss. Tidwell starts against Minnesota tonight. One take filed.

Grant LombardSep 21, 20265 min read
Seven of the thirteen men who started for the Giants cannot pitch this week
The long man

Adrian Houser's Forearm Took A Job With It, And San Francisco Has Been Filling It With Starting Pitchers

San Diego beat San Francisco 7-5 at Oracle Park on Friday night. Anthony Molina gave up nine hits and seven earned runs in three innings; Yunior Marte, who made his major league debut as a starting pitcher two weeks ago and whose last relief appearance before this month came at High-A Eugene in April, threw the next five innings and allowed nothing. It was the tenth time in 148 games a Giants reliever has thrown more innings than that day's Giants starter. Adrian Houser was the reliever in six of the first seven. He has been on the injured list since August 26 with a right forearm strain and was moved to the 60-day list on September 1. Rafael Devers hit his 36th home run, a grand slam off Robbie Ray in the fifth, and San Francisco scored nothing after it. Two takes filed.

Grant LombardSep 12, 20265 min read
Adrian Houser's Forearm Took A Job With It, And San Francisco Has Been Filling It With Starting Pitchers
The four days

A Rainout In Atlanta In June Left The Giants Needing Two Starters On Saturday

San Francisco's schedule from Friday to Monday asks for four starting pitchers. Blade Tidwell is the only one named. Saturday is a split doubleheader at Oracle Park, moved off Sunday on June 23 to clear a travel day for the makeup of a June 18 rainout in Atlanta, which is now Monday. Ten men have started a game for the Giants in 2026; Robbie Ray and Tyler Mahle were traded, Trevor McDonald and Carson Whisenhunt are on the 60-day injured list, Adrian Houser went on the 15-day list Wednesday, JT Brubaker is on the 15-day list, and Matt Wilkinson was optioned to Sacramento on August 24. That leaves Logan Webb, Landen Roupp and Blade Tidwell, and all three are already spoken for. The club is carrying thirteen pitchers, which is the most the rules allow before September 1, when the active roster goes to 28 and the pitcher limit to 14. The doubleheader lets it add a 27th man for one day, and that exception is the only way Wilkinson pitches in the majors before September 8. Two takes filed, on the 27th man and on the length of the four starts.

Grant LombardAug 27, 20265 min read
A Rainout In Atlanta In June Left The Giants Needing Two Starters On Saturday

On the record

Called Shots →
Held upAug 21, 2026

San Francisco uses at least thirteen different starting pitchers in the 2026 regular season.

Ten men have started a game for the Giants through 127 games, which is tied for the sixth-fewest in the majors against a league median of thirteen. Three of the ten cannot start another: Mahle and Ray were traded on August 2 and 3, and McDonald is on the sixty-day injured list. The claim is that the season-long number ends up ordinary rather than exceptional, and it needs three names that have never started a game for this club to start one in the last thirty-five. That is the same rate the club has already run since the deadline, when Tidwell, Brubaker and Wilkinson each got a first start inside sixteen games, and September roster expansion makes an audition cheaper than it was in July. The honest case against it is that Webb, Roupp, Whisenhunt and Tidwell are four healthy starters for a five-man rotation and a club can fill the fifth day with the men it already has. Filed against every open Giants row: the Trent Harris row asks whether one specific pitcher starts a game and this one asks how many men do, and neither settles the other.

Latest on the Giants

The whole beat →
Left versus right

Remove Rafael Devers and the Giants are still 25th against left-handed pitching

Rafael Devers posted a .573 OPS against left-handed pitching and a 1.027 OPS against right-handed pitching in 2026, a gap of 454 points and the largest of any qualified left-handed hitter in the major leagues. Remove his 220 plate appearances against left-handers from San Francisco's team totals and the Giants improve from .669 to .684, which moves them from 28th to 25th of thirty and leaves them 22 points below the league median of .706. The 40-man roster holds 18 position players, nine right-handed and nine left-handed, and no switch-hitter; four of the thirty clubs are in that position. Willy Adames, the club's primary right-handed bat, hit worse against left-handed pitching than against right-handed pitching. The best right-handed answer in the system is 22-year-old Lorenzo Meola, who is at Single-A San Jose. One take filed.

Grant LombardSep 21, 20266 min read
Remove Rafael Devers and the Giants are still 25th against left-handed pitching
Two starts

The blister cost Logan Webb two starts and nothing else

San Francisco placed Logan Webb on the 15-day injured list on September 18 with a right middle finger blister and shut him down for the season, ending a year in which he made 27 starts and threw 160 2/3 innings at a 4.31 earned run average. It is his second injured list stint of 2026; he did not start for 20 San Francisco games in May with right knee bursitis. The 160 2/3 innings end a run of three straight seasons above 200, and two more starts at this year's rate would have left him near 172. His innings per start has fallen in each of the three seasons since 2023: 6.55, 6.20, 6.09, 5.95. Over his last five starts he allowed 23 earned runs in 21 2/3 innings. Landen Roupp has already made more starts than Webb this season, the first time anyone on the club has since 2021, and needs six innings across his remaining turns to pass him in innings as well. Hayden Birdsong, Trevor McDonald and Carson Whisenhunt are all on the club's injured list rehabbing from Tommy John surgery. One take filed.

Grant LombardSep 19, 20266 min read
The blister cost Logan Webb two starts and nothing else
Five innings

Flora was lined up to start a championship game, until the Giants moved him up

Jackson Flora's entire professional record is five innings across three starts, and the assignments around them are the part worth reading. San Francisco signed the fourth overall pick on July 18 and assigned him to the Arizona Complex League the same day. He was activated there on July 29 and never pitched in a game. He was sent to Single-A San Jose on September 1, debuted on September 4, and started Game 2 of the California League Division Series on September 10, telling reporters that night he was lined up for Game 3 of the championship series if it was needed. It was needed. On September 13, the day San Jose opened that series, the league's transaction feed records Flora assigned to Double-A Richmond. San Jose lost the deciding game on September 16 without him. He started for Richmond on September 17 in a game the Flying Squirrels had to win, retired all six men he faced on 28 pitches with four strikeouts, and Richmond lost 5-3 and was eliminated. He has never pitched at High-A. Of the thirty players taken in the first round of the 2026 draft, he is the only one to appear in a game above that level. Two takes filed.

Andie TownsendSep 18, 20265 min read
Flora was lined up to start a championship game, until the Giants moved him up

Earlier on the Giants

Sixteen Left

Every Team Left On The Giants' Schedule Has A Number. San Francisco Has A Letter.

San Francisco is eliminated from postseason contention. The league's standings feed carried a wild-card elimination number of two for the Giants through Saturday's games and has read E, in both the wild-card and division columns, from Sunday's games onward. Sunday was a 4-2 loss at Citi Field; Arizona beat Houston 3-2 the same afternoon. San Francisco is 61-85 through 146 games, so its maximum possible win total is 77, and Philadelphia (81-64), the Cubs (81-65) and Arizona (78-68) already have more than that, against three wild-card places. The Giants have won both games since, 5-4 in eleven innings Monday on a Shay Whitcomb single and 2-1 Tuesday behind six scoreless innings from Landen Roupp, with both runs coming on solo home runs by Bryce Eldridge and Christian Koss. Sixteen games remain against four opponents, and every one of the four still has a live elimination number: four with St. Louis (72-74, number 10), three with San Diego (77-68, half a game behind Arizona for the third wild card, number 16), three with Minnesota (69-76, number 12) and six with the Dodgers (88-57, leading the National League West by ten and a half). Arizona does not appear on San Francisco's remaining schedule and neither does Colorado, the only other eliminated club in the National League at 55-89. The season ends at Oracle Park against the Dodgers on September 27. San Francisco has used 64 players in 2026 and 15 of them made their major league debut this season. Two takes filed.

Grant LombardSep 9, 20264 min read
Every Team Left On The Giants' Schedule Has A Number. San Francisco Has A Letter.
Twenty Men

Cesar Perdomo Gave Up Three Singles And A Walk In His First Major League Start

Cesar Perdomo made his first major league start at Citi Field on September 6, five days after his major league debut, and pitched six scoreless innings against the New York Mets. He faced twenty batters, allowed three singles and one walk, struck out four and threw 83 pitches, 48 of them for strikes. No New York runner reached second base against him. Joel Kuhnel pitched a scoreless seventh. Carson Seymour then allowed four earned runs on sixteen pitches in the eighth, on a solo home run by Brett Baty and a three-run home run by Bo Bichette, and San Francisco lost 4-2 in front of 29,410. The Giants scored both their runs in the fourth on a Jung Hoo Lee single and finished with five hits and twelve strikeouts. Perdomo is the thirteenth different pitcher to start a game for San Francisco in 2026, which resolves an open Andie Townsend call filed August 21, and his start resolves a Grant Lombard call filed September 2. Perdomo's career major league line is now ten innings, six hits, one earned run, two walks and eight strikeouts. His 2026 was worse at every stop before this: a 3.98 earned run average at Double-A Richmond and a 5.10 mark with twenty walks at Triple-A Sacramento. He has thrown 130 innings this year against a previous career high of 127 and a third. Two takes filed.

Grant LombardSep 7, 20265 min read
Cesar Perdomo Gave Up Three Singles And A Walk In His First Major League Start
The debut

The Giants Called Up Tugboat Wilkinson To Start And Used Him For Seven Batters

Matt Wilkinson made his major league debut on Wednesday against the organization that drafted him in 2023 and traded him in May, and San Francisco used him as an opener: two scoreless innings, seven batters, twenty-five pitches, then Adrian Houser for the next five. It is the second time in 126 regular-season games that a Giants starter has been pulled after two innings or fewer by design, and Houser has thrown the bulk innings behind both, and won both. Vitello said the two innings were partly to get Wilkinson on a major league mound and partly to set him up for innings in Boston.

Grant LombardAug 20, 20264 min read
The Giants Called Up Tugboat Wilkinson To Start And Used Him For Seven Batters