> For the complete documentation index, see [llms.txt](https://bunnybox.gitbook.io/whitepaper/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://bunnybox.gitbook.io/whitepaper/overview/administration.md).

# Administration

The Bunnybox protocol adopts a decentralized governance approach with minimal global intervention. Here are the limited global functions accessible by a privileged administrative address, initially assigned to the BunnyboxDAO multisig, elected by Bunnybox members:

1. **BunnyProjects.setTokenUriResolver(...)**: Enables the owner of the BunnyProjects contract to specify and update the IJBTokenUriResolver responsible for resolving metadata for project NFTs in its tokenURI(...) function.
2. **BunnyPrices.addFeedFor(...)**: Allows the owner of the BunnyPrices contract to incorporate new price feeds used for converting amounts from one currency to another. Once added, a price feed remains immutable.
3. **BunnyDirectory.setIsAllowedToSetFirstController(...)**: Empowers the owner of the BunnyDirectory contract to include or exclude addresses authorized to set a project's initial controller on its behalf.
4. **BunnyETHPaymentTerminal3\_1\_1.setFee(...)**: Enables the owner of the BunnyETHPaymentTerminal3\_1\_1 (or any terminal inheriting from BunnyPayoutRedemptionPaymentTerminal3\_1\_1) to adjust the protocol fee levied when projects distribute their treasury funds outside the protocol ecosystem or when funds are redeemed from a project with a redemption rate below 100%. The maximum fee is set at 5%.
5. **BunnyETHPaymentTerminal3\_1\_1.setFeeGauge(...)**: Provides authority to the owner of the BunnyETHPaymentTerminal3\_1\_1 (or any terminal inheriting from BunnyPayoutRedemptionPaymentTerminal3\_1\_1) to modify the fee gauge determining fee discounts on a per-project basis.
6. **BunnyETHPaymentTerminal3\_1\_1.setFeelessAddress(...)**: Allows the owner of the BunnyETHPaymentTerminal3\_1\_1 (or any terminal inheriting from BunnyPayoutRedemptionPaymentTerminal3\_1\_1) to add or remove addresses exempt from protocol fees when receiving distributed funds or refunding held fees back to the project's balance.
7. **BunnyETHPaymentTerminal3\_1\_1.processFees(...)**: Authorizes the owner of the BunnyETHPaymentTerminal3\_1\_1 (or any terminal inheriting from BunnyPayoutRedemptionPaymentTerminal3\_1\_1) to manage the processing of held fees for any project.

Ownership for each contract is independently managed and can be transferred to a new owner by the current owner, ensuring autonomy and flexibility within the Bunnybox ecosystem.
