A Catalyst to Funding Research — A dive into the architecture of Molecule’s Alpha

Kent Fourie
Molecule Blog
Published in
7 min readSep 12, 2019

We recently announced the release of our first iteration of the Molecule platform, Catalyst, an initiative offering novel funding mechanisms for research projects. By tokenizing a fundraising initiative, each project becomes a tradeable market where users contribute to research in underfunded areas of science and directly invest in the success of the campaign. Unlike existing crowdfunding platforms, Catalyst offers incentive-driven fundraising where backers can potentially earn a return on their contribution.

This article outlines the architecture of our application, delving into how we are leveraging token engineering concepts to benefit the future of health and medicine through funding research.

Background

The Molecule team has been experimenting with token economic designs for the past year, focusing on Curation Markets, and specifically, Bonded Curve Markets, as thought leaders and community organizers driving the conversation on these topics. However, we are not married to the concept that all markets on Molecule will run via bonding curves. Many may initially use more simple tokenized market structures. We believe that they represent an extremely important primitive to enable liquidity in new asset classes, especially early-stage drug development where price discovery and curation are difficult.

Visualization of the development progress of Molecule Catalyst.

Through regular engagement with the community, we have gathered immense insights into the many possible applications that exist, as well as conducting further experiments and simulations in cadCAD to test our assumptions.

cadCAD is a Python library that assists in the processes of designing, testing and validating complex systems through simulation. At its core, cadCAD is a differential games engine that supports parameter sweeping and Monte Carlo analyses and can be easily integrated with other scientific computing Python modules and data science workflows. https://github.com/BlockScience/cadCAD

For some background on these concepts or if you need a refresher, you can read through a few of our previous articles here.

Shifting Incentives in Research Funding

On Catalyst, a research project is an initiative that is looking for small to medium amounts of funding ranging from a few thousand to a hundred thousand dollars.

A funding campaign consists of the following:

  1. A project lead who creates and uploads the needed information for the project. This information includes a description, an abstract of the project, the collaborators working with the project lead, and each phase of the project research.
  2. Each phase has a specific funding goal and timeline, and a specific research outcome which the funding is to be used for. This is done to allow funding campaigns to withdraw portions of the needed budget, instead of waiting for the full amount to be reached.
  3. When a funding goal is reached within the allocated time, the project lead can withdraw the funds.
  4. After each phase of funding, the project lead has the opportunity to update their project on Catalyst with the latest research and findings acquired through funds withdrawn.

If the funding goal of a phase is not met within the deadline, all funds received are distributed back to the backers — users that have chosen to support the project with a donation.

A user supports a project very much the same way they would support a crowdfunding project, with a few key differences:

  • Backers do not receive a physical reward like in a Kickstarter campaign on the completion of funding.
  • They are not required to back a project with predetermined amounts.
  • They can burn their token stake in the market at any point for the corresponding USD collateral.

Every amount donated is taxed on donation, and it is this contribution tax that is stored separately from the rest of the collateral sent as a donation. This collateral (not including the tax) is held within a market which issues tokens that represent the backers’ collateral stake within the market. If there have been donations after a user’s initial donation, they have the opportunity to burn their tokens (sell these tokens back to the market). These tokens are worth more as the collateral in the market increases. It is this incentive mechanism that drives activity, while not affecting the amount of funding the project has built up at any point, as it is separated from the market collateral.

Architecture

At the core of each research project is a bonding curve smart contract. This is what creates the market and distributes tokens for each research initiative. It is an automatic market maker that mints tokens along a predefined price curve in exchange for collateral. This is used to create a liquid market, removing the dependence on users posting buy and sell orders. The price curve incentivizes early contribution, as this is one way to profit from an active market.

Contract Architecture showing the creation of a Research Funding Market.

The entities included in the architecture are as follows:

  1. A Market Registry, which stores the bonding curves and vaults parameters that are deployed.
  2. A Market Factory, which deploys the market and vault pair.
  3. A Bonding Curve Contract, which holds the price and token distribution functionality.
  4. A Vault, which holds the contribution taxes from market mint interactions.

A Catalyst research project is a pair of contracts, the bonding curve contract, and a funding vault. This pair is deployed and controlled by the market factory, a master contract that registers each market pair and the owner addresses (project lead’s address) which can interact with the vault functionality.

In Catalyst’s case, each market trades in Dai, a dollar-pegged ERC20 token, as it offers the stability needed and assurance that funding goals would not be affected by price volatility. Each research project distributes a unique ERC20 token that represents backers’ contributions to the market, proportional to their entrance price.

The bonding curve contract is instantiated with a predetermined curve type and donation tax amount. When a user sends an amount of Dai to this contract, the donation tax is applied and this tax is sent to the vault. The remaining collateral (after tax) is then given to the price curve function, to determine how many project ERC20s the collateral is worth. These tokens are then sent to the backer, and represent how much collateral they have contributed (weighted proportionally to the total collateral donated). If these tokens are sent back to the bonding curve contract, they are burned and the price of the token decreases along the price curve, resulting in the burned tokens represented collateral being sent back to the sender in Dai.

The vault stores each funding phase’s funding goal amount and time within which this phase is required to be completed. Funding can be withdrawn once a phase goal amount has been reached, which is done by the project lead. If a funding phase goal is not met, the collateral within the vault is combined with collateral within the market and is distributed back to the project backers, ending the project and returning all funds to the backers. However, if a project succeeds to acquire all necessary funding for each phase, the vault amounts are withdrawn by the project lead and the collateral within the market is distributed to the backers based on their stake within the market — the tokens which the bonding curve contract has minted them for their donation.

Buying and Withdrawing Funding interaction between a Backer and a Researcher using DAI.

To be able to return donations to the backers, the contract does a flat distribution, calculating the ‘flat’ token value by dividing the collateral by the total token supply. Each backer is then returned their token number multiplied by this flat token value, which gives each token holder the same value per token. In this way, backers with more tokens receive back a larger amount of the collateral within the market.

Conclusion

Our goal is to bring a fresh approach to the world of fundraising, bringing traders into a new investment ecosystem that has the positive outcome of funding human knowledge. Early backers can make a positive return in active markets, and we are exploring various ways to improve these incentives.

Stay tuned for the next upcoming article; the Molecule team will discuss the economic modeling in detail, detailing our simulations using various taxation methods and curve parameters. This will delve deeper into the incentive opportunities for backers, and the rate at which funding for projects can be acquired.

You can read the first article of the series here: An introduction to molecule catalyst.

Connect with us

  • Gitlab: Follow the application progress
  • Telegram: Direct pipeline to the team
  • Twitter: Follow our updates
  • Email: Reach out with any questions

--

--

Kent Fourie
Molecule Blog

Blockchain-coder-music-synth-guy— CTO at Molecule.to | Linum Labs + Tech Advisor to Protea.io