Plastered with face and neck tattoos, 21-year-old Lil Xan has been in the music business only a year—but he’s already a breakout star.

The Redlands, Calif., rapper, whose real name is Diego Leanos, sparked a bidding war last fall after his anti-Xanax song “Betrayed” went viral. He signed with Columbia Records in November for a three-album deal worth north of $1 million, according to a person familiar with the matter. In April, his debut album hit the Top Ten on the Billboard charts and last month he walked the red carpet at...