When heterogeneous congestion control protocols that react to different pricing signals share the same network, the resulting equilibrium may no longer be interpreted as a solution to the standard utility maximization problem. We prove the existence of equilibrium in general multi-protocol networks under mild assumptions. For almost all networks, the equilibria are locally unique, and finite and odd in number. They cannot all be locally stable unless it is globally unique. Finally, we show that if the price mapping functions that map link prices to effective prices observed by the sources are similar, then global uniqueness is guaranteed.