https://github.com/blossomlabs/councilhaus
Continuous and participatory budget allocation dApp
https://github.com/blossomlabs/councilhaus
council dao governance superfluid
Last synced: over 1 year ago
JSON representation
Continuous and participatory budget allocation dApp
- Host: GitHub
- URL: https://github.com/blossomlabs/councilhaus
- Owner: BlossomLabs
- License: agpl-3.0
- Created: 2024-09-03T11:43:25.000Z (almost 2 years ago)
- Default Branch: dev
- Last Pushed: 2025-01-23T12:51:54.000Z (over 1 year ago)
- Last Synced: 2025-01-23T13:39:45.176Z (over 1 year ago)
- Topics: council, dao, governance, superfluid
- Language: TypeScript
- Homepage: https://council.haus
- Size: 1.48 MB
- Stars: 1
- Watchers: 2
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# CouncilHaus: A Continuous and Participatory Budget Allocation dApp [](https://coveralls.io/github/BlossomLabs/councilhaus?branch=master)
## What is CouncilHaus?
CouncilHaus enables organizations with a set budget to allocate funds continuously among grantees. Council members vote to decide how the budget is distributed dynamically, ensuring efficient use of resources, reducing administrative overhead, and allowing real-time adjustments to meet evolving needs.

## Key Features
1. **Participatory Decision Making**: Council members actively decide how funds are distributed, fostering a more inclusive allocation process.
2. **Flexible Allocation**: Members can allocate their voting power across multiple grantees, supporting various projects as they see fit.
3. **Transparent Process**: All allocations and decisions are recorded, providing a clear and auditable trail of fund distribution.
4. **Managed Access**: The system includes roles for administering members and grantees, maintaining control over who can participate.
5. **Automatic Distribution**: Once allocations are decided, the system automatically handles the distribution of funds to grantees.
## How It Works
1. **Council Formation**: Administrators can add council members, assigning them voting power based on their role or expertise.
2. **Grantee Registration**: Potential fund recipients (grantees) are added to the system.
3. **Budget Allocation**: Council members use their voting power to allocate funds to grantees they wish to support.
4. **Automatic Distribution**: Once allocations are set, the system takes care of distributing the funds according to the council's decisions.
## Why Use CouncilHaus?
CouncilHaus brings several benefits to organizations looking to manage grant or fund allocation:
- **Participation**: Encourages active involvement by recognizing and rewarding contributions, creating a more engaged, motivated, and thriving community.
- **Flexibility**: Council members can easily adjust their allocations, responding to changing needs or priorities.
- **Efficiency**: The automated distribution system reduces administrative overhead.
- **Transparency**: All decisions are recorded, promoting trust and accountability.
Whether you're a company, a DAO interested in funding an ecosystem of contributors, a public-goods organization, or any entity that needs to manage collective fund allocation, CouncilHaus offers a modern, flexible, and efficient solution to empower your team and streamline grant-giving. For instance, Superfluid has used CouncilHaus to reward ecosystem contributors in an ongoing hackathon, with demo days every two weeks.
## How to run
Install bun (a fast JavaScript runtime) from [https://bun.sh/](https://bun.sh/) or just use `npm install -g bun`.
Use `bun` to install dependencies and run the project:
```bash
bun install
bun run dev
```
The development server will be available at http://localhost:3000/.
The smart contracts are in the `contracts` directory, and the frontend is in the `apps` directory.
## How to deploy
### Build Settings
- **Docker Image:**
`node:lts`
- **Repository:**
[https://github.com/BlossomLabs/councilhaus](https://github.com/BlossomLabs/councilhaus)
- **Build Command:**
```bash
npm install -g bun && HUSKY=0 bun i && bun run --cwd apps/web/ build
```
- **Publish Directory:**
`apps/web/build/client`
### Environment Variables
- Use `VITE_WALLETCONNECT_PROJECT_ID` for your wallet connect project ID.
- Use `VITE_SITE_URL` for your site URL. Otherwise, the default will be `https://council.haus`.