Skip to main content

Contracts

Overview

The guild uses Splits contracts for vesting and distributing funds to members, based on Protocol Guild architecture.

Contract NameAddress (ENS)Splits appSplits docsPurpose
Vesting Contractdonate.devtoolsguild.eth & vesting.devtoolsguild.ethVesting ContractVestingAccepts ETH/ERC20 donations. Vests linearly over 365 days to the pass-through wallet.
Pass-through Walletpassthrough.devtoolsguild.ethPass-through WalletPass-through WalletPasses tokens to the split contract. Guild multi-sig (owner) can pause or change recipient.
Split Contractsplit.devtoolsguild.ethSplit ContractSplitV2Distributes ETH/ERC20 to guild members per pre-set percentages. Guild multi-sig can update members and shares.
Multi-sigdevtoolsguild.ethN/AN/A4/6 multi-sig. Can pause or change recipient of pass-through wallet. Can update split members & shares.

Vesting contract

Donations to the guild can be made to the Vesting contract at donate.devtoolsguild.eth.

Vesting streams have a 365 day vesting period. The sole beneficiary is the guild pass-through wallet.

The process involves:

  • Donations: ETH & ERC20 token donations are sent to the Vesting contract, where they are held until a vesting stream is initiated.

  • Starting a Vesting Stream: A vesting stream for a specific token is initiated via the startStream function, beginning the linear vesting process over the 365 day vesting period. Anyone can trigger this. Multiple streams can operate simultaneously.

  • Releasing Vested Funds: At any time, anyone can release the vested portion of tokens to the pass through wallet via the releaseStream function. (Note: This must be done per vesting stream.)

Pass-through wallet

Pass-through wallet passes tokens on to the split contract.

The guild multi-sig owns the wallet and can pause the pass through of tokens or change the pass-through recipient.

Split contract

Split contract distributes ETH & ERC20 tokens to guild members according to pre-set percentages. Funds are held in the Split's balance until distribute function is called.

Updating members and percentage share

The members and percentage share can be updated by the guild multi-sig at any time.

Prerequisites

Before updating members or percentage share, it is recommended to:

  1. Release any ongoing vesting streams using the releaseVestingStream function.
  2. Distribute funds via the Splits app to the existing member list.

This ensures that the current members receive their rightful share of the funds. Once the distribution is completed, the member list can be safely updated.

Multi-sig

Multi-sig [Etherscan] is 4/6. The multi-sig is the owner of the pass-through wallet.
The multi-sig also owns the pass-through wallet and can pause the pass through of tokens or change the pass-through recipient.

ENS

devtoolsguild.eth [ENS] is owned by the guild multi-sig.

Resources