# programs()

### Function programs()

{% code title="AutoCompoundingRewards.sol" %}

```javascript
function programs() external view returns (ProgramData[] memory);
```

{% endcode %}

This function is used to get detailed information about all rewards programs.

### Return Variables

This function returns a list with details about each rewards program. Each list item includes:

| Variable Type | Returns                                                                                                           |
| ------------- | ----------------------------------------------------------------------------------------------------------------- |
| uint32        | The Unix timestamp indicating when the  rewards program started.                                                  |
| uint32        | The Unix timestamp indicating when the  rewards program will end.                                                 |
| uint32        | The half-life of the rewards program if the program does not use a linear distribution.                           |
| uint32        | The Unix timestamp of the previous distribution period.                                                           |
| Token         | The token address of the bnToken being distributed as rewards.                                                    |
| bool          | <p>True: The program is currently paused.<br>False: The program is not paused. </p>                               |
| uint8         | <p>The distribution schedule for the program. <br>0: Linear distribution<br>1: Exponential decay distribution</p> |
| uint256       | The total number of reward tokens being distributed through the program.                                          |
| uint256       | The number of reward tokens yet to be distributed.                                                                |
