We consider a two-player game in which one player can take a costly action (i.e., to provide a favor) that is benefcial to the other. The game is infnitely repeated and each player is equally likely to be the one who can provide the favor in each period. In this context, equality matching is defned as a strategy in which each player counts the number of times she has given in excess of received and she gives if and only if this number has not reached an upper bound. We show that the equality matching strategy is simple, self-enforcing, symmetric, and irreducible. Furthermore, we show that the utility for each player is at least as high under equality matching as under any other simple, self-enforcing, symmetric, and irreducible strategy of the same complexity. Thus, we rationalize equality matching as being an effcient way to achieve those properties. This result is applied to risk sharing in village economies and used to rationalize the observed correlations between individual consumption and individual income and between present and past transfers across individuals.