# Claim Module

The **ClaimModule** is a smart contract that enables managers to claim tokens from external protocols given to the [SetToken](/index-coop-community-handbook/protocol/index-protocol/core-contracts/set-token.md) as part of participating in incentivized activities of other protocols. The ClaimModule works in conjunction with ClaimAdapters, in which the claimAdapterID / integrationNames are stored on the [integration registry](/index-coop-community-handbook/protocol/index-protocol/core-contracts/integration-registry.md).

## Select Methods

### claim()

`claim(ISetToken _setToken, address _rewardPool, string calldata _integrationName)`

**Valid Caller only**. Claim the rewards available on the rewardPool for the specified claim integration. Callable only by manager unless manager has set anyoneClaim to true.

| Parameter Name    | Type      | Description                                                             |
| ----------------- | --------- | ----------------------------------------------------------------------- |
| \_setToken        | ISetToken | Instance of the SetToken                                                |
| \_rewardPool      | address   | Address of the rewardPool that identifies the contract governing claims |
| \_integrationName | string    | ID of claim module integration (mapping on integration registry)        |

### initialize()

`function initialize(ISetToken _setToken, bool _anyoneClaim, address[] calldata _rewardPools, string[] calldata _integrationNames)`

**Manager only.** Initializes this module to the SetToken.

| Parameter Name     | Type       | Description                                                                                                 |
| ------------------ | ---------- | ----------------------------------------------------------------------------------------------------------- |
| \_setToken         | ISetToken  | Address of the SetToken                                                                                     |
| \_anyoneClaim      | bool       | Boolean indicating if anyone can claim or just manager                                                      |
| \_rewardPools      | address\[] | Addresses of rewardPools that identifies the contract governing claims. Maps to same index integrationNames |
| \_integrationNames | string\[]  | Human-readable names matching adapter used to collect claim on pool. Maps to same index in rewardPools      |


---

# 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.indexcoop.com/index-coop-community-handbook/protocol/index-protocol/modules/claim-module.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.
