Everybody and his agent seem to be getting $20 million a picture these days, but which actor got the biggest payday ever? It comes down to a battle between a joker, a man with an impossible mission, and a friendly Southerner with an IQ of 75.

Although Jack Nicholson was guaranteed a paltry $6 million to play the Joker in 1989’s Batman, he wound up with much more, thanks to a formula that’s standard practice among A-list stars. He cut his normal fee, then around $10 million, in exchange for a piece of Batman‘s earnings — notably the toys that bore his likeness. All told, Nicholson was said to have made more than $50 million after the movie earned in excess of $411 million worldwide.

That’s a box of choc’lates compared with what Tom Hanks got on Forrest Gump. Playing a simpleton — and shrewdly taking a cut of the box office gross — was one of the smartest business moves in Hollywood history. After Gump took in nearly $680 million worldwide, Hanks walked away with an estimated $60 million. A similar deal on Saving Private Ryan (which grossed $479 million worldwide) is said to have earned Hanks upwards of $30-40 million. The act-now, get-paid-later setup is likely to make The Green Mile that much greener for Hanks. The Oscar-nominated film has made $128 million domestically and is still in theaters.