Skip to content

Core ​

The core of Aragon OSx consists of the DAO contract and its authorization model. Source: osx src/core.

This is the smallest, most fundamental layer: what a DAO is and how it decides who may do what. Read it first; everything else builds on it.

Exact signatures: the generated osx ABI reference has every public function, event, error and constant of these contracts, with its NatSpec.

  • The DAO contract — one contract that is the organization: treasury, executor, permission database, signer.
  • The permission system — the (where, who, permissionId) model that gates every privileged action. Start here to understand authorization.
  • Actions and execution — how a DAO acts on the world: the Action batch, execute, and partial-failure handling.
  • DAO signature validation (EIP-1271) — how a DAO "signs", by delegating to its permissions.
  • DAO metadata — the name/description/avatar/links JSON and the EIP-4824 daoURI, and why the app-facing blob isn't stored onchain.

The other two layers ​

The rest of the osx repo sits in two sibling areas:

  • Common — the shared cross-cutting primitives (now within osx at src/common, formerly the standalone osx-commons library) that the core, framework, and plugins reuse: conditions, proposals, membership, ratio, auth, and low-level utilities.
  • Framework — what a plugin is and how it's built and installed: the plugin model, base types, and setup, plus the PluginRepo, the PluginSetupProcessor, the factories, and the registries.

From there, plugins are the concrete governance modules built on all three.