Skip to content

Power Base Organisational Specs

Organisational Structure & Context

Vision & Mission

Power Base is the non-profit on-chain organisation that shepherds the development of the Powers protocol.

Treasury Management

Its principle task is to distribute funding into three development areas: protocol, frontend, and documentation. It does this using Allo v2 pools governed by the Powers protocol. Decisions on how to distribute available funds between these three areas are taken collectively by members.

The organization manages three separate Allo v2 pools, each utilizing the DirectGrantsLiteStrategy:

  • Documentation Pool - Manages documentation-related grants. Pool managers are Documentation Contributors (Role 2).
  • Frontend Pool - Manages frontend development grants. Pool managers are Frontend Contributors (Role 3).
  • Protocol Pool - Manages protocol development grants. Pool managers are Protocol Contributors (Role 4).

Each pool is funded independently based on Member proposals and Admin execution. Grant recipients register with the relevant pool, and allocations are made by the designated Pool Managers (the contributor groups).

Funding Policy

The funding policy outlines the distribution of funds into three Allo v2 pools: protocol, frontend, and documentation. Decisions regarding the allocation of available funds between these pools are made collectively by Members. Each pool operates independently, ensuring fair distribution and preventing one area from depleting funds intended for others.

Roles

Role IdRole nameSelection criteria
0AdminAdmin role assigned at deployment.
1FundersAn account that has transferred funds in either native currency or whitelisted token during the last 90 days.
2Documentation ContributorsAn account that has made a contribution to the gitbook folder in the Powers repo during the last 90 days. Acts as Pool Manager/Allocator for the Documentation Pool.
3Frontend ContributorsAn account that has made a contribution to the frontend folder in the Powers repo during the last 90 days. Acts as Pool Manager/Allocator for the Frontend Pool.
4Protocol ContributorsAn account that has made a contribution to the solidity folder in the Powers repo during the last 90 days. Acts as Pool Manager/Allocator for the Protocol Pool.
5MembersAn account that holds role 1, 2, 3 or 4.
6GranteesAccounts registered as recipients in one of the Allo pools.
PublicEveryone.

On-chain Mandates

Executive Mandates (executing actions)

Pool Management & Funding

(Note: Pool creation happens once at setup or via a constitutional process. Funding is ongoing.)

RoleName & DescriptionBase contractUser InputExecutable OutputConditions
MembersPropose Documentation FundingStatementOfIntent.sol"address TokenAddress", "uint256 Amount"none51% success, 33% quorum, 7 day period
MembersPropose Frontend FundingStatementOfIntent.sol"address TokenAddress", "uint256 Amount"none51% success, 33% quorum, 7 day period
MembersPropose Protocol FundingStatementOfIntent.sol"address TokenAddress", "uint256 Amount"none51% success, 33% quorum, 7 day period
FundersVeto Funding ProposalStatementOfIntent.sol"address TokenAddress", "uint256 Amount"none66% success, 50% quorum, 3 day period, funding proposal must exist
AdminFund Documentation PoolBespokeActionSimple.sol"address TokenAddress", "uint256 Amount"Allo.fundPool(docsPoolId, amount)Documentation Funding proposal fulfilled, veto not fulfilled
AdminFund Frontend PoolBespokeActionSimple.sol"address TokenAddress", "uint256 Amount"Allo.fundPool(frontendPoolId, amount)Frontend Funding proposal fulfilled, veto not fulfilled
AdminFund Protocol PoolBespokeActionSimple.sol"address TokenAddress", "uint256 Amount"Allo.fundPool(protocolPoolId, amount)Protocol Funding proposal fulfilled, veto not fulfilled

Documentation Grants (via Allo Pool)

RoleName & DescriptionBase contractUser InputExecutable OutputConditions
PublicRegister as Recipient (Docs)BespokeActionSimple.solbytes data (includes recipient address, metadata)Allo.registerRecipient(docsPoolId, data)Public access
MembersVeto Recipient Registration (Docs)StatementOfIntent.sol"address recipientId"none66% success, 25% quorum, 3 day period. (Note: Enforcement requires off-chain coordination or a subsequent mandate to remove allocator approval if veto passes after registration)
Doc ContributorsAllocate Funds (Docs)BespokeActionSimple.sol"address recipientId", "uint256 amount", "address token"Allo.allocate(docsPoolId, recipientId, amount, token, address(this))Recipient must be registered, Veto not fulfilled (checked off-chain or via conditions if applicable)

Frontend Grants (via Allo Pool)

RoleName & DescriptionBase contractUser InputExecutable OutputConditions
PublicRegister as Recipient (Frontend)BespokeActionSimple.solbytes data (includes recipient address, metadata)Allo.registerRecipient(frontendPoolId, data)Public access
MembersVeto Recipient Registration (Frontend)StatementOfIntent.sol"address recipientId"none66% success, 25% quorum, 3 day period. (Note: Enforcement requires off-chain coordination or a subsequent mandate)
Frontend ContributorsAllocate Funds (Frontend)BespokeActionSimple.sol"address recipientId", "uint256 amount", "address token"Allo.allocate(frontendPoolId, recipientId, amount, token, address(this))Recipient must be registered, Veto not fulfilled

