Hamilton was selected by the Minnesota Twins in the 23rd round of the 2016 MLB draft.[3] He made his professional debut that season and advanced through the Twins' farm system, first reaching the Triple-A level in 2019.[1] After the 2020 minor-league season was canceled, Hamilton spent 2021 with the Wichita Wind Surge of Double-A and the St. Paul Saints of Triple-A, registering an overall .224 batting average with seven home runs and 42 RBIs in 99 games.[1]
In 2022, Hamilton returned to St. Paul to start the season, then was called up by the Twins and made his MLB debut on July 17.[4] After going 0–for–12 to begin his career, he recorded his first career hit on September 25, a solo shot off of José Quijada of the Los Angeles Angels.[5] In 22 major-league games with Minnesota, he batted .056 with his only hit in 18 at bats being a home run.[6] He also appeared in 62 games with St. Paul, batting .233 with 11 home runs and 43 RBIs.[1]
Hamilton began the 2023 season in Worcester, playing in 30 games and hitting just .180 with 3 home runs and 13 RBI until he was selected to Boston's major-league roster on June 22 following an injury to Reese McGuire.[10] In four games for Boston, he went 0–for–5 with a walk. On July 6, Hamilton was designated for assignment following the signing of Jorge Alfaro.[11] Hamilton was sent outright to Worcester on July 9.[12] On October 2, Hamilton elected free agency.
Los Angeles Angels
On January 31, 2024, Hamilton signed a minor league contract with the Los Angeles Angels.[13] In 38 games for the Double–A Rocket City Trash Pandas, he batted .120/.250/.232 with four home runs, 10 RBI, and three stolen bases. On June 30, Hamilton was released by the Angels organization.[14]