> ## Documentation Index
> Fetch the complete documentation index at: https://docs.boost.xyz/llms.txt
> Use this file to discover all available pages before exploring further.

# Claims

> Retrieve ERC20 Incentive claim information and draw raffle

<Warning>
  The One-Time Actions docs are under active development and will be subject to changes.
</Warning>

The ERC20 Incentive is designed to store and distribute assets that can be claimed by users. The Boost SDK provides several methods to retrieve information about claim state, as well as drawing raffles.

## API

### `claims`

Retrieves the total number of completed claims.

<CodeGroup>
  ```ts index.ts theme={null}
  await erc20VariableIncentive.claims();
  ```
</CodeGroup>

#### Parameters

<ParamField path="parameters" type="Omit<wagmi.ReadContractParameters, 'address' | 'args' | 'functionName' | 'abi'>">
  Optional parameters to pass to the underlying `readContract` method. Checkout [wagmi's documentation](https://wagmi.sh/core/api/actions/readContract#parameters) for more information. `address`, `args`, `functionName`, `abi` are handled for you under the hood.
</ParamField>

#### Returns

<ResponseField name="Total claims" type="Promise<bigint>">
  Returns the total number of claims.
</ResponseField>

### `totalClaimed`

Returns the total amount distributed by this incentive.

<CodeGroup>
  ```ts index.ts theme={null}
  await erc20VariableIncentive.totalClaimed();
  ```
</CodeGroup>

#### Parameters

<ParamField path="parameters" type="Omit<wagmi.ReadContractParameters, 'address' | 'args' | 'functionName' | 'abi'>">
  Optional parameters to pass to the underlying `readContract` method. Checkout [wagmi's documentation](https://wagmi.sh/core/api/actions/readContract#parameters) for more information. `address`, `args`, `functionName`, `abi` are handled for you under the hood.
</ParamField>

#### Returns

<ResponseField name="Amount claimed" type="Promise<bigint>">
  Returns the total amount claimed
</ResponseField>

### `claimed`

Checks if an address has previously claimed this incentive.

<CodeGroup>
  ```ts index.ts theme={null}
  await erc20VariableIncentive.claimed(address);
  ```
</CodeGroup>

#### Parameters

<ParamField path="address" type="Address">
  The address to check claimed status.
</ParamField>

<ParamField path="parameters" type="Omit<wagmi.ReadContractParameters, 'address' | 'args' | 'functionName' | 'abi'>">
  Optional parameters to pass to the underlying `readContract` method. Checkout [wagmi's documentation](https://wagmi.sh/core/api/actions/readContract#parameters) for more information. `address`, `args`, `functionName`, `abi` are handled for you under the hood.
</ParamField>

#### Returns

<ResponseField name="Has claimed" type="Promise<boolean>">
  Returns true if address has claimed the incentive.
</ResponseField>

### `isClaimable`

Check if an incentive is claimable by an address. Will return false if the recipient has already claimed, or total incentive claims has met the configured limit.

<CodeGroup>
  ```ts index.ts theme={null}
  await erc20VariableIncentive.isClaimable(address);
  ```
</CodeGroup>

#### Parameters

<ParamField path="address" type="Address">
  The address to check eligibility for.
</ParamField>

<ParamField path="parameters" type="Omit<wagmi.ReadContractParameters, 'address' | 'args' | 'functionName' | 'abi'>">
  Optional parameters to pass to the underlying `readContract` method. Checkout [wagmi's documentation](https://wagmi.sh/core/api/actions/readContract#parameters) for more information. `address`, `args`, `functionName`, `abi` are handled for you under the hood.
</ParamField>

#### Returns

<ResponseField name="Eligibility" type="Promise<boolean>">
  Returns true if address can claim incentive.
</ResponseField>

### `getRemainingClaimPotential`

Retrieves the remaining amount of tokens (in wei) remaining in the incentive by comparing total claims against the limit.

<CodeGroup>
  ```ts index.ts theme={null}
  await erc20VariableIncentive.getRemainingClaimPotential();
  ```
</CodeGroup>

<ParamField path="parameters" type="Omit<wagmi.ReadContractParameters, 'address' | 'args' | 'functionName' | 'abi'>">
  Optional parameters to pass to the underlying `readContract` method. Checkout [wagmi's documentation](https://wagmi.sh/core/api/actions/readContract#parameters) for more information. `address`, `args`, `functionName`, `abi` are handled for you under the hood.
</ParamField>

#### Returns

<ResponseField name="Remaining claims" type="Promise<bigint>">
  Returns the remaining amount of tokens (in wei) remaining in the incentive
</ResponseField>

### `canBeClaimed`

Checks if the balance of the incentive is greater than 0.
Note that this does not check if a specific user is eligible to claim.

<CodeGroup>
  ```ts index.ts theme={null}
  await erc20VariableIncentive.canBeClaimed();
  ```
</CodeGroup>

<ParamField path="parameters" type="Omit<wagmi.ReadContractParameters, 'address' | 'args' | 'functionName' | 'abi'>">
  Optional parameters to pass to the underlying `readContract` method. Checkout [wagmi's documentation](https://wagmi.sh/core/api/actions/readContract#parameters) for more information. `address`, `args`, `functionName`, `abi` are handled for you under the hood.
</ParamField>

#### Returns

<ResponseField type="Promise<boolean>">
  Returns `true` if the incentive has a remaining balance, `false` otherwise
</ResponseField>
