# Module Library

### What is the Module Library

The Module Library features a collection of audited, trusted modules accessible through our workflow factory. Managed through our governance mechanism the library facilitates easy deployment of workflow contracts.

### Contributions to the Module Library

Interest in contributing to the Inverter Protocol contracts is valued, as each contribution enhances the protocol's robustness and usability. Open-source projects like this depend on community collaboration to thrive. Contributions of all sizes help advance the collective goals.

Please see our [Contribution Guidelines](https://github.com/InverterNetwork/contracts/blob/dev/CONTRIBUTING.md) for more information.

### Modules

**Authorizers**:

This module defines and enforces the system's permission structure. It specifies the different roles and actions each stakeholder is allowed to take. Stakeholders can be users or other modules.

* [Role Authorizer](/concepts/protocol-concepts/module-library/authorizers/role-authorizer.md)
* [Token Gated Role Authorizer](/concepts/protocol-concepts/module-library/authorizers/token-gated-role-authorizer.md)

**Funding Managers**:

This module holds the funds of each workflow and manages user deposits and withdrawals. In addition to the basic functionality, the Funding Manager module ultimately takes the role of a Primary Issuance Market (PIM), enabling dynamic token issuance and redemption based on predefined algorithms and market conditions.

* PIMs
  * [Bancor Based PIM: Virtual Supply](/concepts/protocol-concepts/module-library/funding-managers/pims/bonding-curve.md)
  * [Bancor Based PIM: Virtual Supply Buy Restriction](/concepts/protocol-concepts/module-library/funding-managers/pims/bonding-curve-1.md)
* [Deposit Vault Funding Manager](/concepts/protocol-concepts/module-library/funding-managers/rebasing-funding-manager.md)

**Payment Processors**:

This module receives and processes payment orders from other modules. It acts as a funnel through which all the value outflows of the system can be managed. It implements the individual distribution policy of the workflows’ token economy, handling the monetary flows that are taking place.

* [Simple Payment Processor](/concepts/protocol-concepts/module-library/payment-processors/simple-payment-processor.md)
* [Streaming Payment Processor](/concepts/protocol-concepts/module-library/payment-processors/streaming-payment-processor.md)

**Logic Modules**:

This category includes the remaining modules in the system. They implement the individual utility policies of the workflows’ token economy, defining the conditions under which certain monetary flows occur.

* [Bounty Manager](/concepts/protocol-concepts/module-library/logic-modules/bounty-manager.md)
* [Recurring Payment Manager](/concepts/protocol-concepts/module-library/logic-modules/recurring-payment-manager.md)
* [KPI Rewarder](/concepts/protocol-concepts/module-library/logic-modules/kpi-rewarder.md)
* [Staking Manager](/concepts/protocol-concepts/module-library/logic-modules/staking-manager.md)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.inverter.network/concepts/protocol-concepts/module-library.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
