The Mets also landed $20 million in salary relief from Seattle. The Mariners are receiving Jay Bruce, Anthony Swarzak and prospects Justin Dunn, Jarred Kelenic and Gerson Bautista.
Cano waived his no-trade clause to make the deal possible. The eight-time All-Star has five years and $120 million remaining on his 10-year contract.
Cano hit .303 with 10 home runs and 50 RBIs in 80 games last season. His season was shortened due to an 800game PED suspension.
For his career, Cano owns a .304 batting average with 311 home runs in 14 seasons. The 36-year-old played the first nine seasons of his career for the New York Yankees before signing with the Mariners as a free agent during the 2013 offseason. He is set to make $24 million annually through the 2023 season.
Diaz, 24, made his first All-Star appearance last season after logging a league-best 57 saves and finishing a league-high 65 games. He also posted a 1.96 ERA in 73 appearances for the Mariners.
Bruce hit .223 with nine home runs and 37 RBIs in 94 games last season for the Mets. He is a career .247 hitter with 286 long balls in his 11 seasons. Swarzak, 33, posted a 6.15 ERA with an 0-2 record and four saves in 29 appearances last season for the Mets. He has a career ERA of 4.30 in nine seasons.