We study a general contracting problem between the principal and a finite set of competitive agents, who perform equivalent changes of measure by controlling the drift of the output process and the compensator of its associated jump measure. In this setting, we generalize the dynamic programming approach developed by Cvitanić et al. (2018) and we also relax their assumptions. We prove that the problem of the principal can be reformulated as a standard stochastic control problem in which she controls the continuation utility (or certainty equivalent) processes of the agents. Our assumptions and conditions on the admissible contracts are minimal to make our approach work. We review part of the literature and give examples on how they are usually satisfied. We also present a smoothness result for the value function of a risk–neutral principal when the agents have exponential utility functions. This leads, under some additional assumptions, to the existence of an optimal contract.