# ERC3000

{% hint style="info" %}
📚 Read the formal proposal [here](https://eips.ethereum.org/EIPS/eip-3000).
{% endhint %}

## Historical background

Throughout 2020 Ethereum saw the explosion of DeFi, introducing protocols with interesting proposals such as [Balancer](https://balancer.finance/) with programmable liquidity pools and [Yam](https://yam.finance/) with a rebasing mechanism to control supply and widely championing yield farming for everyone. More seasoned players of the space like [Aave](https://aave.com/) brought innovative features like flash loans, but what changed the space was the popularization of *<mark style="color:blue;">**Governance Tokens**</mark>.*

While protocols like **Aragon** and **Maker** had already been championing the idea of community governance with tokens, new protocols distributed their token supply through yield farming strategies; those who did attract high amounts of capital and built healthy treasuries.

The tokens could then be used to govern the protocol itself in a community-oriented manner, but one thing became clear: due to the amount of activity on-chain, gas prices arose and DAO activity was quickly priced out. At some point, creating a traditional Moloch or Aragon DAO cost more than **$500**.

Balancer, in response to rising gas prices, built [Snapshot](https://docs.snapshot.page/)—a **gasless multi-governance client** which allowed protocols to do governance votes with no cost, utilizing a snapshot of a user's token balance at a certain block height to measure voting power. This quickly became the de-facto way of doing governance throughout the summer. Of course, this had one pitfall: projects couldn't be fully decentralized, due to the requirement of a community multi-sig to enact off-chain votes on-chain. This is where ERC300 steps in.

## The standard

**ERC-3000** presents a basic **on-chain spec** for contracts to **optimistically** enact **governance decisions** made **off-chain**. Backed by [Aragon](https://aragon.org/) & [Balancer](https://balancer.finance/), it's an attempt to standardize the design and writing of governance tools to introduce a high level of composability and compatibility between them.

The **standard** is opinionated in defining the **6 entry point functions** to contracts supporting the standard. But it allows for any sort of resolver mechanism for the challenge/response games characteristic of optimistic contracts.

While the authors (Jorge Izquierdo from Aragon and Fabien Marino from Balancer) currently believe resolving challenges using a [subjective oracle](https://blog.aragon.org/snapshot/) is the right tradeoff, the standard has been designed such that changing to another mechanism is possible (a deterministic resolver like [Optimism’s OVM](https://optimism.io/) uses), even allowing to hot-swap it in the same live instance.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://legacy-docs.aragon.org/developers/products/aragon-govern/aragon-govern-1/guides/erc3000.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
