The problem here is an "infinite" supply of resources. That is, if a player needs cash he can farm monsters.
You can have money sinks and all sorts of creative ways to take money out of the system; but that isn't the issue, the issue is that the scale is unbalanced on the side of money coming in.
So you need to limit it. A few things you could do is only allow players to farm X amount of items/gold in Y time. Or have a decay function. That is, hour 1 a player could earn say 100 gold; but on hour 20 he could only earn 1 gold.
You could put a reset or timers or whatever. The point is to make it dismissing returns.
Another option would be a "tax" either based on level or net worth. So, at level 1 a health potion costs 1 gold; but at level 100 it costs 1000 gold!
Or for ever 100 gold you earn, you need to be X in taxes to the "king".
A third option is to fix the amount of resources. For every player that joins, inject a 100 gold (or the equal worth) into the system, but no more.
The main point is, you don't want infinite input with a fixed output. You need to align then by either A) fixing the input to a fixed amount of B) have the output in align (by percentage, not fixed amount) with the input.