# MochiMol > MolochV2 on BentoBox Moloch is a simple framework for club-style DAOs. Despite it's edgy name, it actually draws from a philosophical piece, Meditations on Moloch, which tries to address the "God of Coordination Failures" that plagues fruitful cooperation. The smart contract does a couple things very well. It filters membership by requiring potential DAO members to be sponsored by an existing member (thus, 'club-style'). The default assumption is also that everyone has 'skin in the game' by making tribute to the DAO 'guild bank' -- Molochs escrow this tribute, which is returned to the proposer in the event that their proposal fails. Further, there is strong protection of minority and exit rights, through a 'ragequit' option that allows members to burn their ownership for a fair share of the guild bank capital. A more thorough description of MolochV2, which has been fairly well tested and is understood by many DAOists can be found [here](https://github.com/MolochVentures/moloch). ## Moloch meets BentoBox `MochiMol` is an extension to MolochV2 that, by default, places guild bank deposits into BentoBox, a vault that powers SushiSwap apps. This allows a DAO to continuously earn yield on its treasury, through BentoBox strategies (live on Polygon via Aave) and flash-lending. Similarly, tribute escrows don't sit idle, so the opportunity cost of making proposals is lessened. `MochiMol` also includes some additional optimizations to improve DAO UX: - Automated wrapping of ETH (or the native chain asset). - Instant deploy of a Minion (here, called `SuChef`) on summoning, which is an external contract that hold earmarked funds and executes actions against other contracts. - Support for multiple DAO summoners, including specific allocations of shares and loot. - Automated approval flow via BentoBox - if a user approves the MochiMol 'Master' contract, they have similarly approved its clones, therefore simplifying tribute and other interactions with DAOs to 1 TX if making a direct transfer from their BentoBox account. - Create2 deployment via BentoBox - if a DAO has deployment data that would match across chains, their DAO will also have an identical address, simplifying coordination in cross-chain interactions. In terms of differences in the contract code, `MochiMol` uses an `init()` function that takes bytes data to serve the following parameters: ![](https://i.imgur.com/k3FBv5j.png) This is done to conform to the BentoBox factory function (`deploy()`), which is the recommended way to deploy `MochiMol` DAOs. ![](https://i.imgur.com/xHEqpZN.png) Further, the `submitProposal()` function is payable -- in the event value is attached (say, ETH or MATIC), wrapping and deposit into BentoBox will take place for tribute. An extra param is also included in this function, `wrapBento`, which signals whether the user wants to have tokens taken from their account and deposited into BentoBox, or, in the alternative (i.e., if "false"), they are making a direct transfer from their BentoBox account. ## Alpha Deployments `MochiMol` is in alpha on Polygon to demonstrate the benefits of BentoBox to DAO treasuries. Master Contract: [`0xb24D70675ca178392002781D0332DF2FE0d836c2`](https://polygonscan.com/address/0xb24d70675ca178392002781d0332df2fe0d836c2#code) Demo DAO: [`0xb4dB3D1c51B60E63A493394a5b76F5Cf7a2d50BE`](https://polygonscan.com/address/0xb4db3d1c51b60e63a493394a5b76f5cf7a2d50be#code) SuChef Summoner: [`0x3130Bf7c433C2b25b3E30882FDd22E885CD6A56e`](https://polygonscan.com/address/0x3130bf7c433c2b25b3e30882fdd22e885cd6a56e#code) BentoBox: [`0x0319000133d3AdA02600f0875d2cf03D442C3367`](https://polygonscan.com/address/0x0319000133d3ada02600f0875d2cf03d442c3367#code)