We model a bipartite network in which links connect agents with public goods. Agents play a voluntary contribution game in which they decide how much to contribute to each public good they are connected to. We show that the problem of finding a Nash equilibrium can be posed as a non-linear complementarity one. The existence of an equilibrium point is established for a wide class of individual preferences. We then find a simple sufficient condition, on network structure only, that guarantees the uniqueness of the equilibria, and provide an easy procedure for building networks that respects this condition.