Arroyo was drafted by the San Francisco Giants in the first round of the 2013 Major League Baseball draft. The selection was considered a surprise by experts. He was committed to the University of Florida to play college baseball but signed with the Giants. Arroyo made his professional debut with the Arizona League Giants, hitting.326/.388/.511 with two home runs and 39 RBIs over 184 at-bats in 45 games. For his play he was named the Arizona League MVP. Arroyo spent 2014 with the Salem-Keizer Volcanoes and Augusta GreenJackets, where he batted.291 with six home runs and 62 RBIs in 89 games, and 2015 with the San Jose Giants where he slashed.304/.344/.459 with nine home runs and 42 RBIs in 90 games. After the 2015 season he played in the Arizona Fall League. He spent the 2016 season with the Richmond Flying Squirrels, compiling a.274 batting average with three home runs, 49 RBIs, and 36 doubles in 119 games. Arroyo began the 2017 season with the Sacramento River Cats, where he hit.446 with seven doubles, three home runs, and 12 RBIs in 16 games.
San Francisco Giants
On April 24, 2017, the Giants promoted Arroyo to the major leagues. He made his debut later that night, starting at third base against the Los Angeles Dodgers. On April 25, he recorded his first hit, a single, off of Clayton Kershaw. The following day, Arroyo hit his first Major League home run, a two-run shot off of Sergio Romo. He was sent down to Triple-A on June 4 to make room for Hunter Pence, who was returning from the disabled list.
On December 20, 2017, the Giants traded Arroyo, Denard Span, Matt Krook, and Stephen Woods to the Tampa Bay Rays for Evan Longoria and cash considerations. He began 2018 with the Durham Bulls. Arroyo was recalled to Tampa Bay on May 16, making his Rays debut on May 17 against the Los Angeles Angels. He recorded two singles in five at-bats while playing third base. He was optioned to Triple A Durham where he finished the season. Arroyo finished the season with a.264 batting average and one home run.
Cleveland Indians
The Rays traded Arroyo, along with Hunter Wood, to the Cleveland Indians on July 28, 2019 in exchange for minor league outfielder Ruben Cardenas and international signing period slot money.