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™


Update: Aragon Fundraising is now live!

Created a demo org to play around with. It’s set up so that both the bonding curve and TBD voting has the ability to mint GRN (Grain) tokens. This way if someone wants to cash out TBD can just mint them tokens and they can redeem them against the bonding curve. Also, if anyone else wants to buy Grain they are more than welcome to. The DAO is called SlipperySlope because the slippage factor on the bonding curve is removed - thus creating large amounts of slippage for large orders. If you want, however, you can set it such that the size of orders is constricted by a slippage window.

Anyways, happy to explain all that and more anytime. Also happy to host a call where I set up a new one from scratch to show you guys how everything works :slight_smile:

I would be supportive of working on SourceCred Dao as an Aragon DAO. This will offload a lot of the burden of writing secure smart contracts but it doesn’t offload the design of healthy institutional dynamics. Frankly, I think the “juggling razorblades” nature of writing secure smart contracts has largely forced the space to be dominated by the technical skills required to accomplish that feat, which are unfortunately often anti-correlated with the skills required for another kind of razor-blade juggling, design of institutions, which is inherently political economics.

I would argue that this thread merges with (and extends) this one:

The onus is on us to define a minimum viable institution, and then simply look to the smart contracts/tokens/bonding-curves/etc as tools automating the infrastructure of that institution.

In addition to the work on Fundraising by the Aragon Black team, I am also a big fan of the work underway by the 1hive team. Admittedly I am biased, they are working on a conviction voting implementation which is an algorithm i designed for shifting away from time boxed voting on proposals and moving towards something more like an accumulation of potential energy whereby proposals pass if and only if they surpass a particular activation energy.

The Aragon community is doing a lot of great things to provide infrastructure for a new breed of bottom-up opt-in institutions but I think as a community aiming to use these infrastructures we have a lot to learn about institutional economics.

Some recommended reading on Institutional Economics and Blockchain here:


Yup! Totally agree. That’s the goal.

Fun fact, a DAO template that combines Aragon Fundraising with Conviction Voting is being explored! The key word here is exploration, but the nice thing about Aragon DAOs is that they’re modular and upgrade-able. This way you can mix and match mechanisms to (often) get a DAO design that does exactly what you want :slight_smile:

Also related is CreDAO (SourceCred + Aragon DAOs), which could create a nice synergy between earning Cred and minting tokens on the Aragon DAO. Since Aragon is a modular platform this could be combined with the Aragon Fundraising bonding curve mechanism being explored in this Initiative as well. Could be great for SourceCred, MetaGame, Aragon, and lots of other people too. Then there would be an end-to-end system that allows people to earn reputation and rewards for contributions, claim those rewards on Ethereum, all while also allowing people to contribute to the project by buying Grain on Ethereum too.

Did you write the post on reqs?™ :slight_smile: I’m very interested in using our native ERC-20 token ($OCEAN) vs. Dai/ETH. It’s even more skin in the game for contributors since their grains are ultimately backed by an asset that they have (in-)direct influence over …


Just reviewed the Aragon Fundraising contracts and while this functionality is not exposed via the UI, the contracts permit it - so technically this is totally possible. Depending on how far we get with the AraCred demo we may or may not be able to try this out on Thursday! :slight_smile: