Distributing balances

Updated 5 months ago

Funds sent to Splits contracts are held in the contract’s balance until a distribution occurs. When a balance is distributed, each recipient is allocated their share of the balance. You do not need to perform a distribution for each recipient—the balance only needs to be distributed once in order for all recipients to be allocated their share.

For example, if Alice and Bob each receive 50% of a Split and 1 ETH is distributed, both Alice and Bob will each be allocated 0.5 ETH.

Once a balance has been distributed, those funds are permanently allocated to each recipient. There is no way to "claw back" or reroute the funds after distribution. This means that for mutable Splits, it's the recipients at time of distribution that will receive the funds.

After a balance has been distributed, each recipient can withdraw their share. For security, reliability, and composability reasons (more here and here), Splits follows a pull-based payment model. This means recipients must withdraw their balances after distribution.

That said, the distributor may choose to "distribute and withdraw" for recipients, which will combine the distribute and withdraw transactions into one, effectively "pushing" the funds from the contract all the way to the recipients' wallets.

Anyone may distribute

Distributing balances is a permissionless function, meaning anyone can distribute balances for any Split. This means that you do not need to be a recipient in the Split in order to distribute funds.

Automatic distributions

You can automate this distribution step by adding an incentive. This encourages bots and third parties to distribute balances so the recipients don't have to. This article has more information on how this works and when we recommend using it.

Still need help? Reach out in /splits, DM us on Twitter, or join our Discord