Paige was rated as the number 22 overall player in the class of 2012 in the ESPNU 100, the number 35 player by Scout.com, and the number 34 player by Rivals.com. In his junior year, Paige led Linn-Mar High School to an undefeated season and the 2011 4-A state title. Considered by scouts to be an excellent ball handler with shooting range to the three-point line, Paige also played on the AAU circuit with Martin Brothers Select. On January 8, 2011, Paige verbally committed to play college basketball for North Carolina, turning down scholarship offers from Iowa State, Kansas, Minnesota, Virginia, Illinois, and Iowa. In his senior season, Paige was the leader of his Linn-Mar team, as he averaged over 28 points per game. He also recorded the most points in school history with 49 against Cedar Rapids Kennedy in Substate. Paige's high school career ended when Linn-Mar was defeated by Iowa City West in the State semi-finals.
College recruitment
College career
Freshman season
During his freshman season at North Carolina, Paige averaged 8.6 points and 4.6 assists per game and started 34 of 36 games for the Tar Heels. Throughout the season, his assist to turnover ratio was 1.8:1, which was sixth in the Atlantic Coast Conference. His season high for points in a game was against Virginia Tech, with 19, and a season high for assists against Notre Dame with 10. Paige led the Tar Heels to the round of thirty-two where they eventually lost to the Kansas Jayhawks 70–58. At season's end, he was elected to both the ACC All-Academic Team and the Freshman All-American team.
Sophomore season
Paige improved his statistics from his freshman season. During his sophomore season, he averaged 17.5 points per game and 4.2 assists per game. Throughout the season, he shot 44% from the field, 39% from three-point range, and 87.7% from the free throw line. His point average per game was fourth in the ACC, and his free throw percentage was the highest in the entire conference. Paige led the Tar Heels to the NCAA tournament, where for a second year in a row, they lost in the round of thirty-two against the Iowa State Cyclones 85–83. He was named second-team All-American, first-team All-ACC, and was awarded the ACC's Most Improved Player.
Junior season
Paige finished his junior season averaging 14.1 points and 4.5 assists per game. After a stellar sophomore season, Paige had a dip in offensive production. He managed to shoot 39.5% from three-point range while shooting only 41.3% from the field. For the season, Paige fell only one three-pointer short of tying Shammond WIlliam's record for most three-pointers made in a single season, which is now held by Justin Jackson at 101. Paige earned himself second-team Academic All-American honors for the second consecutive year, as he managed to also earn second-team All-ACC honors. His statistical drops are in part credited to a case of plantar fasciitis that Paige was fighting all year long.
Senior season
Paige was named preseason ACC player of the year. Early in the season, Paige was widely regarded to have been in a shooting slump. He broke the UNC record for the most career 3-pointers made. However, he recovered late in the season and helped lead the Tar Heels to the 2016 NCAA Championship Game, where they faced Villanova. In the game, Paige scored 21 points and hit a game-tying circus three-pointer with 4.7 seconds left in the 2nd half of regulation. However, Villanova's Kris Jenkins went on to score a buzzer beater to win the game 77–74.
On August 1, 2017, Paige signed a two-way contract by the Charlotte Hornets. Under the terms of the deal, he and fellow two-way affiliate Mangok Mathiang will split time between the Hornets and their G-League affiliate, the Greensboro Swarm. Paige averaged 15.2 points, 3.0 rebounds, and 4.5 assists per game in 46 games with Greensboro. On June 29, 2018, the Hornets announced that they would decline a qualifying offer to Paige, making him a free agent.
On July 11, 2018, Paige signed a two-year contract with the Serbian club Partizan Belgrade of the ABA League. On February 12, 2019, Paige obtained a Serbian passport and Serbian citizenship. He signed a two-year deal on May 9, 2020. On May 9, 2020, Paige signed a second two-year contract with Partizan Belgrade of the ABA League after helping the club to both the Serbian Cup and ABA League Supercup in 2019 and a second Serbian Cup in 2020.