John Stones has completed his move to Manchester City in a £47.5m deal on a six-year contract.
The fee, which makes Stones the most expensive defender in Premier League history, will increase to £50m with add-ons. That would match the amount Paris Saint-Germain paid Chelsea for David Luiz, currently the most expensive defender in the world.
Sky sources understand the deal was done between the two clubs on Monday night. City's squad have been given the day off on Tuesday so Stones will not meet his new team-mates until Wednesday.
The news comes after what a City source admitted was an administrative error on Tuesday morning when Stones was named in the club's Champions League squad, which was published on the UEFA website.
Everton thwarted Chelsea's persistent attempts to sign Stones last season.
The transfer will also benefit Barnsley, who have confirmed they included a sell-on clause when they sold Stones to Everton. The exact amount they will receive has not been disclosed.
Stones told the club's website: "I'm absolutely delighted to sign for City and now the deal's done I'm looking forward to the next stage in my career.
"I've obviously seen what's going on here at the Etihad, it's an ambitious Club with a great manager so I can't wait to get stuck in and help achieve the goals.
"I know it will be tough getting a place in this team but I'm determined to become the best player I can be and help us to success.
"I had a wonderful time with Everton and wish them and their fans all the best but now I'll give my all for City."
City boss Pep Guardiola added: "We want to help John show his quality with us and improve on what he has already achieved.
"I like the way he plays the game and I'm looking forward to welcoming him into the squad."
Stones, who will take squad No 24, becomes City's eighth signing of the summer transfer window, following Ilkay Gundogan, Nolito, Aleksandar Zinchenko, Aaron Mooy, Leroy Sane, Gabriel Jesus and Marlos Moreno.