# BribeVotingReward



## Overview [#overview]

`BribeVotingReward` distributes funded voting incentives according to the voting weights recorded for veNFTs of an associated pool. It inherits the accounting and claim methods described in [VotingReward](/docs/technical-reference/contract-functions/votingreward).

<Callout type="info">
  Gauge voting and the voting-incentives marketplace are paused under [SGP-20](https://paragraph.com/@spectra/sgp-20-is-now-in-effect-spectra-emissions-reduced-to-zero). These methods describe the reward contract's API; they do not establish an active voting-incentive campaign.
</Callout>

## BribeVotingReward Methods [#bribevotingreward-methods]

### notifyRewardAmount [#notifyrewardamount]

Transfer an ERC-20 reward token from the caller to the reward contract and assign it to the current weekly epoch.

```solidity
function notifyRewardAmount(address token, uint256 amount) external
```

| Input Parameter | Type    | Description                                                              |
| --------------- | ------- | ------------------------------------------------------------------------ |
| `token`         | address | The ERC-20 reward token.                                                 |
| `amount`        | uint256 | The nonzero amount to transfer and record, in the token's smallest unit. |

Anyone can fund this contract. The caller must approve the reward contract to transfer `amount` tokens. When a token is first added to this contract's reward list, it must be whitelisted by `Voter.isWhitelistedToken(token)`. Tokens already on the list do not undergo that whitelist check again.

At least one voting escrow must be registered at the epoch's start. Funding is split between registered escrows using their weighted voting power at that timestamp when more than one escrow is registered. Rewards for the epoch become claimable after it ends, using `getReward(ve, tokenId, tokens)` or [`Voter.claimBribes`](/docs/technical-reference/contract-functions/voter#claimbribes).
