Core Concepts

Core Concepts


A Split is a smart contract that receives and distributes ETH and ERC20 tokens. Each Split has an address to which tokens can be sent; a set of Recipients with corresponding ownership percentages; a list of balances for each token it's received; a distributor fee that incentivizes distributions; and a controlling address if it's a Mutable Split.


A Recipient is any Ethereum account (externally owned or smart contract) that earns a portion of the Split's income. A Recipient may be any valid Ethereum address, including other Splits. Recipients do not need direct control of the account, since funds can be withdrawn for the Recipient by a third party.


Each Split has a balance that increases whenever tokens are received. This balance must be distributed before it can be withdrawn by the Recipients. Each balance is token-specific, meaning a Split may have multiple balances. For example, if a Split has received both ETH and DAI, each balance would need to be distributed separately.

Distributor Fee

The ditributoe fee is the portion of a Split's balance that's earned in exchange for distributing the balance. This fee incentivizes third parties to pay the gas needed to distribute a Split's balance, since it creates an arbitrage opportunity (when the cost to distribute is lower than the fee multiplied by the balance). This fee also makes the distribution cost borne by Recipients, since it's deducted from the balance. This fee may be set to 0 for manual or progressive distributions.


Accounts with a positive balance can withdraw their funds across all of the Splits they receive from in a single transaction. A third party may withdraw for any account, enabling smart contracts who have no user-controlled private keys to still receive their funds.

Mutable Split

A Mutable Split operates just like a normal Split, with the only difference being that it can be modified in the future. Only the Controller, which is set during Split creation, can modify the Split. The Controller can be any valid address (EOA, multisig, SC with custom logic, etc), and has the ability to modify the Recipients and Distributor Fee, transfer control of the Split to a new Controller, or make the Split immutable (removing the Controller entirely). A Mutable Split can be made immutable, but immutable Splits can never become mutable.