Since Durkheim, sociological explanations of social cooperation emphasize the internalization of values that induce norm compliance. Since Adam Smith, economic explanations of social cooperation emphasize incentives that induce selfish individuals to cooperate. Here we develop a general approach – the Beliefs, Preferences, and Constraints approach – showing that each of the above models is a special case. Our approach is based on
evidence indicating that pure Homo Sociologicus and pure Homo Economicus views are wrong. We show that self-regarding and norm-regarding actors coexist and that the available action opportunities determine which of these actor types dominates the aggregate level of social cooperation. Our approach contributes to the solution of long-standing problems, including the problems of social order and collective action, the determinants and consequences of social exchanges, the micro-foundations of emergent aggregate patterns of social interactions, and the measurement of the impact of cultural and economic practices on individuals’ social goals.