Ethics refers to society's idea of what is right and wrong and we do it because society says it is the right thing to do.
Social contract is the idea that any given society has a set of conventions and trade-offs which it demands or requires, in order for participation in it to be possible and for the society to continue to exist. In particular, it recognises that authority exists in as much as the members of society cede power to the authority (voluntarily and on average — ideally, though not necessarily, as a carefully considered decision).
These two terms imply that we should follow society's rules because it is the best thing to so, how are these two terms different and what am I missing in my understanding?