\n\n","providerName":"Twitter","providerUrl":"https://twitter.com","thumbnail_url":null,"type":"oembed","width":550,"contentType":"rich"},{"__typename":"Markdown","content":"* Subscribe to the MLB Pipeline Newsletter","type":"text"},{"__typename":"Markdown","content":"Offense and fireworks often go hand-in-hand, but on this Fourth of July night, Greensboro’s pitching staff delivered the real show.","type":"text"}],"relativeSiteUrl":"/news/pirates-prospects-combine-perfect-game-high-a-greensboro","contentType":"news","subHeadline":"","summary":"Fourth of July and baseball? Some might say it’s the perfect combination. For the Greensboro Grasshoppers on Friday, it turned out to be just that -- with a perfect game to match.","tagline({\"formatString\":\"none\"})":null,"tags":[{"__typename":"InternalTag","slug":"storytype-article","title":"Article","type":"article"},{"__typename":"TeamTag","slug":"teamid-477","type":"team","title":"Greensboro Grasshoppers","team":{"__ref":"Team:477"}},{"__typename":"PersonTag","slug":"playerid-694753","title":"Khristian Curtis","person":{"__ref":"Person:694753"},"type":"player"},{"__typename":"TaxonomyTag","slug":"mlb-top-prospects","title":"MLB Top Prospects","type":"taxonomy"},{"__typename":"TaxonomyTag","slug":"minor-league-baseball","title":"MiLB","type":"taxonomy"},{"__typename":"ContributorTag","slug":"cole-weintraub","title":"Cole Weintraub","type":"contributor"},{"__typename":"TaxonomyTag","slug":"apple-news","title":"Apple News","type":"taxonomy"},{"__typename":"TeamTag","slug":"teamid-134","type":"team","title":"Pittsburgh Pirates","team":{"__ref":"Team:134"}},{"__typename":"TaxonomyTag","slug":"send-to-milb","title":"Send to MiLB","type":"taxonomy"}],"type":"story","thumbnail":"https://img.mlbstatic.com/mlb-images/image/upload/{formatInstructions}/mlb/xijspdxtyaa42lbkazb2","title":"Pirates pitching prospects Khristian Curtis, Jake Shirk and Michael Walsh combine for perfect game"},"getTeamsBySportId({\"ids\":[1]})":[{"__ref":"Team:133"},{"__ref":"Team:134"},{"__ref":"Team:135"},{"__ref":"Team:136"},{"__ref":"Team:137"},{"__ref":"Team:138"},{"__ref":"Team:139"},{"__ref":"Team:140"},{"__ref":"Team:141"},{"__ref":"Team:142"},{"__ref":"Team:143"},{"__ref":"Team:144"},{"__ref":"Team:145"},{"__ref":"Team:146"},{"__ref":"Team:147"},{"__ref":"Team:158"},{"__ref":"Team:108"},{"__ref":"Team:109"},{"__ref":"Team:110"},{"__ref":"Team:111"},{"__ref":"Team:112"},{"__ref":"Team:113"},{"__ref":"Team:114"},{"__ref":"Team:115"},{"__ref":"Team:116"},{"__ref":"Team:117"},{"__ref":"Team:118"},{"__ref":"Team:119"},{"__ref":"Team:120"},{"__ref":"Team:121"}],"getHeaderFromForgePath({\"contentSource\":\"MLB\",\"headerPath\":\"/_navs/header/mlb/global-nav\",\"locale\":\"en-US\",\"paletteKey\":\"mlb-base-palette\",\"propertiesKey\":\"mlb-global-properties\"})":{"__typename":"Header","navigation":[{"__typename":"NavItem","customPropertiesString":"align:right;","icon":null,"linkTarget":null,"linkText":"MLB.TV","linkUrl":"https://www.mlb1.net/tv?&affiliateId=mlbMENUtv","placement":"right","visible":"true","subNav":[{"__typename":"SubnavColumn","title":null,"navigation":[{"__typename":"NavItem","placement":null,"linkText":"Buy MLB.TV","linkUrl":"/live-stream-games/subscribe?&affiliateId=mlbMENUtv","linkTarget":null,"visible":"true","icon":null,"tooltip":null,"customPropertiesString":null},{"__typename":"NavItem","placement":null,"linkText":"Buy At Bat","linkUrl":"/live-stream-games/subscribe/at-bat?&affiliateId=mlbMENUtv","linkTarget":null,"visible":null,"icon":null,"tooltip":null,"customPropertiesString":null},{"__typename":"NavItem","placement":null,"linkText":"All Packages","linkUrl":"/live-stream-games/products?&affiliateId=mlbMENUtv","linkTarget":null,"visible":null,"icon":null,"tooltip":null,"customPropertiesString":null},{"__typename":"NavItem","placement":null,"linkText":"Watch & Listen","linkUrl":"/live-stream-games?&affiliateID=mlbMENUtv","linkTarget":null,"visible":"true","icon":null,"tooltip":null,"customPropertiesString":null},{"__typename":"NavItem","placement":null,"linkText":"Help Center","linkUrl":"https://support.mlb.com/s/?&affiliateID=mlbMENUtv","linkTarget":null,"visible":"true","icon":null,"tooltip":null,"customPropertiesString":null}]}]},{"__typename":"NavItem","customPropertiesString":"align:right;","icon":null,"linkTarget":null,"linkText":"Tickets","linkUrl":"/tickets","placement":"right","visible":null,"subNav":[{"__typename":"SubnavColumn","title":null,"navigation":[{"__typename":"NavItem","placement":null,"linkText":"All-Star Tickets","linkUrl":"/all-star/tickets","linkTarget":null,"visible":"true","icon":null,"tooltip":null,"customPropertiesString":"expires:1752631200;"},{"__typename":"NavItem","placement":null,"linkText":"East-West Classic","linkUrl":"/events/rickwood/tickets","linkTarget":null,"visible":null,"icon":null,"tooltip":null,"customPropertiesString":"expires:1750359600;"},{"__typename":"NavItem","placement":null,"linkText":"Spring Training","linkUrl":"/tickets/spring-training","linkTarget":null,"visible":"true","icon":null,"tooltip":null,"customPropertiesString":"expires:1742958000;"},{"__typename":"NavItem","placement":null,"linkText":"Postseason Tickets","linkUrl":"/tickets/postseason","linkTarget":null,"visible":"false","icon":null,"tooltip":null,"customPropertiesString":null},{"__typename":"NavItem","placement":null,"linkText":"Buy on SeatGeek","linkUrl":"https://seatgeek.com/mlb-tickets?aid=15994&pid=integration&rid=1&utm_medium=partnership&utm_source=mlb_sponsorship&utm_campaign=integration","linkTarget":"_blank","visible":"true","icon":null,"tooltip":null,"customPropertiesString":null},{"__typename":"NavItem","placement":null,"linkText":"Sell on SeatGeek","linkUrl":"https://seatgeek.com/sell/mlb-tickets?aid=15994&pid=integration&rid=15&utm_medium=partnership&utm_source=mlb_sponsorship&utm_campaign=integration","linkTarget":"_blank","visible":null,"icon":null,"tooltip":null,"customPropertiesString":null},{"__typename":"NavItem","placement":null,"linkText":"Season Tickets","linkUrl":"/tickets/season-tickets","linkTarget":null,"visible":null,"icon":null,"tooltip":null,"customPropertiesString":null},{"__typename":"NavItem","placement":null,"linkText":"Single Game Tickets","linkUrl":"/schedule","linkTarget":null,"visible":null,"icon":null,"tooltip":null,"customPropertiesString":null},{"__typename":"NavItem","placement":null,"linkText":"Group Tickets","linkUrl":"/tickets/group-tickets","linkTarget":null,"visible":null,"icon":null,"tooltip":null,"customPropertiesString":null},{"__typename":"NavItem","placement":null,"linkText":"Special Ticket Offers","linkUrl":"/tickets/fan-value","linkTarget":null,"visible":null,"icon":null,"tooltip":null,"customPropertiesString":null},{"__typename":"NavItem","placement":null,"linkText":"MLB Speedway Classic","linkUrl":"/events/speedway-classic/tickets","linkTarget":null,"visible":null,"icon":null,"tooltip":null,"customPropertiesString":null},{"__typename":"NavItem","placement":null,"linkText":"VIP Ticket Packages","linkUrl":"/tickets/on-location-experiences","linkTarget":null,"visible":null,"icon":null,"tooltip":null,"customPropertiesString":null},{"__typename":"NavItem","placement":null,"linkText":"MLB Students","linkUrl":"/tickets/students","linkTarget":null,"visible":"true","icon":null,"tooltip":null,"customPropertiesString":null},{"__typename":"NavItem","placement":null,"linkText":"MLB Tourism","linkUrl":"/tourism","linkTarget":null,"visible":null,"icon":null,"tooltip":null,"customPropertiesString":null},{"__typename":"NavItem","placement":null,"linkText":"MLB World Tour","linkUrl":"/international/events","linkTarget":null,"visible":"false","icon":null,"tooltip":null,"customPropertiesString":null},{"__typename":"NavItem","placement":null,"linkText":"Ticket Terms & Conditions","linkUrl":"/tickets/terms-and-conditions","linkTarget":null,"visible":null,"icon":null,"tooltip":null,"customPropertiesString":null}]}]},{"__typename":"NavItem","customPropertiesString":"align:right;","icon":"shopping-cart","linkTarget":null,"linkText":"Shop","linkUrl":"https://www.mlbshop.com/?_s=bm-mlbcom-hp","placement":"right","visible":null,"subNav":[{"__typename":"SubnavColumn","title":null,"navigation":[{"__typename":"NavItem","placement":null,"linkText":"MLB Online Shop","linkUrl":"https://www.mlbshop.com/?_s=bm-mlbcom-hp","linkTarget":null,"visible":null,"icon":null,"tooltip":null,"customPropertiesString":""},{"__typename":"NavItem","placement":null,"linkText":"Auction","linkUrl":"https://auctions.mlb.com/iSynApp/showHomePage.action?sid=1101001&isynsharedsession=9mislq-18JnZhOEp-FeGzvUB3G6zxwkeKqwX99MKAttEdaSACl02r4aCDzYhNvUm","linkTarget":null,"visible":"true","icon":null,"tooltip":null,"customPropertiesString":null},{"__typename":"NavItem","placement":null,"linkText":"Gift Cards","linkUrl":"https://www.mlbshop.com/gift-cards/x-462351+z-94899005-3509039474?_s=bm-mlbcom-Home","linkTarget":null,"visible":null,"icon":null,"tooltip":null,"customPropertiesString":""},{"__typename":"NavItem","placement":null,"linkText":"MLB NYC Flagship Store","linkUrl":"/shop/nyc-retail-store","linkTarget":null,"visible":null,"icon":null,"tooltip":null,"customPropertiesString":null},{"__typename":"NavItem","placement":null,"linkText":"European Shop","linkUrl":"http://www.mlbshopeurope.com/stores/mlb/en?portal=MLTS66FS&CMP=PSC-MLTS66FS","linkTarget":null,"visible":null,"icon":null,"tooltip":null,"customPropertiesString":""},{"__typename":"NavItem","placement":null,"linkText":"Photo Store","linkUrl":"https://photostore.mlb.com/","linkTarget":null,"visible":"false","icon":null,"tooltip":null,"customPropertiesString":null}]}]},{"__typename":"NavItem","customPropertiesString":"amp:true;mobile:true","icon":null,"linkTarget":null,"linkText":"News","linkUrl":"/news","placement":"mobile","visible":null,"subNav":[{"__typename":"SubnavColumn","title":null,"navigation":[{"__typename":"NavItem","placement":null,"linkText":"Probable Pitchers","linkUrl":"/probable-pitchers/","linkTarget":null,"visible":"true","icon":null,"tooltip":null,"customPropertiesString":null},{"__typename":"NavItem","placement":null,"linkText":"Starting Lineups","linkUrl":"/starting-lineups","linkTarget":null,"visible":null,"icon":null,"tooltip":null,"customPropertiesString":null},{"__typename":"NavItem","placement":null,"linkText":"Transactions","linkUrl":"https://www.mlb1.net/transactions","linkTarget":null,"visible":null,"icon":null,"tooltip":null,"customPropertiesString":null},{"__typename":"NavItem","placement":null,"linkText":"Injury Report","linkUrl":"/injury-report","linkTarget":null,"visible":"true","icon":null,"tooltip":null,"customPropertiesString":null},{"__typename":"NavItem","placement":null,"linkText":"World Baseball Classic","linkUrl":"/world-baseball-classic","linkTarget":null,"visible":null,"icon":null,"tooltip":null,"customPropertiesString":null},{"__typename":"NavItem","placement":null,"linkText":"MLB Draft","linkUrl":"/draft/2025","linkTarget":null,"visible":"true","icon":null,"tooltip":null,"customPropertiesString":null},{"__typename":"NavItem","placement":null,"linkText":"All-Star Game","linkUrl":"/all-star/","linkTarget":null,"visible":"true","icon":null,"tooltip":null,"customPropertiesString":null},{"__typename":"NavItem","placement":null,"linkText":"AUSL","linkUrl":"/ausl","linkTarget":null,"visible":null,"icon":null,"tooltip":null,"customPropertiesString":null},{"__typename":"NavItem","placement":null,"linkText":"MLB Pipeline","linkUrl":"https://www.mlb1.net/pipeline","linkTarget":null,"visible":null,"icon":null,"tooltip":null,"customPropertiesString":null},{"__typename":"NavItem","placement":null,"linkText":"Postseason History","linkUrl":"/postseason/history","linkTarget":null,"visible":null,"icon":null,"tooltip":null,"customPropertiesString":null},{"__typename":"NavItem","placement":null,"linkText":"Great Stories","linkUrl":"/news/topic/longform","linkTarget":null,"visible":"false","icon":null,"tooltip":null,"customPropertiesString":null},{"__typename":"NavItem","placement":null,"linkText":"Podcasts","linkUrl":"/fans/podcasts","linkTarget":null,"visible":null,"icon":null,"tooltip":null,"customPropertiesString":null},{"__typename":"NavItem","placement":null,"linkText":"Free-to-play Games","linkUrl":"https://www.mlb1.net/play","linkTarget":null,"visible":null,"icon":null,"tooltip":null,"customPropertiesString":null}]}]},{"__typename":"NavItem","customPropertiesString":null,"icon":null,"linkTarget":null,"linkText":"Watch","linkUrl":"/tv?&affiliateId=mlbMENU","placement":null,"visible":null,"subNav":[{"__typename":"SubnavColumn","title":"Video","navigation":[{"__typename":"NavItem","placement":null,"linkText":"Search","linkUrl":"/video","linkTarget":null,"visible":null,"icon":null,"tooltip":null,"customPropertiesString":null},{"__typename":"NavItem","placement":null,"linkText":"Statcast","linkUrl":"/video/topic/statcast","linkTarget":null,"visible":null,"icon":null,"tooltip":null,"customPropertiesString":null},{"__typename":"NavItem","placement":null,"linkText":"MLB Network","linkUrl":"/network","linkTarget":null,"visible":null,"icon":null,"tooltip":null,"customPropertiesString":null}]},{"__typename":"SubnavColumn","title":"MLB.TV","navigation":[{"__typename":"NavItem","placement":null,"linkText":"Buy MLB.TV","linkUrl":"/live-stream-games/subscribe?&affiliateId=mlbMENU","linkTarget":null,"visible":"true","icon":null,"tooltip":null,"customPropertiesString":null},{"__typename":"NavItem","placement":null,"linkText":"Watch & Listen","linkUrl":"/live-stream-games?&affiliateID=mlbMENU","linkTarget":null,"visible":"true","icon":null,"tooltip":null,"customPropertiesString":null},{"__typename":"NavItem","placement":null,"linkText":"Help Center","linkUrl":"https://support.mlb.com/s/?&affiliateID=mlbMENU","linkTarget":null,"visible":null,"icon":null,"tooltip":null,"customPropertiesString":null}]}]},{"__typename":"NavItem","customPropertiesString":"mobile:true;amp:true;","icon":null,"linkTarget":null,"linkText":"Scores","linkUrl":"/scores/","placement":"mobile","visible":"true","subNav":[{"__typename":"SubnavColumn","title":null,"navigation":[]}]},{"__typename":"NavItem","customPropertiesString":"amp:true;mobile:true;","icon":null,"linkTarget":null,"linkText":"Schedule","linkUrl":"/schedule/","placement":"mobile","visible":null,"subNav":[{"__typename":"SubnavColumn","title":null,"navigation":[{"__typename":"NavItem","placement":null,"linkText":"2025 Regular Season","linkUrl":"/schedule","linkTarget":null,"visible":"true","icon":null,"tooltip":null,"customPropertiesString":null},{"__typename":"NavItem","placement":null,"linkText":"2025 Spring Training","linkUrl":"/schedule/2025-02-20","linkTarget":null,"visible":"true","icon":null,"tooltip":null,"customPropertiesString":null},{"__typename":"NavItem","placement":null,"linkText":"2024 Regular Season","linkUrl":"/schedule/2024-03-20","linkTarget":null,"visible":null,"icon":null,"tooltip":null,"customPropertiesString":null},{"__typename":"NavItem","placement":null,"linkText":"2024 Postseason","linkUrl":"/postseason","linkTarget":null,"visible":null,"icon":null,"tooltip":null,"customPropertiesString":null},{"__typename":"NavItem","placement":null,"linkText":"MLB Events","linkUrl":"/events","linkTarget":null,"visible":null,"icon":null,"tooltip":null,"customPropertiesString":null},{"__typename":"NavItem","placement":null,"linkText":"Team by Team Schedule","linkUrl":"/schedule/team-by-team","linkTarget":null,"visible":null,"icon":null,"tooltip":null,"customPropertiesString":null},{"__typename":"NavItem","placement":null,"linkText":"Sync Schedules","linkUrl":"https://mlb.ecal.com/","linkTarget":"_blank","visible":null,"icon":null,"tooltip":null,"customPropertiesString":null},{"__typename":"NavItem","placement":null,"linkText":"National Broadcasts","linkUrl":"/live-stream-games/national-broadcast-schedule","linkTarget":null,"visible":"false","icon":null,"tooltip":null,"customPropertiesString":null}]}]},{"__typename":"NavItem","customPropertiesString":"mobile:true;amp:true;","icon":null,"linkTarget":null,"linkText":"Stats","linkUrl":"/stats","placement":"mobile","visible":null,"subNav":[{"__typename":"SubnavColumn","title":null,"navigation":[{"__typename":"NavItem","placement":null,"linkText":"Statcast Leaders","linkUrl":"https://baseballsavant.mlb.com/statcast_leaderboard","linkTarget":null,"visible":null,"icon":null,"tooltip":null,"customPropertiesString":null},{"__typename":"NavItem","placement":null,"linkText":"MLB Statcast","linkUrl":"/statcast","linkTarget":"","visible":"false","icon":null,"tooltip":null,"customPropertiesString":null},{"__typename":"NavItem","placement":null,"linkText":"Baseball Savant","linkUrl":"https://baseballsavant.mlb.com/","linkTarget":null,"visible":null,"icon":null,"tooltip":null,"customPropertiesString":null},{"__typename":"NavItem","placement":null,"linkText":"Top Prospect Stats","linkUrl":"/prospects/stats/top-prospects?type=all&minPA=1","linkTarget":null,"visible":null,"icon":null,"tooltip":null,"customPropertiesString":null},{"__typename":"NavItem","placement":null,"linkText":"Winter Leagues Stats","linkUrl":null,"linkTarget":"https://www.mlb1.net/ligas-invernales/stats/","visible":"false","icon":null,"tooltip":null,"customPropertiesString":null}]}]},{"__typename":"NavItem","customPropertiesString":"amp:true;","icon":null,"linkTarget":null,"linkText":"Standings","linkUrl":"/standings","placement":null,"visible":null,"subNav":[{"__typename":"SubnavColumn","title":null,"navigation":[]}]},{"__typename":"NavItem","customPropertiesString":"","icon":"group","linkTarget":null,"linkText":"Players","linkUrl":"/players","placement":null,"visible":"true","subNav":[{"__typename":"SubnavColumn","title":null,"navigation":[{"__typename":"NavItem","placement":null,"linkText":"Prospect Rankings","linkUrl":"/prospects","linkTarget":null,"visible":null,"icon":null,"tooltip":null,"customPropertiesString":null},{"__typename":"NavItem","placement":null,"linkText":"Depth Charts","linkUrl":"/team/roster/depth-chart","linkTarget":null,"visible":null,"icon":null,"tooltip":null,"customPropertiesString":null},{"__typename":"NavItem","placement":null,"linkText":"MLB Players Association","linkUrl":"https://www.mlbplayers.com","linkTarget":null,"visible":null,"icon":null,"tooltip":null,"customPropertiesString":null},{"__typename":"NavItem","placement":null,"linkText":"Negro Leagues","linkUrl":"/history/negro-leagues","linkTarget":null,"visible":null,"icon":null,"tooltip":null,"customPropertiesString":null}]}]},{"__typename":"NavItem","customPropertiesString":null,"icon":null,"linkTarget":null,"linkText":"MLB Play","linkUrl":"/play","placement":null,"visible":null,"subNav":[{"__typename":"SubnavColumn","title":null,"navigation":[{"__typename":"NavItem","placement":null,"linkText":"Beat the Streak","linkUrl":"/play?gameId=BeatTheStreak2022","linkTarget":null,"visible":null,"icon":null,"tooltip":null,"customPropertiesString":null},{"__typename":"NavItem","placement":null,"linkText":"Immaculate Grid","linkUrl":"/play?gameId=ImmaculateGrid2024","linkTarget":null,"visible":null,"icon":null,"tooltip":null,"customPropertiesString":null},{"__typename":"NavItem","placement":null,"linkText":"Trivia","linkUrl":"/play?gameId=SporcleTrivia2024","linkTarget":null,"visible":null,"icon":null,"tooltip":null,"customPropertiesString":null},{"__typename":"NavItem","placement":null,"linkText":"Spinball","linkUrl":"https://www.mlb1.net/apps/spinball/game","linkTarget":null,"visible":null,"icon":null,"tooltip":null,"customPropertiesString":null},{"__typename":"NavItem","placement":null,"linkText":"Pickle","linkUrl":"/play?gameId=Pickle2023","linkTarget":null,"visible":null,"icon":null,"tooltip":null,"customPropertiesString":null},{"__typename":"NavItem","placement":null,"linkText":"By the Numbers","linkUrl":"/play?gameId=ByTheNumbers2022","linkTarget":null,"visible":null,"icon":null,"tooltip":null,"customPropertiesString":null},{"__typename":"NavItem","placement":null,"linkText":"Diamond Decisions","linkUrl":"/play?gameId=DiamondDecisions2024","linkTarget":null,"visible":null,"icon":null,"tooltip":null,"customPropertiesString":null},{"__typename":"NavItem","placement":null,"linkText":"Bingo","linkUrl":"/play?gameId=Bingo2023","linkTarget":null,"visible":null,"icon":null,"tooltip":null,"customPropertiesString":null}]}]},{"__typename":"NavItem","customPropertiesString":null,"icon":null,"linkTarget":null,"linkText":"Youth","linkUrl":"/youth-baseball-softball","placement":null,"visible":null,"subNav":[{"__typename":"SubnavColumn","title":null,"navigation":[{"__typename":"NavItem","placement":null,"linkText":"Play Ball","linkUrl":"/play-ball","linkTarget":null,"visible":null,"icon":null,"tooltip":null,"customPropertiesString":null},{"__typename":"NavItem","placement":null,"linkText":"Youth Baseball & Softball","linkUrl":"/youth-baseball-softball","linkTarget":null,"visible":null,"icon":null,"tooltip":null,"customPropertiesString":null}]}]},{"__typename":"NavItem","customPropertiesString":null,"icon":"milb","linkTarget":null,"linkText":"MiLB","linkUrl":"/milb","placement":null,"visible":null,"subNav":[{"__typename":"SubnavColumn","title":null,"navigation":[]}]},{"__typename":"NavItem","customPropertiesString":null,"icon":null,"linkTarget":"","linkText":"AUSL","linkUrl":"/ausl","placement":null,"visible":null,"subNav":[{"__typename":"SubnavColumn","title":null,"navigation":[{"__typename":"NavItem","placement":null,"linkText":"Complete coverage","linkUrl":"/ausl","linkTarget":null,"visible":null,"icon":null,"tooltip":null,"customPropertiesString":null},{"__typename":"NavItem","placement":null,"linkText":"How to watch","linkUrl":"https://www.mlb1.net/news/ausl-2025-broadcast-schedule-announced","linkTarget":null,"visible":null,"icon":null,"tooltip":null,"customPropertiesString":null},{"__typename":"NavItem","placement":null,"linkText":"FAQ","linkUrl":"https://www.mlb1.net/news/athletes-unlimited-softball-league-frequently-asked-questions","linkTarget":null,"visible":null,"icon":null,"tooltip":null,"customPropertiesString":null},{"__typename":"NavItem","placement":null,"linkText":"TheAUSL.com","linkUrl":"https://theausl.com/","linkTarget":null,"visible":null,"icon":null,"tooltip":null,"customPropertiesString":null}]}]},{"__typename":"NavItem","customPropertiesString":"expires:1720022400;","icon":null,"linkTarget":null,"linkText":"Vote","linkUrl":"/all-star/ballot?affiliateId=asb-topnav-mlb-2024","placement":null,"visible":null,"subNav":[{"__typename":"SubnavColumn","title":null,"navigation":[]}]},{"__typename":"NavItem","customPropertiesString":"amp:true;module:teammodule;align:right;","icon":null,"linkTarget":null,"linkText":"Teams","linkUrl":"/team","placement":"right","visible":null,"subNav":[{"__typename":"SubnavColumn","title":null,"navigation":[{"__typename":"NavItem","placement":null,"linkText":"Team Module","linkUrl":null,"linkTarget":null,"visible":null,"icon":null,"tooltip":null,"customPropertiesString":"module:teammodule;"}]}]},{"__typename":"NavItem","customPropertiesString":"align:right;label:Language","icon":null,"linkTarget":null,"linkText":"Lang","linkUrl":"/language","placement":"right","visible":null,"subNav":[{"__typename":"SubnavColumn","title":null,"navigation":[{"__typename":"NavItem","placement":null,"linkText":"Español","linkUrl":"/es","linkTarget":null,"visible":null,"icon":null,"tooltip":null,"customPropertiesString":"lang:es"},{"__typename":"NavItem","placement":null,"linkText":"日本語","linkUrl":"http://www.mlb.jp/","linkTarget":null,"visible":"true","icon":null,"tooltip":null,"customPropertiesString":"lang:ja"},{"__typename":"NavItem","placement":null,"linkText":"한국어","linkUrl":"https://www.mlbkor.com/","linkTarget":null,"visible":"true","icon":null,"tooltip":null,"customPropertiesString":"lang:ko"}]}]}],"cfPalette":{"__typename":"CF_Palette","headerMastheadBackgroundColor":"#002D72","headerMastheadTextColor":"#ffffff","headerNavigationBackgroundColor":"#041E42","headerNavigationBorderColor":"#057AFF","headerNavigationTextColorHover":"#ffffff","headerNavigationTextColor":"#ffffff"},"cfEntityWebProperties":{"__typename":"CF_Entity_WebProperties","urlLogo":null,"headerMastheadTagline":null,"headerPrimaryLogo":{"__typename":"CF_Asset","url":null,"description":null},"headerMastheadSponsorImage":{"__typename":"CF_Asset","url":null,"description":null},"headerMastheadTaglineContainerWidth":"512px","headerMastheadTaglineContainerHeight":"56px"}}},"Team:477":{"__typename":"Team","id":477,"sport":{"__ref":"Sport:13"},"teamName":"Grasshoppers"},"Person:694753":{"__typename":"Person","id":694753,"initLastName":"K Curtis","team":{"__typename":"Team","sport":{"__ref":"Sport:13"}}},"Sport:13":{"__typename":"Sport","id":"13"},"Sport:1":{"__typename":"Sport","id":"1"},"Team:134":{"__typename":"Team","id":134,"sport":{"__ref":"Sport:1"},"teamName":"Pirates","division":{"__ref":"Division:205"},"name":"Pittsburgh Pirates","shortName":"Pittsburgh"},"Division:200":{"__typename":"Division","id":"200"},"Team:133":{"__typename":"Team","division":{"__ref":"Division:200"},"id":133,"name":"Athletics","shortName":"Athletics","teamName":"Athletics"},"Division:205":{"__typename":"Division","id":"205"},"Division:203":{"__typename":"Division","id":"203"},"Team:135":{"__typename":"Team","division":{"__ref":"Division:203"},"id":135,"name":"San Diego Padres","shortName":"San Diego","teamName":"Padres"},"Team:136":{"__typename":"Team","division":{"__ref":"Division:200"},"id":136,"name":"Seattle Mariners","shortName":"Seattle","teamName":"Mariners"},"Team:137":{"__typename":"Team","division":{"__ref":"Division:203"},"id":137,"name":"San Francisco Giants","shortName":"San Francisco","teamName":"Giants"},"Team:138":{"__typename":"Team","division":{"__ref":"Division:205"},"id":138,"name":"St. Louis Cardinals","shortName":"St. Louis","teamName":"Cardinals"},"Division:201":{"__typename":"Division","id":"201"},"Team:139":{"__typename":"Team","division":{"__ref":"Division:201"},"id":139,"name":"Tampa Bay Rays","shortName":"Tampa Bay","teamName":"Rays"},"Team:140":{"__typename":"Team","division":{"__ref":"Division:200"},"id":140,"name":"Texas Rangers","shortName":"Texas","teamName":"Rangers"},"Team:141":{"__typename":"Team","division":{"__ref":"Division:201"},"id":141,"name":"Toronto Blue Jays","shortName":"Toronto","teamName":"Blue Jays"},"Division:202":{"__typename":"Division","id":"202"},"Team:142":{"__typename":"Team","division":{"__ref":"Division:202"},"id":142,"name":"Minnesota Twins","shortName":"Minnesota","teamName":"Twins"},"Division:204":{"__typename":"Division","id":"204"},"Team:143":{"__typename":"Team","division":{"__ref":"Division:204"},"id":143,"name":"Philadelphia Phillies","shortName":"Philadelphia","teamName":"Phillies"},"Team:144":{"__typename":"Team","division":{"__ref":"Division:204"},"id":144,"name":"Atlanta Braves","shortName":"Atlanta","teamName":"Braves"},"Team:145":{"__typename":"Team","division":{"__ref":"Division:202"},"id":145,"name":"Chicago White Sox","shortName":"Chi White Sox","teamName":"White Sox"},"Team:146":{"__typename":"Team","division":{"__ref":"Division:204"},"id":146,"name":"Miami Marlins","shortName":"Miami","teamName":"Marlins"},"Team:147":{"__typename":"Team","division":{"__ref":"Division:201"},"id":147,"name":"New York Yankees","shortName":"NY Yankees","teamName":"Yankees"},"Team:158":{"__typename":"Team","division":{"__ref":"Division:205"},"id":158,"name":"Milwaukee Brewers","shortName":"Milwaukee","teamName":"Brewers"},"Team:108":{"__typename":"Team","division":{"__ref":"Division:200"},"id":108,"name":"Los Angeles Angels","shortName":"LA Angels","teamName":"Angels"},"Team:109":{"__typename":"Team","division":{"__ref":"Division:203"},"id":109,"name":"Arizona Diamondbacks","shortName":"Arizona","teamName":"D-backs"},"Team:110":{"__typename":"Team","division":{"__ref":"Division:201"},"id":110,"name":"Baltimore Orioles","shortName":"Baltimore","teamName":"Orioles"},"Team:111":{"__typename":"Team","division":{"__ref":"Division:201"},"id":111,"name":"Boston Red Sox","shortName":"Boston","teamName":"Red Sox"},"Team:112":{"__typename":"Team","division":{"__ref":"Division:205"},"id":112,"name":"Chicago Cubs","shortName":"Chi Cubs","teamName":"Cubs"},"Team:113":{"__typename":"Team","division":{"__ref":"Division:205"},"id":113,"name":"Cincinnati Reds","shortName":"Cincinnati","teamName":"Reds"},"Team:114":{"__typename":"Team","division":{"__ref":"Division:202"},"id":114,"name":"Cleveland Guardians","shortName":"Cleveland","teamName":"Guardians"},"Team:115":{"__typename":"Team","division":{"__ref":"Division:203"},"id":115,"name":"Colorado Rockies","shortName":"Colorado","teamName":"Rockies"},"Team:116":{"__typename":"Team","division":{"__ref":"Division:202"},"id":116,"name":"Detroit Tigers","shortName":"Detroit","teamName":"Tigers"},"Team:117":{"__typename":"Team","division":{"__ref":"Division:200"},"id":117,"name":"Houston Astros","shortName":"Houston","teamName":"Astros"},"Team:118":{"__typename":"Team","division":{"__ref":"Division:202"},"id":118,"name":"Kansas City Royals","shortName":"Kansas City","teamName":"Royals"},"Team:119":{"__typename":"Team","division":{"__ref":"Division:203"},"id":119,"name":"Los Angeles Dodgers","shortName":"LA Dodgers","teamName":"Dodgers"},"Team:120":{"__typename":"Team","division":{"__ref":"Division:204"},"id":120,"name":"Washington Nationals","shortName":"Washington","teamName":"Nationals"},"Team:121":{"__typename":"Team","division":{"__ref":"Division:204"},"id":121,"name":"New York Mets","shortName":"NY Mets","teamName":"Mets"}}}
window.adobeAnalytics = {"reportingSuiteId":"mlbglobal08,mlbcom08","linkInternalFilters":"mlb"}
window.globalState = {"tracking_title":"Major League Baseball","lang":"en"}
window.appId = ''
/*-->*/
Pirates' High-A club spins first non-complex 9-inning perfect game since 2017
Fourth of July and baseball? Some might say it’s the perfect combination. For the Greensboro Grasshoppers on Friday, it turned out to be just that -- with a perfect game to match.
Three Pirates pitching prospects -- Khristian Curtis (PIT No. 24), Jake Shirk and Michael Walsh -- combined to throw a nine-inning perfect game for High-A Greensboro in a 2-0 win over Aberdeen at Ripken Stadium. It marked the first nine-inning perfect game outside of the Complex Leagues in the Minors since 2017.
Earlier this season, Mets Double-A prospects combined to throw a seven-inning perfecto as part of a doubleheader. There were a pair of Dominican Summer League perfect games in 2022 and '24, but both went fewer than nine frames. On July 2, 2022, the Dodgers' Rookie-level Arizona Complex League club threw one that went nine frames and combined to use five pitchers.
Greensboro last threw a no-hitter on Aug. 5, 2018, when three pitchers -- Taylor Braley, Jeremy Ovalle, Michael Mertz -- combined to blank Kannapolis across seven frames.
The fireworks didn’t come immediately. Both teams were hitless through three innings, and the game remained scoreless until the fifth, when newly acquired Titus Dumitru launched his first homer as a member of the Pirates organization. Dumitru, who was traded from the Braves just three days ago, broke the tie with a no-doubt solo shot to left field.
Curtis set the tone on the mound from the very first batter. After falling behind 3-0 to leadoff hitter Austin Overn, the 6-foot-5 righty battled back to retire him swinging on a full count. On the next hitter, Curtis opened Griff O’Ferrall with another 3-0 count, but induced a lineout in a full count. Then, the 2023 12th-round pick proceeded to dominate. He retired all 18 batters he faced over six perfect innings, racking up a professional-best 10 strikeouts.
In the sixth, Greensboro added an insurance run on back-to-back singles by Konnor Griffin (PIT No. 2/MLB No. 13) and Keiner Delgado (PIT No. 26), capped by a sacrifice fly from outfielder Will Taylor. Griffin has reached safely in 31 of his past 32 games, a streak spanning back before his promotion to High-A on June 10.
Shirk took over in the seventh and continued the perfection, striking out four batters over two clean innings. The right-hander has been stellar since joining Greensboro, allowing just one run over his first four appearances.
The final act belonged to Walsh. With a 12 1/3 scoreless inning streak entering the night, he completed the masterpiece with a flawless ninth inning, striking out two to cement the perfect game. After fanning Cole Urman for the final out, Walsh turned to center field and let out an emphatic yell before being mobbed by his teammates on the mound in celebration.
27 up, 27 down! ✅
Here’s how the @GSOHoppers’ masterpiece looked in my scorebook.
It’s the first time in my career that I’ve called a perfect game. I’m grateful for the opportunity and honored that I could be the voice of such a special game/moment. https://t.co/viMFHMGRJ1pic.twitter.com/5PXhtVHos4
— Michael Marcantonini (@MIKEdUpSports) July 5, 2025