OOPSY 2026 Midseason Top 100 Prospects

With over half of the 2026 season in the books, it’s a good a time to update OOPSY’s Top 100 prospects list, this time with a fantasy spin.
If you’re not yet familiar with OOPSY, you can check out its introduction and its preseason Top 100 list. Like other projection systems, OOPSY makes use of its own aging curves, regression amounts, recency weights, major league equivalencies, and park factors to systematically project players. It also offers its own methodological twists, like using our prospect team’s fielding grades from The Board to formulate defensive projections for prospects, and using Statcast to formulate defensive projections for major leaguers. OOPSY has performed well in terms of accuracy, for rookies and veterans alike.
Preseason OOPSY Peak projections were published on FanGraphs in March. As is typical when forecasting a group as volatile as baseball propspects, the preseason list had some hits and misses. For example, between the FanGraphs Top 100, the ZiPS Top 100, and the OOPSY Top 100, the OOPSY Top 100 was the only list to include A.J. Ewing, Luis Lara, Sam Antonacci, and Henry Bolte. OOPSY also had some noteable misses: its Top 100 excluded Ryan Sloan, Bryce Eldridge, River Ryan, and Chase DeLauter, a good group of players that featured on the other Top 100s. This short list of hits and misses hints at the value of taking a diversity of approaches when evaluating players. There’s no need to choose between scouting and projecting players when you can simply take both perspectives into consideration.
OOPSY Peak projections are identical to the current OOPSY projections you see on FanGraphs, except they are park and playing-time (and therefore health) neutral, and they extrapolate current projections into the future until reaching a player’s late-20s peak. The ZiPS three-year projections are the closest FanGraphs counterpart to OOPSY Peak, extrapolating current projections three years into the future.
The OOPSY Midseason Top 100 is shown below. It is updated to reflect all 2026 professional performance up until the All-Star break, aside from performance in the Dominican Summer League. In the first column of the table below, you can see how OOPSY ranks players by their projected “true-talent” WAR in their peak season — basically their “real” MLB value — with peak season generally occurring around age 28. The prospects are ranked by peak single-season projected WAR as this is important for a prospect’s ability to secure playing time over the long-term.
However, I also included two additional, fantasy-oriented ranking columns: OBP Rank and BA Rank that capture a prospect’s projected peak fantasy value in standard 5×5 OBP and BA leagues, respectively, using a standard-scores-based method that approximates our auction calculator approach. If you click the OBP and BA column headers, you can re-sort the list to match your preferred format. Note that the population in the list below is the top 100 by true-talent WAR (the first column). A player who did not make that list (perhaps due to defensive deficiencies) but has top-100 fantasy potential won’t be included.
Members can now find updated projections for all statistics for all players–minor and major leaguers–on the updated OOPSY Peak projections page on FanGraphs.
| # | Name | Team | Age | Level | Position | WAR | OBP Rank | BA Rank |
|---|---|---|---|---|---|---|---|---|
| 1 | Kade Anderson | SEA | 22 | AA | P | 5.3 | 1 | 1 |
| 2 | Eli Willits | WSN | 19 | A+ | SS | 4.5 | 2 | 2 |
| 3 | Franklin Arias | BOS | 21 | AA | SS | 4.4 | 16 | 4 |
| 4 | Rainiel Rodriguez | STL | 20 | AA | C | 4.4 | 7 | 5 |
| 5 | Alfredo Duno | CIN | 21 | AA | C | 4.1 | 18 | 22 |
| 6 | Jesús Made | MIL | 19 | AA | SS | 4.1 | 8 | 3 |
| 7 | Emmanuel Rodriguez | MIN | 23 | AAA | RF | 4.0 | 3 | 12 |
| 8 | Leo De Vries | ATH | 20 | AA | SS | 3.9 | 5 | 8 |
| 9 | Colt Emerson | SEA | 21 | MLB | SS | 3.8 | 15 | 15 |
| 10 | Caleb Bonemer | CHW | 21 | AA | 3B | 3.8 | 4 | 10 |
| 11 | Travis Sykora | WSN | 22 | AA | P | 3.7 | 6 | 7 |
| 12 | Sebastian Walcott | TEX | 20 | CPX | SS | 3.7 | 10 | 9 |
| 13 | Walker Jenkins | MIN | 21 | AAA | CF | 3.6 | 13 | 13 |
| 14 | Gage Jump | ATH | 23 | MLB | P | 3.6 | 24 | 17 |
| 15 | Max Clark | DET | 22 | AAA | CF | 3.6 | 22 | 19 |
| 16 | Luis Lara | MIL | 22 | MLB | CF | 3.5 | 31 | 32 |
| 17 | Johan De Los Santos | PIT | 18 | A | CF | 3.5 | 9 | 6 |
| 18 | Ryan Sloan | SEA | 20 | AA | P | 3.5 | 29 | 25 |
| 19 | Cooper Pratt | MIL | 22 | MLB | SS | 3.5 | 41 | 46 |
| 20 | Aidan Miller | PHI | 22 | AAA | SS | 3.5 | 14 | 16 |
| 21 | Michael Arroyo | SEA | 22 | AAA | 2B | 3.4 | 19 | 20 |
| 22 | Eduardo Quintero | LAD | 21 | A+ | CF | 3.3 | 21 | 26 |
| 23 | George Lombard Jr. | NYY | 21 | CPX | SS | 3.3 | 40 | 53 |
| 24 | Luke Adams | MIL | 22 | AAA | 1B | 3.3 | 12 | 31 |
| 25 | Lazaro Montes | SEA | 22 | AAA | RF | 3.3 | 11 | 11 |
| 26 | Kaelen Culpepper | MIN | 24 | AAA | SS | 3.3 | 46 | 42 |
| 27 | Luis Peña | MIL | 20 | A+ | SS | 3.3 | 20 | 14 |
| 28 | Andrew Fischer | MIL | 22 | AA | 3B | 3.3 | 17 | 18 |
| 29 | Anthony Eyanson | BOS | 22 | AA | P | 3.3 | 28 | 24 |
| 30 | Nathan Flewelling | TBR | 20 | A+ | C | 3.3 | 48 | 59 |
| 31 | Juneiker Caceres | CLE | 19 | A+ | RF | 3.2 | 34 | 28 |
| 32 | Theo Gillen | TBR | 21 | AA | CF | 3.2 | 27 | 37 |
| 33 | Robby Snelling | MIA | 23 | MLB | P | 3.2 | 39 | 36 |
| 34 | Alejandro Rosario | WSN | 25 | AA | P | 3.2 | 36 | 33 |
| 35 | Ethan Salas | SDP | 20 | AA | C | 3.2 | 61 | 56 |
| 36 | Jett Williams | MIL | 23 | AAA | CF | 3.2 | 26 | 39 |
| 37 | River Ryan | LAD | 28 | AAA | P | 3.2 | 44 | 47 |
| 38 | Carson Williams | TBR | 23 | AAA | SS | 3.1 | 37 | 38 |
| 39 | Roldy Brito | COL | 19 | A | CF | 3.1 | 43 | 23 |
| 40 | Braylon Payne | MIL | 20 | A+ | CF | 3.1 | 25 | 27 |
| 41 | Esmerlyn Valdez | PIT | 22 | MLB | LF | 3.1 | 23 | 21 |
| 42 | Josue De Paula | LAD | 21 | AA | RF | 3.1 | 30 | 34 |
| 43 | Edward Florentino | PIT | 20 | A+ | RF | 3.1 | 33 | 40 |
| 44 | Eric Hartman | ATL | 20 | A+ | CF | 3.1 | 38 | 30 |
| 45 | Seth Hernandez | PIT | 20 | A+ | P | 3.1 | 35 | 35 |
| 46 | Jefferson Rojas | CHC | 21 | AA | SS | 3.1 | 53 | 50 |
| 47 | Juan Martinez | MIL | 19 | A | 2B | 3.1 | 57 | 55 |
| 48 | Nelson Rada | LAA | 21 | AAA | CF | 3.0 | 60 | 63 |
| 49 | Jarlin Susana | WSN | 22 | AA | P | 3.0 | 50 | 52 |
| 50 | Tate Southisene | ATL | 20 | A+ | SS | 3.0 | 47 | 51 |
| 51 | Edwin Arroyo | CIN | 23 | MLB | SS | 3.0 | 65 | 57 |
| 52 | Kevin Alcántara | CHC | 24 | MLB | CF | 2.9 | 49 | 45 |
| 53 | Brady Ebel | MIL | 19 | A | SS | 2.9 | 68 | 75 |
| 54 | Ty Johnson | TBR | 25 | AAA | P | 2.9 | 45 | 44 |
| 55 | Spencer Jones | NYY | 25 | AAA | CF | 2.9 | 32 | 29 |
| 56 | Pedro Ramírez | CHC | 22 | MLB | 2B | 2.9 | 55 | 43 |
| 57 | Angel Genao | CLE | 22 | AAA | SS | 2.9 | 78 | 68 |
| 58 | Arjun Nimmala | TOR | 21 | AA | SS | 2.9 | 64 | 62 |
| 59 | Franklin Primera | BOS | 19 | A | C | 2.9 | 76 | 76 |
| 60 | Jaiden Lo Re | BAL | 19 | A | 3B | 2.8 | 73 | 69 |
| 61 | Juan Flores | LAA | 20 | AA | C | 2.8 | 81 | 79 |
| 62 | Kendall George | LAD | 22 | AA | CF | 2.8 | 63 | 61 |
| 63 | Bryce Rainer | DET | 21 | A+ | SS | 2.7 | 69 | 67 |
| 64 | Sean Keys | TOR | 23 | MLB | 3B | 2.7 | 56 | 60 |
| 65 | Josue Briceño | DET | 22 | CPX | 1B | 2.7 | 52 | 54 |
| 66 | Mike Sirota | LAD | 23 | AA | CF | 2.7 | 62 | 81 |
| 67 | Jimmy Crooks | STL | 25 | MLB | C | 2.7 | 87 | 88 |
| 68 | Cooper Ingle | CLE | 24 | AAA | C | 2.7 | 84 | 91 |
| 69 | Ramon Marquez | PHI | 21 | A+ | P | 2.7 | 59 | 58 |
| 70 | Chris Suero | NYM | 22 | AA | C | 2.7 | 58 | 74 |
| 71 | Cole Carrigg | COL | 24 | MLB | CF | 2.7 | 51 | 48 |
| 72 | Jose Silva | CHC | 19 | A | C | 2.7 | 75 | 89 |
| 73 | Eduardo Tait | MIN | 20 | A+ | C | 2.7 | 86 | 66 |
| 74 | Joshua Báez | STL | 23 | AAA | RF | 2.7 | 42 | 41 |
| 75 | Dax Kilby | NYY | 20 | CPX | SS | 2.7 | 74 | 72 |
| 76 | Hagen Smith | CHW | 23 | AAA | P | 2.7 | 67 | 65 |
| 77 | Johanfran Garcia | BOS | 21 | AA | C | 2.7 | 93 | 84 |
| 78 | Robert Arias | CLE | 20 | A | CF | 2.7 | 72 | 71 |
| 79 | Emil Morales | LAD | 20 | A+ | SS | 2.7 | 83 | 82 |
| 80 | Demetrio Crisantes | ARI | 22 | AA | 2B | 2.7 | 90 | 92 |
| 81 | Nate George | BAL | 20 | A+ | CF | 2.7 | 54 | 49 |
| 82 | Riley Quick | MIN | 22 | AA | P | 2.6 | 71 | 73 |
| 83 | Joseph Dzierwa | BAL | 22 | AA | P | 2.6 | 66 | 64 |
| 84 | Jonah Tong | NYM | 23 | AAA | P | 2.6 | 70 | 70 |
| 85 | Caden Bodine | TBR | 23 | AA | C | 2.6 | 97 | 95 |
| 86 | William Bergolla Jr. | CHW | 22 | AAA | SS | 2.6 | 96 | 87 |
| 87 | Jhonny Level | SFG | 19 | A+ | 2B | 2.6 | 88 | 83 |
| 88 | Owen Ayers | CHC | 25 | AA | C | 2.6 | 92 | 94 |
| 89 | Thomas White | MIA | 22 | AAA | P | 2.6 | 79 | 78 |
| 90 | Tyson Hardin | MIL | 25 | AAA | P | 2.6 | 85 | 86 |
| 91 | Andrew Morris | MIN | 25 | MLB | P | 2.6 | 82 | 85 |
| 92 | Kane Kepley | CHC | 22 | A+ | CF | 2.6 | 89 | 97 |
| 93 | Harry Ford | WSN | 23 | AAA | C | 2.5 | 100 | 99 |
| 94 | Yordanny Monegro | BOS | 23 | AA | P | 2.5 | 77 | 77 |
| 95 | Boston Smith | CHW | 23 | AA | C | 2.5 | 94 | 98 |
| 96 | Felnin Celesten | SEA | 21 | A+ | SS | 2.5 | 98 | 96 |
| 97 | Yairo Padilla | STL | 19 | A | SS | 2.5 | 91 | 90 |
| 98 | John Gil | ATL | 20 | A+ | SS | 2.5 | 95 | 93 |
| 99 | Mason Peters | SEA | 23 | A | P | 2.5 | 80 | 80 |
| 100 | Blake Mitchell | KCR | 22 | A+ | C | 2.5 | 99 | 100 |
Kade Anderson is breaking the projections with his dismantling of Double-A hitters. The Mariners have a crowded MLB rotation but I think he is a good bet to open the 2027 season in the rotation one way or another. I’d personally deviate from OOPSY and take Eli Willits over him for my own dynasty team given pitcher health risk, but otherwise I’d stand by Anderson ahead of the rest of the prospects. Ryan Sloan was one of the biggest misses of the OOPSY preseason Top 100; he is up to OOPSY’s 4th best pitching prospect now and that still may not be bullish enough. Travis Sykora, Gage Jump, and Anthony Eyanson round out the top five pitching prospects. Sykora is recovering from Tommy John surgery. Jump has excelled in his 48.2 MLB innings this year, while Eyanson crushed High-A and has held his own in Double-A, a fine professional debut.
Other ranked top pitching prospects include a couple of guys recovering from long-term arm injuries, Robby Snelling, Alejandro Rosario, Jarlin Susana, and Yordanny Monegro. This should be viewed as a high-risk bunch. The peak projections don’t account for health risk, so readers might penalize these players additionally in their own analyses.
Seth Hernandez, Ty Johnson, and River Ryan are also among OOPSY’s top 15 pitching prospects. Seth Hernandez appears to have mastered High-A, with a 29 K% minus BB% over his last four starts. I’d bet on him ranking even better in the next OOPSY update. Ryan and Johnson have excelled in Triple-A and are on the cusp of their 2026 MLB debuts.
A couple of lesser-known pitchers cracked the back half of the list. Andrew Morris has been great for the Twins in a bullpen role this year. OOPSY thinks he deserves a shot to stick in the rotation over the long-term. Ramon Marquez has leveraged an elite changeup and a mid-90s fastball to post sub-3.00 xFIPs across A and High-A at 20 years old in a breakout season for the Phillies. Mason Peters has been too good for Class A, with a four-pitch mix and fastball that touches 96 MPH. I’d want to see him keep it up at higher levels before buying in as 23 is older for Class A.
Turning to the bats, Eli Willits looks the part of a future fantasy superstar, with 20+ home runs and 30+ stolen bases projected at peak. Franklin Arias should be a stud in real life but his projected fantasy value may not quite reach superstardom given the lack of stolen bases. He should still be a strong fantasy contributor, however.
Catchers are difficult to project for fantasy, with their value highly dependent on whether you play in a one or two-catcher league. In one-catcher formats, readers should ding most of the catchers listed as these are WAR-based rankings. A few catchers have a chance to pull a Drake Baldwin and hit enough to play everyday at peak, starting at first base or designated hitter when they aren’t catching, which would give them excellent fantasy value even in one-catcher formats. Rainiel Rodriguez has the best odds of any catcher of pulling this off as he projects for a 126 wRC+ at peak and the Cardinals have already begun to give him time at first base.
OOPSY Peak has sometimes confused readers with its bullishness on Emmanuel Rodriguez despite his elevated K%. OOPSY agrees that Rodriguez will strike out a lot, projecting him for a 29 K% at peak, but thinks that the strikeouts will be more than offseat by patience (16 BB% at peak) and power. He’ll also need to avoid injuries to fulfill his potential, however; he’s currently recovering from thumb surgery.
The Brewers have made OOPSY Peak look good so far in 2026, signing OOPSY favorites, Luis Lara and Cooper Pratt to long-term contracts before their MLB debuts. OOPSY Peak is bullish on many additional Brewers prospects, including household names like Luis Peña, Jesús Made, and Jett Williams, and more underrated types like Luke Adams, Braylon Payne, Juan Martinez, Brady Ebel, Andrew Fischer, and Tyson Hardin. A lack of defensive value kept Luke Adams from making the OOPSY Top 100 in the preseason, but he has hit so well in 2026 that he’s forced his way onto the list, lack of defensive value notwithstanding.
Johan De Los Santos is one of the most tantalizing breakouts of the first half. He is a rare prospect who made it to Class A before his eighteenth birthday. His youth hasn’t stopped him from performing well above league average with the bat (121 wRC+). He projects for serious speed at peak (47 SB/600) with enough power and defensive value to keep him in the lineup everyday. His weaker 101 MPH EV90 is good enough once you take his youth into account.
Juneiker Caceres has stepped up his game in Class A this year, with a 153 wRC+ despite also being one of the youngest players at the level. Our prospect team is excited about his 105 MPH EV90 but worries about his swing. Jaiden Lo Re is one of the least heralded players to have made the list. He has had a loud professional debut in 2026, with more than two times as many walks as strikeouts as a 19 year old in Class A. Our prospect team describes his swing as beautiful, but also emphasizes how his lack of power may limit him to a utility role at peak.
Members can find a full set of updated OOPSY Peak projections for all minor and major leaguers here, at FanGraphs (check out that Konnor Griffin peak projection!). These will be updated again at the end of the 2026 season. You can also find daily updates to OOPSY Peak here. I also reference updated OOPSY Peak projections to offer advice on player analysis in my Dynasty Due Diligence series on RotoGraphs–the next entry should come next week.
River Ryan has already made his MLB debut.
ah right i forgot about that…corrected the text now, thanks
Slightly off topic but can you give any insight into why OOPSY is so high on Kade Anderson for this year compared to other projection systems. That .92 WHIP projection is mind-blowing! I know he is getting the benefit of T-mobile and some relief innings thrown in there.
OOPSY is typically more bullish than other systems on all the Mariners pitchers, I think mainly because my statcast-based park factors view the park as a more extreme pitcher’s park than other park factors do
Seems plausible with a few notable exceptions.
Sykora at 11 when he hasn’t thrown a pitch in 2026 (and won’t)…is interesting. I’m not a fan of just removing injured pitchers, but losing over a full year of development to a surgery with no guarantee of recovery should drop him.
Johan De Los Santos is maybe the least interesting of the teenaged bats who’ve moved from complex to Low-A. There are limits to ARL. Give me Alex Frias or Sebastian Dos Santos. Juan Martinez isn’t even in the frame. Jose Silva, fringy…
The continued underranking of Josue De Paula is head scratching. His glove is modest, but not enough to explain a 42nd placement.
Emil Morales feels low, but at least he made the cut.
I’m fine with dinging the injured pitchers more than the ranks would suggest. De Paula is one of the top projected bats by wrc+ so defense is indeed the limiting factor here. Thanks!
It looks like you forgot to take out the IS_BREWER feature from the model
true lol, that’s OOPSY’s most important variable
just wanted to say this is ridiculously helpful thanks for doing it! I play in an AL and NL only keepers, “there are no sleepers” ha so every found player helps immensely even if only in trade value.
glad to hear it! happy trading!
This is amazing and so helpful for us in deep leagues with large minor league rosters. There’s a few guys I assumed OOPSY would be higher on but it doesn’t seem to care for. Any insight as to why Murf Grey, Blake Burke and Devin Taylor didn’t get more love?
Appreciate it! Gray has a good ev90, which is in the model, but I think he’s hurt by the age factor somewhat. Burke is hurt by his defensive projection and I have his bat speed (from spring training) near league average, which is less than youd expect for a guy with 70-grade power. Taylor is hurt his defensive projection also (driven by a 30 FV fielding grade).
No Charlie Condon?
He’s like the third best projected hitter on the Rockies by peak wRC+ so he’ll project well in Coors, but below average defensive value kept him off the list. In my view, he’s underrated by OOPSY Peak given his college performance is not captured, so I’d take the over on his projections.
Where is my boy Ralphy? Demolished AA and has held his own at AAA as a 21 year old.
He projects well offensively (113 peak wrc+) but defensive value kept him from making the t100 by WAR. Given the good hitting projection, he’s probs a t100 fantasy prospect in my view
Late in the day, but: No Josiah Hartshorn?
Thanks for your work!
Hartshorn projects quite well offensively (114 wRC+, big power) — a figure made more impressive when considering it’s his first pro season and he therefore has a smaller sample than many other dudes (so he is hit harder by regression!)