Skip to main content


Contract: JBETHERC20SplitsPayer

Split an amount between all splits.


function _payToSplits(
uint256 _splitsProjectId,
uint256 _splitsDomain,
uint256 _splitsGroup,
address _token,
uint256 _amount,
uint256 _decimals,
address _defaultBeneficiary
) internal virtual returns (uint256 leftoverAmount) { ... }
  • Arguments:
    • _splitsProjectId is the ID of the project to which the splits belong.
    • _splitsDomain is the splits domain to which the group belongs.
    • _splitsGroup is the splits group to pay.
    • _token is the token the amonut being split is in.
    • _amount is the amount of tokens being split, as a fixed point number. If the _token is ETH, this is ignored and msg.value is used in its place.
    • _decimals is the number of decimals in the _amount fixed point number.
    • _defaultBeneficiary is the address that will benefit from any non-specified beneficiaries in splits.
  • The function is private to this contract.
  • The function returns the amount leftover after all splits were paid.


  1. Pay the splits of the specified project, domain, and group.

    // Pay the splits.
    leftoverAmount = _payTo(
    splitsStore.splitsOf(_splitsProjectId, _splitsDomain, _splitsGroup),

    Internal references:

    External references:

  2. Emit a DistributeToSplitGroup event with the relevant parameters.

    emit DistributeToSplitGroup(_splitsProjectId, _splitsDomain, _splitsGroup, msg.sender);

    Event references: