Conviction Voting on Aragon (CF DAO Proposal)

Over the weekend a small group of Aragon contributors got together to hack on an implementation of Conviction Voting at ETHBerlin. Major shoutout to @Paty from Aragon One, @sembrestels From P2PModels, @deam from Aragon Black, and @stellarmagnet from Autark for their help!

Conviction Voting is relatively sophisticated and we were unable to complete the application in the 36 hour hackathon–despite not sleeping much. We did manage to make a lot of progress in the short period of time however.

We created a design in Figma which you can view here. And the repo is here.

I’ve created issues for the remaining tasks at a high level that need to be done to get the application into a working state.

I’m requesting 5000 DAI to continue development, I can’t guarantee that will be sufficient to complete the app, but it should be enough to attract a few contributors to push things forward. Funds will be managed transparently via an Aragon DAO, and we will ask for additional funds as needed.


Insane for one weekend! Will enthusiastically upvote


Vote has been created in the CF DAO (


would it make sense to create a conviction DOT voting? are dot voting and conviction voting compatible?

The short answer is no, they are doing two fairly different things.

With Dot Voting you have a proposal with a set of options to choose from and a specific duration, for that proposal you allocate weight among those options, and effectively create a ranked list as an output.

With conviction voting all options are placed on the table, and individual options can be executed if they reach a conviction threshold, and new proposals can be added at any time. This is a continuous process without a fixed duration.

The conviction voting implementation we are working on is intended specifically for fund allocation, it is not suitable for more general decision making. It’s possibly you could apply it for managing a ranked list in a continuous fashion, and in that case it could potentially be used in similar contexts as Dot Voting, though that is 1) not currently the focus of the conviction voting app 2) still not a drop in replacement because Dot Voting is a discrete, time-boxed process and not a continuous one.

thank you I got it now.
I like this design the most cause I don’t understand why the vault balance is important to show

Is it possible to create a DAO with a token which you can be staked and based on time staked formula you get an amount of tokens you can use for conviction, dot and normal voting. The better you vote the more tokens you can earn but you can never drop below the amount of voting tokens based on the time-staked formula.

The reason the vault balance is important is because the threshold for passing proposals is dynamic based on the funds that are available in the vault.

The threshold is indicated by the dotted line in the progress bar, and that will adjust based on the level of funds available. You can think of each proposal has having a request amount (eg 750 DAI), and the threshold to pass that is a function based on the proportion of the request relative to the Vault’s balance. So if you are requesting 90% of the funds, you will need 100% (or even more) of conviction accumulated to that proposal. (Note that a conviction requirement of more than 100% would be impossible to pass until more funds get added to the vault).

It may make sense to make a separate thread for that topic, I think something like that could be interesting, but its a bit unclear to me exactly what that would entail. Perhaps some sort of deposit app which accepts tokens and locks them for a certain period, and depending on the period locked the user gets a variable amount of tokens that can be used in the org in return.

Its just so the voting is more fun and people who vote good / correct / same like most get rewarded for their sense what the people want. the better your sense the more voting power / tokens you get the more influence you have. It would be as you said just a contract where you can lock your tokens and then get Vtokens in return which will be calculated based on the time you locked your tokens. the longer you lock the more tokens you get but you can never loose more then this calculated token amount but you can loose tokens if you have more then this.

so its about asking the people how much money from the vault should be allocated to certain proposals. In this case I would prefer this design:

and if 100% vote that 100% of the funds should go to this proposal than all funds move from the vault to a smart contract DAICO or what kind of proposals are allowed would it be possible to create a proposal as a team for developing the stuff i propose?

To confirm you are saying like like having the vault balances listed? (it seems like maybe you edit the top tabs, but not sure that’s relevant to the vault stuff?).

There is some parameterization such that you can specify what the minimum request amount is and what the maximum request amount (both relative to current vault balance) are, but essentially yes if a proposal has enough conviction then it will be executed and move funds out of the vault.

The proposals are simply a transfer of funds out of the vault to an address, this address could be to to another organizations vault, or to an EOA. The conviction voting app doesn’t make any specific distinction on the recipient addresses.

yes i created a design which i like. the vault is important to show as you said so people know because the convert % into numbers is difficult

and i was thinking why not put all vote apps into one so its not such a mess (my impression)

I think it would be interesting to aggregate “voting” apps/instances into a single view when they have the same interface… but I don’t know about combining something like conviction voting with the standard voting app or the dot voting (since they don’t really have the same inputs/outputs).

Its also currently a limitation of AragonOS/AragonJS that there is a one-to-one relationship between an app’s frontend and associated contracts, so implementing something like would be non-trivial. That’s not to say its not something that shouldnt be pursued, but its probably important to make the case for changes to aragonJS to support that sort of thing.

Definitely not something that I would want to tackle (or even discuss) in the context of implementing a conviction voting app.

1 Like

yes i know thats why you have different taps for different kind of votes (dot, conviction, binary) and in the all tap where you see every vote they all shown but when you click on it you jump to the correct UI for the correct input/output

perhaps its possible to create a separate web app which link them in one UI?

Not quite what we are going for with Apiary but there is some similarity, you may be interested: Daolist is now Apiary, an Aragon DAO Explorer

