Inspiration

DAOs allow members to autonomously govern an organization. I believe that the DAO organizational structure can be used by traditional web2 platforms to distribute ownership with their users thereby increasing loyalty, supercharging growth, and reducing churn. In addition to the benefits for organizations that choose to distribute ownership via this DAO structure, I believe this can lead to more equitable relationships between users and platforms. In order to realize that vision for organizations I built AutomaTD.

Prior to AutomaTD, in order to distribute tokens automatically when a user takes an action on a platform, the platform would have to sign a transfer of tokens from a single address. This not only represents a highly centralized workflow, but it also represents a security flaw where the developers and entity that controls the platform has full access to the tokens. AutomaTD uses a hybrid smart contract approach powered by chainlink functions to securely distribute tokens in a decentralized and autonomous way.

What it does

AutomaTD is a tool that allows a platform to automatically and securely distribute tokens for actions that users may take on a platform such as referring other users, completing their profile, submitting a review, etc. In the example of a talent marketplace that matches consultants to organizations, AutomaTD could be used to automatically distribute tokens anytime a consultant submits a proposal to an organization. AutomaTD can be used by any web2 company that is interested in incentivizing their users by distributing tokens.

How we built it

AutomaTD is a series of smart contracts that leverage chainlink functions to verify that a user is authorized to earn tokens for a specific action. By using chainlink functions, we can approve issuing the user tokens through a hybrid approach of verifying on-chain as well as off-chain information.

AutomaTD is built using solidity to develop 3 main smart contracts. The first is an Authorizable Vault that holds a balance of tokens to be distributed to the community. The second is a Token Distributor that is permissioned to access the Authorizable Vault and thereby distribute the tokens. The Token Distributor interacts with a Token Mapping contract that contains a mapping of all of the approved actions that can be taken by a user. In addition the Token Distributor leverages chainlink functions to interact with an off-chain prover API that interacts with the web2 platform database to verify platform information such as whether the user is registered, etc.

Challenges we ran into

Since Chainlink Functions is in its beta, our current demo is limited to accounts that are authorized to use the beta. We are excited for the future of the Chainlink Functions platform where we will be able to launch our tool more publicly.

Accomplishments that we're proud of

We are incredibly proud to have worked with the new Chainlink Functions featureset. While we have used vrf and price feeds this was our first interaction with Chainlink Functions.

We are also incredibly proud to be building our tool as a plugin for AragonDAO so that it can be used by the thousands of DAOs currently built on the Aragon platform.

What we learned

We learned an incredible amount about how Chainlink Functions are designed as well as block mechanics, events, and other more technical aspects of how blockchains work.

What's next for AutomaTD

We plan to add a few features to AutomaTD before it is officially launched.

  • Turning the prover API into a ZK prover with an on chain verifier to add to the security and verifiability of the token distribution
  • Fully deploying AutomaTD as a plugin for the Aragon OSx platform so that it can be used in production by the thousands of DAOs operating on Aragon
  • Launching the tool as soon as Chainlink Functions is out of beta!

Built With

Share this project:

Updates