# Clowder Whitepaper v0.1

By [Clowder.club](https://paragraph.com/@clowder-club) · 2023-08-09

---

**Overview:**

![Overview of Clowder](https://storage.googleapis.com/papyrus_images/98945d1cb42448072757acd74e28172827795b5662ed8d2b2eecd113f32ae213.png)

Overview of Clowder

### Details of each step:

1.  Users approve their wETH to be spent on Clowder, then they sign as many contributions as they want using EIP712 which means it’s a gasless operation.
    
    More details on what is signed: See [struct BuyOrderV1](https://etherscan.io/address/0x6f6faa6ffc43d8d4ed140f3809a38d4773d35aa6#code#F39#L13).
    
2.  [The Clowder bot](https://etherscan.io/address/0x6f6faa6ffc43d8d4ed140f3809a38d4773d35aa6) executes the purchase transaction validating the signatures against the ClowderMain contract.
    
3.  An ERC20 token and a vault are created. The NFT bought is put inside the vault. The ERC20 token is distributed to the contributors proportionally to their contributions. This is all handled in the [TraderClowderDelegate](https://etherscan.io/address/0x06eb6e36b8fe7b7f850bd3441b15046be6e85964#code) contract which is instantiated for each new group of contributors.
    
    The vault can receive any asset: ERC721, ERC1155, ERC20 and ETH. This may be useful for receiving airdrops or any kind of assets in the vault.
    
    The ERC20 token can be freely transferred and it represents dividends rights and voting rights over the assets of the vault.
    
4.  The token holders can vote using EIP712 to:
    
    **a. Set a listing price**. (for more details see [struct SellOrderV1](https://etherscan.io/address/0x17b50399918383edf842deca072430684ec1f9e7#code#F1#L16))
    
    The NFT can be listed (see [listOnSeaport](https://etherscan.io/address/0x06eb6e36b8fe7b7f850bd3441b15046be6e85964#code#F1#L166)) once either:
    
    \-- The sale price has more than 50% agreement and the sale price is above            the Oracle Price.
    
    \-- Or the sale price has 100% agreement, doesn’t matter what the sale price is.
    
    For more details see [validatePriceConsensus](https://etherscan.io/address/0x06eb6e36b8fe7b7f850bd3441b15046be6e85964#code#F1#L274).
    
    **b. Transfer assets out of the vault**. (for more details see [struct TransferOrderV1](https://etherscan.io/address/0x203d231e2e7c0380971d58c4bf37e5ac7f6b9d8c#code#F1#L25))
    
    \-- The asset is transferred out once the transfer operation has 100% agreement. (see [transferAsset](https://etherscan.io/address/0x06eb6e36b8fe7b7f850bd3441b15046be6e85964#code#F1#L213)).
    
    \-- It supports transferring the entirety of the vault’s ETH, the entirety of an ERC20 or ERC1155 balance or an ERC721.
    
    **Note**: the signatures are reusable, it means once approved a transfer operation said operation can be executed many times until they expire or are cancelled.
    
    At any point in time anyone can call [distributeFunds](https://etherscan.io/address/0x06eb6e36b8fe7b7f850bd3441b15046be6e85964#code#F24#L92). This is used to distribute any ERC20 token or ETH inside the vault proportionally to each token holder at the time.
    

**Source Code:**

[https://github.com/TuMicro/clowder](https://github.com/TuMicro/clowder)

**Contract Addresses:**

\-- [Ethereum: 0x6f6faa6ffc43d8d4ed140f3809a38d4773d35aa6](https://etherscan.io/address/0x6f6faa6ffc43d8d4ed140f3809a38d4773d35aa6)

\-- [Base: 0xa278e763c368ff1eb7a37a3c7300100c1f0c4b38](https://basescan.org/address/0xa278e763c368ff1eb7a37a3c7300100c1f0c4b38)

\-- [Polygon: 0xeA4AfB39d2603722cf402FD7f13ff2C87adD55B7](https://polygonscan.com/address/0xeA4AfB39d2603722cf402FD7f13ff2C87adD55B7)

**Try Clowder at**:

\-- [Ethereum](https://clowder.club/)

\-- [Polygon](https://polygon.clowder.club/)

\-- [Base](https://base.clowder.club/#/main)

---

*Originally published on [Clowder.club](https://paragraph.com/@clowder-club/clowder-whitepaper-v0-1)*