The goal is to provide a more user centric experience, where users can subscribe to organizations and eventually have a “activity feed” view which shows all of the activities across all the orgs they are interested in one place. So you can imagine a vote showing up there and allowing them to either click into the specific voting app and vote (using the deeplinking feature in 0.8), or perhaps in the future vote directly from that feed using something like what is proposed here: Aragon Button: Interact with DAOs everywhere

1 Like

hey @lkngtn !!! it is exiting indeed to see the work done during ETH Berlin can (and will) move forward!

My question about this (and also related to the Apiary request is why do you see this to be in the scope of the CFDAO and not other funding mechanism?

I would only see fit in the scope is if the developers to be paid for this job are community members (properly skilled ofc) and not the usual flock/nest developers??

Could you clarify wich one is the case??

also… How is the Aragon DAO you mentioned formed? Not sure if there is a bad connection to the Ethereum network right now from my side, but I can see no token holders in the linked DAO.

I tend to agree, not because the developers are part of flock/nest teams (they are also community members) nor because these efforts shouldn’t be funded, they most definitely should. I feel there should be another DAO that funds this kind of endeavours.

While this may be slightly out of the scope of CFDAO, this is the only other option. This is way out of scope for nest

I don’t think to be a member of an existing team should preclude someone for applying for funding, in fact, these community contributors are best placed to work on this kind of experimental, low-cost projects as they already understand the stack really well.

It’s worth pointing out that just because someone works for a team, it doesn’t mean that team has the bandwidth to carry out these ideas. Also, these team’s are funded on their road maps. These projects will fall outside that scope

The CFDAO has been a real success and in lew of a better option, this and apiary should be approved

1 Like

I’m not talking about precluding flock guys, but about including and encouraging dev community members to work and gain knowledge and experience on the Aragon tech stack.

I do agree, and if we manage to use this to attract and train new devs on the Aragon tech, the success would only be increasing! Don’t you think?

1 Like

I totally agree. We need to do more to encourage and develop our community, especially our dev community. @burrrata and I have been working on an AGP that would start to address this, you can find the forum post here.

the purpose of this AGP is more general, it will reward all kinds of contributions not just dev still, I do think we need something like a mini nest program for smaller grants such as this. something that targets developers specifically. The main issue I with using CFDAO for these types of applications is one visibility. A new DAO would make focused on this activity would have a clear scope and be much easier to promote


I know this already passed, but I think that @sepu85 question is worth discussing further…

As far as I’m aware the scope of the “CFDAO” or AGP-10 DAO is defined in AGP-10, which states:

The purpose of the Bounty DAO is to fund low-cost, low-risk bounties that are proposed and voted on by ANT holders.

I think both this and the Apiary proposal fit reasonably well within that scope.

I work for Aragon One, and created this proposal, but this project is NOT an Aragon One related project. While some of the initial work done at EthBerlin was done by members of other flock teams (thanks), there is not any expectation that those members will continue contributing beyond the hackathon. But even if they do, I think it is healthy to support projects which encourage collaboration between flock team members and the wider community.

I would like to see conviction voting implemented as an aragon app, but it is not currently part of any flock or nest teams roadmap.

I’m requesting 5000 DAI to continue development, I can’t guarantee that will be sufficient to complete the app, but it should be enough to attract a few contributors to push things forward. Funds will be managed transparently via an Aragon DAO , and we will ask for additional funds as needed.

The funds were sent to the Conviction org, with current members being myself and @sembrestels – We intend to direct the funds towards the further development of the conviction voting app that was started at EthBerlin, as described in the proposal.

I consider the project to be under the 1Hive umbrella, because I think that it is an interesting mechanism that might help further 1Hive’s goal of helping improve funding for open source projects, and 1Hive members have previously expressed interest in working on conviction voting.

Many of 1Hive’s members/contributors are currently engaged in a Nest grant, but the scope of that grant has clear deliverables, we can’t simply take the funds in that grant and direct them to other projects that we are interested in like conviction voting, the approach we have taken so far is to segment funds that have been received for specific deliverables (like dandelion, apiary, and conviction voting) into independent orgs with membership and custody of those funds managed by the subset of members actively involved in that project.

The main 1Hive org exists and operates as a DAO on rinkeby, – it is an independent and community driven organization that has not received any funding from Aragon (because all CFDAO/Nest funds have been directed to specific projects/initiatives and not to the 1Hive DAO itself).

Currently there are 4 possible ways to request funding from the Aragon Association / Aragon Network – AGP10/CFDAO, AGPs, Nest, and Flock. Both Nest and Flock have fairly strict requirements and have minimum requirements in terms of scope. The AGP process is more open ended, but it has been made clear that it is not acceptable to request funds or grants to develop software projects outside of flock or nest. This leaves only the CFDAO if you are interested in working on a development project that doesn’t fit into the Nest/Flock program.

I would love to see more experimentation and AGP proposals to provide alternatives, I would even support simply increasing the budget for the CFDAO if we start to see it utilized more by the community. I personally felt that the CFDAO was being underutilized and warranted more attention from the community and this is one of the reasons I chose to create these two recent proposals.