Modules
/
Liquid

Liquid Module

πŸ› 

This module is currently being developed and it not yet in production. You can read more here.

This module uses NFTs to represent ownership in a Split. Recipients are automatically updated according to the percent of NFT Total Supply each Recipient owns. To accomplish this, an NFT contract is the Controller of a Mutable Split. Tokens are sent to the NFT contract, and when released to the Split, the Recipients are updated and tokens are distributed.

How It Works

  • Each Liquid Module has a payable address to which ETH and ERC20 tokens can be sent.
  • Each Liquid Module has a Total Supply of NFTs, where each NFT represents the corresponding percent ownership in the Split. For example: a Total Supply of 50 means each NFT represents 2% ownership in the Split, since 100 / 50 = 2.
  • Tokens sent to the Liquid Module are held until the balance is released to the Split. Two things happen when tokens are released. First, the Split Recipients are updated according to each Recipient's balance (as a percentage) of Total Supply. Second, the tokens sitting in the Liquid Module are sent to the Split and immediately distributed to the Recipients.
        EXTERNAL ACCOUNT/SMART CONTRACT

                       β”‚
                       β”‚
                       β–Ό
NFT Contract──────────────────────────────────┐
β”‚                                             β”‚
β”‚  β”Œ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ┐  β”‚
β”‚                                             β”‚
β”‚  β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”‚  β”‚
β”‚     β”‚  Owner  β”‚ β”‚  Owner  β”‚ β”‚  Owner  β”‚   ●─┼──────────┐
β”‚  β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β”‚  β”‚          β”‚
β”‚                                             β”‚          β”‚
β”‚  β”” ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ β”˜  β”‚          β”‚
β”‚                                             β”‚  Split recipients
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  change according
                       β”‚release funds ────────── to the % of the
0xSplits───────────────┼──────────────────────┐   NFTs they own
β”‚                      β”‚                      β”‚          β”‚
β”‚                      β–Ό                      β”‚          β”‚
β”‚         β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”         β”‚          β”‚
β”‚         β”‚ Split Contract Mutable  β”‚         β”‚          β”‚
β”‚         β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜         β”‚          β”‚
β”‚                      β”‚                      β”‚          β”‚
β”‚                      β”‚                      β”‚          β”‚
β”‚          β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”          β”‚          β”‚
β”‚          β”‚           β”‚           β”‚          β”‚          β”‚
β”‚  β”Œ ─ ─ ─ β”Ό ─ ─ ─ ─ ─ β”Ό ─ ─ ─ ─ ─ β”Ό ─ ─ ─ ┐  β”‚          β”‚
β”‚          β–Ό           β–Ό           β–Ό          β”‚          β”‚
β”‚  β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”‚  β”‚          β”‚
β”‚     β”‚Recipientβ”‚ β”‚Recipientβ”‚ β”‚Recipientβ”‚   β—β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
β”‚  β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β”‚  β”‚
β”‚          β”‚           β”‚           β”‚          β”‚
β”‚  β”” ─ ─ ─ β”Ό ─ ─ ─ ─ ─ β”Ό ─ ─ ─ ─ ─ β”Ό ─ ─ ─ β”˜  β”‚
β”‚          β”‚           β”‚           β”‚          β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
           β”‚           β”‚           β”‚
           β–Ό           β–Ό           β–Ό

        EOA/SC      EOA/SC      EOA/SC

Notes

  • Tokens should only be sent to the Liquid Module's address, not the Split directly. There is no guarantee that tokens sent to the Split directly will be distributed among current NFT holders. This is because the Liquid Module calls updateAndDistribute on when transfering tokens to the Split, which ensures the Recipients accurately reflect current NFT holders prior to each distribution.
  • A higher Total Supply means higher distribution costs, since on each distribution the Liquid Module looks for all accounts holding at least 1 NFT and then updates the Split accordingly. Given Split Recipients shouldn't exceed ~500 in aggregate, Total Supply should not be meaningfully higher (unless you expect a fairly concentrated distribution of NFTs). If the number of NFT holders exceeds the maximum number of Recipients in a Split (~500), tokens sitting in the Liquid Module will be locked until the number of NFT holders falls below that threshold. See Gas Estimates to understand expected distribution costs.
  • Total Supply must be greater than 1.