Just a few hours remain to cast your vote on the Esurance MLB All-Star Game ballot, where several of the game's best players are holding on to narrow leads in positional races bound to go down to the wire.

Voting ends tonight at 11:59 ET. The starting players and rosters will be revealed on Sunday at 7 p.m. ET on ESPN. The 88th All-Sar Game is set for Marlins Park in Miami on July 11.

But who will be there in the starting lineups? That's still up to you, the fans. And at this late hour, several of the races are too close to call.

• Vote now for #ASGWorthy players

The tightest race is at third base in the American League, where just 60,000 votes separate front-runner Miguel Sano of the Twins from Jose Ramirez of the Indians and the Blue Jays' Josh Donaldson, who are fighting furiously behind. Sano, who is having a breakout season thanks to his elite average exit velocity, leads the way with 1,764,734 votes, but Cleveland fan favorite Ramirez (1,730,869) and former AL MVP Donaldson (1,671,408) are knocking at the door.

The other three-horse race in the AL is at designated hitter, where Corey Dickerson of the Rays has used a final-week surge to overtake Nelson Cruz of the Mariners for the top spot. Dickerson (1,616,809) is having a breakout year for the Rays, but four-time All-Star Cruz (1,557,747) and his 14 home runs are nothing to scoff at. Cleveland slugger Edwin Encarnacion (1,505,226) is also within striking distance.

• Interactive map: Where are the votes coming from?

In the National League, Rockies third baseman Nolan Arenado has surged past reigning NL MVP Kristopher Bryant of the Cubs to set himself up to start his first All-Star Game. Arenado (2,426,431) trailed Bryant (2,322,249) as late as Monday, but now owns a 104,182-vote lead over Bryant.

Elsewhere, Nationals first baseman Ryan Zimmerman (1,989,104) maintains a narrow lead over the Cubs' Anthony Rizzo (1,915,790), while Reds shortstop Zack Cozart's first All-Star start remains in reach. Cincinnati's shortstop is having a career year, and with a little help from donkey-costume-wearing teammate Joey Votto, fans are noticing. Cozart owns a 108,282-vote lead over Corey Seager of the Dodgers.

Fans may cast votes for starters at MLB.com and all 30 club sites -- on computers, tablets and smartphones -- exclusively online using the 2017 Esurance MLB All-Star Game Ballot until tonight at 11:59 p.m. ET. On smartphones and tablets, fans can also access the ballot via the MLB.com At Bat and MLB.com Ballpark mobile apps.

The Esurance All-Star Selection Show will take place on Sunday at 7 p.m. ET on ESPN. Following the unveiling of the 2017 All-Star starters, reserves and pitchers, fans can return to MLB.com to cast their 2017 Esurance MLB All-Star Game Final Vote for the final player on each league's All-Star roster. Then on Tuesday, July 11, while watching the 2017 All-Star Game presented by Mastercard live on FOX, fans may visit MLB.com to submit their choices for the Ted Williams Most Valuable Player Award presented by Chevrolet with the 2017 MLB All-Star Game MVP Vote.

The 88th Midsummer Classic, at Marlins Park in Miami, will be televised nationally by FOX Sports; in Canada by Rogers Sportsnet and RDS; and worldwide by partners in more than 160 countries. ESPN Radio and ESPN Radio Deportes will provide exclusive national radio coverage, while MLB Network, MLB.com and SiriusXM will have comprehensive All-Star Week coverage. For more information about MLB All-Star Week and to purchase tickets, please visit AllStarGame.com.

Joe Trezza is a reporter for MLB.com based in New York. Follow him on Twitter at @joetrezz.