NBA legend LeBron James has signed a four year, $154 million contract with the Los Angeles Lakers, his agent said on Twitter on Sunday night.