The Juicebox protocol is a programmable treasury. Projects can use it to configure how its tokens should be minted when it receives money, and under what conditions funds can be distributed to preprogrammed addresses or claimed by its community. These rules can evolve over funding cycles, allowing people to bootstrap open-ended projects and add structure, constraints, and incentives over time as needed. The protocol is light enough for a group of friends, yet powerful enough for a global network of anons sharing thousands of ETH.