Barcelona have agreed a deal for Jean-Clair Todibo to join them from Toulouse at the end of the season.
Todibo, 19, will join on a free transfer on June 30 when his contract with the Ligue 1 side ends.
ESPN FC reported a deal for the teenager was close earlier in the week and said Barca sporting director Eric Abidal had been a major factor in convincing Todibo to move to Spain over Manchester City and Juventus.
"I am very happy to sign on with Barcelona from July 2019," Todibo said on Twitter. "They are more than a club and I thank them for their belief in me. It will be a new step in my young career and I will focus all of my determination on achieving big things.
"Until then, I remain a Toulouse player and I am available to help my teammates while I remain under contract. The Tef (Toulouse/Tefece/TFC) have helped me to develop and discover Ligue 1 and for that I will be eternally grateful. Thank you."
Todibo, a right-footed defender who can also operate in midfield, has not played for Toulouse since November, when negotiations over a new contract broke down.
Upon joining Todibo will have a full preseason with Barcelona's first team before a decision is made regarding whether he remains with the club next season or heads out on loan.
That may depend on if Barca manage to sign another of their centre-back targets, Ajax's Matthijs de Ligt. They will also have to decide whether they take up an option to sign Valencia's Jeison Murillo -- who joined on a six-month loan last month -- permanently for €25 million in the summer.
Murillo arrived as short-term cover for injured duo Samuel Umtiti and Thomas Vermaelen, while moves for Todibo and potentially De Ligt are part of long-term succession planning for life without Gerard Pique, who turns 32 next month, and Vermaelen, who is set to leave in June when his deal expires.
Todibo had never played in France's top flight before this season but quickly impressed after being handed his full debut against Bordeaux last August.
However, after just 10 appearances, he was sent back to the reserve team due to the impasse over his contract situation.