Update: Aragon Fundraising is now live on Ethereum mainnet and Rinkeby testnet. Try it out: https://app.aragon.org
Aragon Fundraising, previously called Apiary, is an app built on top of Aragon, providing Aragon users an easy way to raise funds through an emergent organization. It has been developed by the Aragon Black team and will be available on the Ethereum mainnet by the end of 2019.
This innovative model distinguishes itself by leveraging aragonOS’s apps ecosystem and permissions system, a batched bonding curve implementation that incentivizes “skin in the game” and curation with multiple collateral token support, novel measures preventing front-running, and a tap mechanism that sustains the underlying project while safeguarding the majority of funds from depletion.
Splitting funds into reserve and discretionary pools provides smart contract-enforced accountability between project contributors and patrons throughout the lifecycle of a project while simultaneously ensuring sufficient liquidity to support the emergence of a long-tail of organizations.
Architecture The Aragon Fundraising app architecture is based upon Vitalik Buterin’s description of a Decentralized Autonomous Initial Coin Offering (aka DAICO) and Luke Duncan’s seminal research about emergent organizations.
The cornerstone of this application is a bonding curve smart contract: an automated-market maker where any user can deposit collateral in exchange for an organization-specific token. This market maker accepts both ETH and / or any ERC20 as a collateral. However, our first released default template will be set to accept DAI and ANT only (for a curve behavior that’s as intuitively readable as possible) although customization will be available at a granular level through the use of the aragonCLI.
The collaterals deposited along the curve are automatically transferred into a reserve pool. However, the funds held in this reserve pool cannot be spent directly. A tap mechanism controls the percent of this reserve that can be withdrawn in a given time period to a discretionary vault to encourage a reasonable use of the funds. Token holders of the organization can then vote to allocate funds held by the discretionary vault and fund the tasks their project encompasses.
Sensitive actions such as raising the tap are permissioned so that changes require consent of the patrons. There is even a patrons-controlled 30 day buffer for raising tap percentages in case a conflict arises. Setting a continuously updatable tap for raised funds instead of a lump sum transfer provides accountability and alignment of interests between different parties related to the curve (founders, contributors, stakers, wider community, etc.). The Fundraising app thus enables exploration, curation, and staking into networks that are allocating and producing value as Decentralized Autonomous Organizations (DAOs).
Modularity The Aragon Fundraising app has been designed to be as modular as possible. Market-making, token management, withdrawal of funds and control of these funds are enforced by different contracts wired to each other through aragonOS’s ACL system. This architecture allows projects to fine-tune their emergent organization’s governance model and developers to build upon our library to develop additional fundraising modules. We already intend to extend our libraries with some modulation of incentive structures and prevention of pump and dump through token locking.
The tap mechanism will also be complemented by different discreet withdrawal methods (actually, a fee system is already implemented in the market-maker contract) bringing organizations one step closer to automation. Beyond our fundraising library, aragonOS’ modular permissions system enables powerful organization designs that can also depart from the simple model exhibited above: you’ll soon be free to connect Aragon Fundraising to That Planning Suite’s project management apps, a pando/git repository, or the upcoming Futarchy app!
Preventing front-running attacks The Aragon Fundraising app addresses the critical issue of front-running in bonding curves and decentralized exchanges, where an adversarial actor (typically a miner) can see a large transaction incoming and spends more gas to fill in a faster order. The bonding curve contract is the first implementation of a batched bonding curve conceived by our own Billy Rennekamp. By batching orders and pricing them at a Common Clearing Price front-running is prevented. As a beneficial side effect mass exits are able to occur at a uniform price.
However this also provides a UX challenge in that only estimations of price can be provided to the user. If the user in question is the only order over a span of blocks the price will be accurate. If there is another order with the same intention the price for both will be the same or a little worse than estimated. If another order with the opposite intention occurs, both prices will be better than the estimated. These discrepancies can be mitigated by providing a constantly updated price estimate based on the most up-to-date data from the chain. This becomes much easier to achieve by implementing a robust caching solution using The Graph protocol.
Coming soon Aragon Fundraising reduces barriers to collaboration. It enables organizations to raise capital while granting contributors a clear set of associated rights and privileges. As a user it makes it easy to join and participate in a decentralized organization, and as an organization it provides a framework for attracting and rewarding contributors.
Fundraising will soon launch on the Rinkeby testnet and, pending completion of security audits, will be released by the end of the year on the Ethereum mainnet. While the upcoming release will be public we will also be supporting a few select projects pre-release.