Skip to main content

Payment Splitter

The smart contract template to split all payments between a list of users with a defined share for each of them. The sender is not aware that the payment is split. The contract handles the split in a transparent manner.

You can split the payment equally or in any proportion. You assign a number of shares to each account. For every amount the contract address receives, a proportion can be released to the specified accounts.

Parameters

  • payees: The list of addresses that will receive a split of all the payments.
  • shares: The share that each addresses will get from the payment.

Functions

FunctionInput ParametersDescription
totalSharesNoneReturns the total number of shares hold by all the payees.
totalReleasedNoneReturns the total amount of token that has already been released.
totalReleased(IERC20 token)Returns the total amount of token that has already been released.
shares(address account)Returns the amount of shared that an account have.
released(address account)Returns the amount of tokens that has already been released to a specific account.
released(IERC20 token, address account)Returns the amount of token that has already been released to a specific account.
payee(uint256 index)Returns the nth payee holding a share.
releasable(address account)Returns the amount of tokens that can be released to a specific account.
releasable(IERC20 token, address account)Returns the amount of token that can be released to a specific account.
release(address payable account)Release all available and due tokens to a specific account.
release(IERC20 token, address account)Release all available and due token to a specific account.
  • Parameters
  • Functions