SourceCred ERC-20 Token and/or DAO

SourceCred ERC-20 Token and/or DAO

Status: in progress!

As per this thread this initiative is in progress. @burrrata is exploring what this might look like with an Aragon DAO.



Initiative Description:

Research the feasibility of minting cred and/or Grain on Ethereum. Could be a stand alone ERC-20 contract or an Aragon DAO. The solution will need to allow Cred and/or Grain to be minted and burned in order to facilitate moving tokens from the off-chain Credsperiment to the on-chain contracts and vice versa. Eventually it would be great if this process were automated and/or we could run it fully on-chain, but this initial initiative will explore simply minting an ERC-20 token that allows SourceCred members to exchange Grain for DAI without burdening @protocol or giving a cut to OpenCollective.


Self sovereign custody of Cred/Grain.

Transparency into current and historical cred minting and distributions.

Grain price discovery via Uniswap, Aragon Fundraising, or a manual exchange via the Token Request app.

Implementation plan:

Determine how Cred/Grain is minted/managed today.

Determine how to upgrade that to a transparent and security blockchain mechanism.

Build a prototype.

Build onboarding docs to help the SourceCred community explore the prototype.

Estimated Work (hours):

5 hours research on how is Cred/Grain is managed now and potential solutions to move it on chain and back.

5 hours to build a Rinkeby prototype (if all the components we need are off the shelf).

A few hours to deploy a mainnet DAO and onboard the community.


Rinkeby DAO

  • @burrrata will set up a demo with dummy keys that anyone can interact with. If anyone wants to take control of an account on the DAO @burrrata will provide access.

Ethereum Mainnet DAO:

  • SourceCred Core community members that want to participate (including @decentralion) would need to provide a public Ethereum address for the DAO to mint tokens to. @burrrata can facilitate the deployment and setup of this DAO and then transfer control to TBD and/or Grain weighted voting. @burrrata could also stay on as admin of the DAO to help onboard future users and/or updates.
  • Wait for the Aragon Fundraising and/or Token Request apps to be fully audited or create a Uniswap pool with DAI and Grain.


Inspired by this post by @decentralion

Also inspired by @Beanow’s calling for this comment to be upgraded into a Wiki, prompting the community (or at least @burrrata) to revisit the initiative and adopt it.

Aragon DAOs Overview

CreDAO is a combination of /r/daonuts and SourceCred.


SourceCred and DAOs: a sketch

An ERC20 that to track Grain

This comment by @s_ben


If 10h is what it takes to build an experiment. It may be interesting. However, I think introducing transparent, community controlled, immutable, distributed ledgers and mechanisms is a little early for SourceCred.

SourceCred is currently not stable even on the conceptual level, let alone APIs and formats. I expect a lot of future work in maintaining such a DAO will revolve around dealing with upgrading the system over time to change and introduce concepts, update formats, add plugins, and so on.

So my current inclination is to say, interesting, but long-term?

1 Like

Currently the computation is done in observable notebooks, and the distributions are canoncialized by commiting them to this repository.

I quite agree with @Beanow here. Making mana/grain into a token would enable price discovery and allow new people to buy in to the community. These will be important in the future, but are likely to be distracting in the short term.

Also, I want to experiment with mechanisms where people use mana/grain as part of the SourceCred game. Keeping it an “in-house” quantity will make those integrations lower friction. (In the future, it might be that there is “staked mana” which is available in the system, and “unstaked mana” which is freely transferrable as a token, and users can choose when to stake or unstake it.)

Possibly the first step before making it into an ERC-20 token is to just give people the ability to transfer mana (to other SourceCred community members).

BTW, glad to have the initiative even if we don’t do prioritize it immediately. :slight_smile:

So FTR it would just be the ledger of accounts and balances, but on Ethereum vs GitHub. Since that’s a manual process, the only thing that would change is that you would mint new tokens on a decentralized ledger vs a centralized one. Cred would still be calculated as is, but the entries to the ledger would be made with transactions vs git commits. Cred tokens would be non-transferable. Grain would be transferable. Really quite simple.

If now is not the time, then when? After the cred/grain supply schedule and economics are modeled?

What would be the benefit of staking vs un-staking? (dividends, voting power, etc…)

One of the default workflows I want is things like users boosting with their grain or voting with their grain. It’s really easy to experiment with those experiences when using grain doesn’t require an Ethereum transaction, and we can do it all purely within SourceCred.

Consider that while we are experimenting with the interface, we could make boosting as easy as posting a special message in the Discourse. That’s nice for velocity in testing the idea.

The main benefit of putting it on the blockchain is that you can start selling them to 3rd parties. This is both a blessing and a curse IMO. I don’t think we need to rush to it.

Also just personally, writing secure and robust smart contracts feels a bit like juggling razor blades, so I’d like to hold off on this until we’ve attracted some smart contract experts into the community.

That’s a good point! Makes sense

IMHO the main benefit is transparency and self sovereign custody. Markets are a plus too

I’m not an “expert” in Ethereum contract security, but I am managing the security audit process for 1Hive’s latest project. Essentially you just need to write a reasonably workable contract, create some docs, and hand it off to a security partner. They’ll then show you the tests and processes they ran and how you can fix any bugs they found.

Also, if you’re using an Aragon DAO all the components are already audited (some multiple times), so you get security by default. No need to re-invent the wheel since all Aragon apps are just off the shelf components you can plug into a DAO.

Still not as great for experimentation as Discourd modifications, but just wanted to explain how that process works :slight_smile:

@decentralion this topic needs to be turned into a wiki :smile_cat:


Adding more words so that this is 20 characters. Are you interested in building a SourceCredDAO? :slight_smile:

Thanks :smiley: I’m going around to make sure all current initiatives are correctly formatted, so they show up in the graph soon™.

1 Like

I’m very interested in making Grain into an ERC20 token. It could greatly simplify the process for contributors exchanging Grain for $ if they did it via Dai rather than via bank wires. Will write a post on my thoughts and requirements Soon™

1 Like