Many ERC20 "utility tokens" have been criticized for not being technically required for the DApp to function properly because ETH could easily be used instead.

What exactly makes Augur one of those rare cases where the utility token, REP is technically required to make Augur function as intended?


The two primary questions you should ask anytime you evaluate whether a token is necessary depends on the answer to both of these questions:

  1. Would the system function the same or better without a token at all.
  2. Would the system function the same or better with any other token (e.g., ETH).

For REP, the answer to the first question (can we just remove the token) the answer is no because the system needs a mechanism for rewarding people who behave in line with desired outcomes and are punished for behaving out of line with desired outcomes. In Augur, the desired outcome is that the reporter tells the truth during reporting and the undesirable outcome is that they lie during reporting. The token provides a mechanism such that users can put resources into escrow that they will get back later if they behave appropriately. Without a token, the system would become susceptible to Sybil attacks as reporters could just create a bunch of accounts and report and we would have no way to punish them.

The answer to the second is more complicated, but in almost all cases tokens associated with projects fail to meet this criteria. That is, you could just replace the token with ETH and the system would be better because there would be less friction since users presumably already have ETH to pay gas costs.

The thing about ETH (or any other token not tightly coupled with the dApp) is that a dApp cannot create it, nor can it control how it is used. With a dApp token, the dApp has the ability to create more of that token as necessary or constrain how that token is used. For Augur this is critical to the security model because we need a mechanism for rewarding good behavior and punishing bad behavior in some situations where there is not necessarily symmetry between good actors and bad actors. In particular, during the Forking process we need a way to encourage people to participate in the fork vote by taking some action. However, due to the nature of how the Oracle works we don't actually know who is lying and who is telling the truth, all we know is that people are making different choices. This means we can't take REP away from the liars and give it to the truth tellers. Instead, we create REP (out of thin air) in each universe that branches off of the fork, thereby increasing the total supply of rep across all universes. If we were to use ETH, this would not be possible.

This leads into the second part, ETH cannot be constrained. When a fork occurs and multiple universes spin up (each with a different definition of what is true) the system doesn't know which one is "right" and which is "wrong", it is all subjective from the point of view of the contracts. However, we want people to feel the impact of their decisions so when a fork occurs we create new REP tokens for each universe. When users move their tokens to a universe they believe in, those tokens now only work in that universe. If someone chooses to move their tokens to a universe that no one else wants to be a part of, then the value of their REP decreases to 0 because no one wants their crappy Universe XYZ REP. Everyone wants Universe ABC REP. If we were to use ETH as the token we couldn't constrain how it is used. People would be free to migrate their ETH to either universe and if it turns out they chose wrong and migrated their ETH to a universe no one wanted to play in, they could simply withdraw their ETH and deposit it in the other universe.

So, based on the above analysis, Augur both needs a token at all and that token cannot be replaced with any other token or ETH. Many dApps don't need a token at all and would work great without a token. Most dApps that do need a token to function would function just fine by replacing their token with ETH or any other token.


The heart of Augur's decentralized oracle is its forking process. The forking process requires the ability to programmatically split/fork whatever token is used to pay the reporters into two or more new tokens (one for each possible outcome of the event in question).

That doesn't mean "divide up the existing tokens into two or more piles".

It means creating two or more entirely new currencies (one for each possible outcome of the event in question) and allowing the reporters to decide which of the new currencies they'd like to trade their old tokens for.

Presumably, only one of the new currencies will have any value: the one that corresponds to the true outcome of the event. The rest of the new currencies will continue to exist, but they will not hold any value.

Indeed, during a fork, the act of reporting the outcome of an event is the act of trading the old currency for one of the new ones. That's what a report actually is. It's migrating your hard-earned money into a "universe" where that outcome occurred -- and that universe is the only place your money has value now.

So if you report that "Clinton beat Trump during the 2016 U.S. presidential election" then you've irrevocably migrated your money into a "universe" where that happened, and that money has no value in our universe, where Trump is president of the U.S. You will only be able to spend your new tokens with people who actually believe Clinton won the election (which is probably nobody).

This ability to fork a currency on a whim, in this very special way, is an absolute necessity for Augur to work. And we can't do that with ETH, BTC, etc.


Augur's REP holders and their reporting function are actually critical to the security of the platform. It is their work that keeps the platform secure (assuming the code is OK). Hence, the platform won't really work without REP holders reporting outcomes and the platform wouldn't be truly decentralized.

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.