← Protocols
ERC-4824 — Common Interfaces for DAOs
Standard / EIP·EVM

ERC-4824 — Common Interfaces for DAOs

01Description

Draft ERC defining a minimal common interface (the `daoURI` discoverability pattern) for any on-chain DAO so that tooling, explorers, and aggregators can read members, proposals, and activity log via a JSON-LD manifest hosted off-chain. Status: Draft.

02Best for
  • 01DAO discoverability and indexing
  • 02cross-framework DAO metadata (Aragon, Moloch, Compound Governor)
  • 03DAO directories and analytics
  • 04JSON-LD activity streams for governance
03Install
  • # Reference impls: https://github.com/metagov/daostar
05Prompt snippet
Implement ERC-4824 by adding a single read-only function `daoURI() returns (string)` to your DAO contract that returns a URI (https://, ipfs://, or ar://) pointing to a JSON-LD document conforming to the DAOstar schema. The JSON-LD document MUST include `@context: "http://www.daostar.org/schemas"`, `type: "DAO"`, `name`, `description`, `membersURI`, `proposalsURI`, `activityLogURI`, `governanceURI`, and `contractsRegistryURI`. Each sub-URI returns its own JSON-LD collection (members list, proposal list, activity stream). Emit a `DAOURIUpdate(address daoAddress, string daoURI)` event when the URI changes. Pair with EIP-4824 indexing services (DAOstar registry) for cross-DAO discoverability.
06Gotchas
  • Status is Draft — schema fields and JSON-LD context paths still shift; pin to a specific spec revision and document it in your manifest.
  • `daoURI` returns a STRING, not an on-chain struct — all data lives off-chain. Pin manifests to IPFS/Arweave with content addressing, otherwise stale or malicious mutations break trust assumptions.
  • JSON-LD `@context` MUST resolve over HTTPS for many parsers — `ipfs://` contexts work in some validators but not browsers. Mirror to a stable HTTPS gateway.
  • Membership models differ wildly (token-weighted vs 1p1v vs multisig) — the standard does not prescribe a schema for vote weight. Producers must include a `votingPower` field in `membersURI` JSON-LD or aggregators will treat all members as equal.
  • ERC-4824 is metadata-only — it does NOT define proposal execution, voting, or treasury. Combine with OpenZeppelin Governor, Aragon OSx, or Moloch v3 for actual governance logic.
07Alternatives