This paper studies economies with indivisible goods and budget-constrained agents with unit-demand who act as both sellers and buyers. In prior literature on the existence of competitive equilibrium, it is assumed the indispensability of money, which in turn implies that budgets constraints are irrelevant. We introduce a new condition, Money Scarcity (MS), that considers agents' budget constraints and ensures the existence of equilibrium. Moreover, an extended version of Gale's top trading cycles algorithm is presented, and it is shown that under MS this mechanism is strategy-proof. Finally, we prove that this mechanism is the unique mechanism that minimizes money transactions at equilibrium.