In this paper, the authors consider a network-coded cooperative wireless network, where users mutually pair among themselves to realize network coding. They assume a multi-user environment, where users transmit to a common destination in the absence of dedicated relaying nodes. They address the important problem of the mutual pairing of users, which directly governs the overall network performance. An optimal user pairing algorithm is proposed and tailored to maximize the network capacity. Next, they develop heuristic user pairing schemes, which demonstrate near-optimal performance at significantly reduced computational complexity.