group_treasury
Group Treasury integrates Safe Smart Accounts (multi-signature wallets) as treasuries for Drupal Groups, enabling DAOs and communities to manage shared funds with blockchain security and Drupal workflows.
Features
Basic Functionality:
- Links a Safe Smart Account (multi-signature wallet) to any Drupal Group as its treasury
- Adds a "Treasury" tab to Groups displaying wallet balance, signers, threshold requirements, and transaction history
- Enables Group members to propose treasury transactions (ETH transfers, contract calls) requiring multi-sig approval
- Tracks signature collection progress within Drupal while cryptographic signing happens via MetaMask
- Automatically proposes Safe signer changes when Group roles change (admin added/removed requires existing signer approval)
Unique Features:
- Combines Drupal's Group permission system with blockchain multi-sig security
- Optional treasury creation wizard requiring Group creators to deploy a Safe during group setup
- Treasury signer relationships appear on user's Safe account list with quick actions
- Fine-grained Group-level permissions: view treasury, propose transactions, sign transactions, execute transactions, manage treasury
Use Cases:
- DAOs requiring community-managed treasuries with multi-signature security
- Organizations needing shared fund management with role-based access control
- Open-source projects accepting cryptocurrency donations with transparent governance
- Collaborative groups requiring financial accountability and audit trails
Post-Installation
- Enable the relation plugin: Navigate to
/admin/group/types/manage/{type}/contentand install the "Group Safe Account (Treasury)" relation plugin for each Group Type that needs treasury support. - Configure permissions: Go to
/admin/group/types/manage/{type}/permissionsto assign treasury permissions to appropriate Group roles. - Optional - Treasury Wizard: Edit the Group Type and enable "Group creator must complete treasury deployment" under Creator Wizard settings.
- Create Treasury: Navigate to any Group → Treasury tab → "Create Treasury" to deploy a new Safe Smart Account as the group treasury.
The module adds a "Treasury" local task tab to all Groups with the Safe Smart Accounts relation plugin enabled.
Additional Requirements
- Drupal 10.x
- Group module (drupal/group ^2.3)
- Safe Smart Accounts module (safe_smart_accounts) - Companion module providing core blockchain integration for Safe wallet management and transaction signing
- SIWE Login module (siwe_login) - Ethereum wallet authentication using Sign-In with Ethereum (EIP-4361)
- PHP 8.3+ with GMP extension
- MetaMask or compatible Web3 wallet for transaction signing
Recommended modules/libraries
- social_group_treasury - Companion module for Open Social installations providing block visibility configuration and styling integration for Open Social themes.
Similar projects
There are no known Drupal modules providing similar multi-signature cryptocurrency treasury management for Groups. Related but different projects include:
- Drupal Commerce - E-commerce payments, but no multi-sig wallet management or Group integration
- Cryptocurrency module - Cryptocurrency payment acceptance, but lacks multi-sig and Group features
Group Treasury uniquely combines Drupal's Group permission system with Safe Smart Account multi-signature security and automatic signer synchronization based on role changes.
Supporting this Module
Contributions, issue reports, and pull requests are welcome on the project repository.
Community Documentation
- Demo Site
- Safe Documentation - Official Safe Smart Account documentation
- EIP-4361: Sign-In with Ethereum - Authentication standard specification