I read in the DAO source code ( https://github.com/slockit/DAO ) that there are two managedAccounts for rewards called: rewardAccount and DAOrewardAccount.

I see that the first one is to pay to any rewardToken holder and the second one is to pay to other DAOs that also holds rewardTokens.

I would like to know what are the differences of this two accounts? What are the motivation of having this two accounts? In what situations will be used one and in what situations will be used the other?


After studying the code, I wrote this post about the DAO accounting. I just put the link here for reference:

Understanding the DAO accounting



The DAO Token Holder (DTH) will always have claim to the Reward tokens that back their DAO tokens. Reward tokens are a special type of token. They can only be transferred in the case of DAO Splits, so effectively they can only ever be owned by a DAO. And the DAO Token Holders of that DAO can retrieve their fair share of the rewards as they desire in every event split or no split: the people that deserve the rewards will always have access to them.


The actual mechanics are not simple! There were a lot of attacks that our community helped us spot so we had to add complications to ensure that all the incentives are aligned with everyone's mutual best interest in every situation! This resulted in extra Reward accounts.

Every DAO has two reward accounts (note, we need better names for these):

  1. The Main Reward Account (rewardAccount) that receives the rewards as designed in the Proposal's Smart contract

  2. The DTH's Reward Account (DAOrewardAccount) that each individual DAO owns completely. Each DAO's DTHs can pull their rewards from this account as they wish.

So for the Slock.it Proposal, it will go like this: The Slocks send the DAO% to THE DAO's Main reward account (because THE DAO accepted our proposal), every DAO that has Reward tokens can pull from that Main Reward Account (via a proposal) and either put that ETH directly into their DAO or into the DTH's Reward Account so that DTHs can pull from the DTH's Reward Account as they desire.

In the case you do your own private split, you will own all of the DAO tokens for the new DAO you created, and that new DAO will have it's own DTH's Reward Account (for you to get the ETH you earned by supporting good proposals) and its own Main Reward Account (that will probably not matter if you never fund any cool proposals). So when you want your Rewards, you will have to create a Proposal to retrieve your portion of the ETH in THE DAO's Main Reward Account and send it to the DTH's Reward Account. Then you can call a function called getMyReward() that will allow you to send those rewards to the ETH account that holds the DAO tokens.

From there that ETH can be sent anywhere you wish!

If there is something that is confusing tell me! I will try to clarify!

  • Can we say that the money deposited in DAOrewardAccount is distributed proportionally to the rewardTokens while the money in rewardAccount is distributed acording to regular Tokens?
    – jbaylina
    May 3 '16 at 18:59

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.