Former boxing world champion Floyd Mayweather will fight UFC champion Conor McGregor in a light-middleweight boxing match in Las Vegas on 26 August.
American Mayweather, 40, posted a video on Twitter confirming the fight details with the message: "It's official."
Irish UFC lightweight champion McGregor, 28, said: "The fight is on."
It is reported each fighter could earn as much as $100m (£78.4m) from the bout, which would be one of the richest in boxing history.
Mayweather, a former five-weight world champion and widely considered the best boxer of his generation, retired unbeaten in 2015 after 49 bouts.
That followed a successful defence of his WBC and WBA welterweight titles, a victory that equalled Rocky Marciano's career record of 49-0.
Mayweather retired for the first time in 2008 after 39 fights.
McGregor, who has never boxed professionally, became the UFC's first dual-division champion in November 2016 and has previously challenged Mayweather to a fight under mixed martial arts rules.
His boxing licence was granted by the California State Athletic Commission in December, allowing him to box in the US state.
UFC president Dana White, who took part in negotiations on behalf of McGregor, told ESPN: "We have been in talks for a while.
"They went smoothly. Floyd Mayweather surrounds himself with smart people and we got the deal done. The impossible deal is now done.
"The reason Conor McGregor's as big as he is is he'll fight anybody, anywhere, any time. He will go after Floyd Mayweather and he will try to knock him out."