Protocol Grants (via Allo Pool)

RoleName & DescriptionBase contractUser InputExecutable OutputConditions
PublicRegister as Recipient (Protocol)BespokeActionSimple.solbytes data (includes recipient address, metadata)Allo.registerRecipient(protocolPoolId, data)Public access
MembersVeto Recipient Registration (Protocol)StatementOfIntent.sol"address recipientId"none66% success, 25% quorum, 3 day period. (Note: Enforcement requires off-chain coordination or a subsequent mandate)
Protocol ContributorsAllocate Funds (Protocol)BespokeActionSimple.sol"address recipientId", "uint256 amount", "address token"Allo.allocate(protocolPoolId, recipientId, amount, token, address(this))Recipient must be registered, Veto not fulfilled

Electoral Mandates (assigning roles)

RoleName & DescriptionBase contractUser InputExecutable OutputConditions
PublicGithub to EVMStringToAddress.sol"string githubUsername"Maps GitHub to EVM addressPublic access
PublicGithub to RoleRoleByGitCommit.solAssigns roles 2, 3, 4Github to EVM mapping must exist
PublicFund DevelopmentBuyAccess.sol"uint256 amount"Assigns role 1 (Funder)Public access, requires token transfer
PublicApply for MembershipRoleByRoles.solAssigns role 5 (Member)Must have role 1, 2, 3, or 4
MembersRemove RoleDirectDeselect.sol"address[] accounts", "uint256 roleId"Revokes role from accounts51% success, 5% quorum, 5 day period, 5 day delay, not vetoed
AdminVeto Role RevocationStatementOfIntent.sol"address[] accounts"noneAdmin only

Constitutional Mandates (adopting and revoking mandates)

RoleName & DescriptionBase contractUser InputExecutable OutputConditions
MembersPropose Mandate PackageStatementOfIntent.sol"address[] mandates", "bytes[] mandateInitDatas"none51% success, 50% quorum, 7 day period
FundersVeto Mandate PackageStatementOfIntent.sol"address[] mandates", "bytes[] mandateInitDatas"none33% success, 50% quorum, 3 day period, proposal must exist
AdminAdopt Mandate PackageAdoptMandates.sol(from proposal)Adopts new mandatesProposal fulfilled, veto not fulfilled

Off-chain Operations

(Largely unchanged, references updated)

Dispute Resolution

Disputes regarding ambiguous mandate conditions, Allo pool operations, or malicious actions by role-holders will be addressed through community discussion in the official communication channels, with final arbitration by the Admin role if consensus cannot be reached.

Code of Conduct / Ethics

All participants are expected to act in good faith to further the mission of Power Base. This includes respectful communication, constructive feedback, and responsible use of powers. Grant applications (recipient registrations) should clearly articulate their value and include realistic goals. Allocators (Contributor groups) should review registrations diligently.

Communication Channels

Official proposals, discussions, and announcements take place on the Power Base Discord server and community forum. Recipient registrations should be discussed in these channels before submission.

Budget Proposal Coordination

While funding proposals are submitted as three separate on-chain mandates (one per development area), the community is encouraged to discuss and coordinate funding allocation across all three areas in off-chain channels before submitting proposals. This ensures balanced funding distribution that reflects the collective priorities of the organization.

Description of Governance

Power Base is a decentralized organization focused on the development of the Powers protocol, now utilizing Allo v2 for grant distribution.

  • Remit: The primary function is to manage and distribute funds for protocol, frontend, and documentation development via three dedicated Allo v2 pools using the DirectGrantsLiteStrategy.
  • Roles: Roles are assigned based on contributions (code commits for Contributors, funding for Funders). Contributor groups (Docs, Frontend, Protocol) act as allocators for their respective Allo pools. Having any contributor or funder role makes one a Member. An Admin role manages core functions.
  • Executive Paths: Key processes are governed by on-chain mandates interacting with the Allo v2 contract:
    • Pool Funding: Members propose funding amounts for each pool separately, Funders can veto any proposal, and Admins execute the funding via Allo.fundPool.
    • Grant Lifecycle: Anyone can register as a recipient in a relevant pool (Allo.registerRecipient), Members can signal intent to veto, and the relevant Contributor group (acting as allocators) approves and sends funds by calling Allo.allocate.
  • Summary: The governance structure leverages Allo v2 pools (DirectGrantsLiteStrategy) as secure, independently funded mechanisms for grant distribution. The Powers protocol provides the governance layer determining who proposes funding, who executes funding, who can register, and who allocates funds within each pool, creating a complete decentralized grant management system.

Risk Assessment

Allo v2 complexity

Allo V2 is a (very) complex protocol...

Additional risks

Additional risk descriptions here.