[API Reference](../README.md) > [CommonVestingAgreementConfig](../interfaces/CommonVestingAgreementConfig.md)

# Interface: CommonVestingAgreementConfig

## Hierarchy

**CommonVestingAgreementConfig**

↳  [CreateVestingAgreementConfig](CreateVestingAgreementConfig.md)

↳  [ProposeVestingAgreementConfig](ProposeVestingAgreementConfig.md)

## Index

### Properties

* [amountPerPeriod](CommonVestingAgreementConfig.md#amountPerPeriod)
* [beneficiaryAddress](CommonVestingAgreementConfig.md#beneficiaryAddress)
* [cliffInPeriods](CommonVestingAgreementConfig.md#cliffInPeriods)
* [numOfAgreedPeriods](CommonVestingAgreementConfig.md#numOfAgreedPeriods)
* [periodLength](CommonVestingAgreementConfig.md#periodLength)
* [returnOnCancelAddress](CommonVestingAgreementConfig.md#returnOnCancelAddress)
* [signaturesReqToCancel](CommonVestingAgreementConfig.md#signaturesReqToCancel)
* [signers](CommonVestingAgreementConfig.md#signers)
* [startingBlock](CommonVestingAgreementConfig.md#startingBlock)

---

## Properties

<a id="amountPerPeriod"></a>

###  amountPerPeriod

**● amountPerPeriod**: * `BigNumber.BigNumber` &#124; `string`
*

*Defined in [wrappers/vestingScheme.ts:531](https://github.com/daostack/arc.js/blob/6f704389/lib/wrappers/vestingScheme.ts#L531)*

The number of tokens to pay per period. Period is calculated as (number of blocks / periodLength). Should be expressed in Wei. Must be greater than zero.

___
<a id="beneficiaryAddress"></a>

###  beneficiaryAddress

**● beneficiaryAddress**: *[Address](../#Address)*

*Defined in [wrappers/vestingScheme.ts:514](https://github.com/daostack/arc.js/blob/6f704389/lib/wrappers/vestingScheme.ts#L514)*

Address of the recipient of the proposed agreement.

___
<a id="cliffInPeriods"></a>

###  cliffInPeriods

**● cliffInPeriods**: *`number`*

*Defined in [wrappers/vestingScheme.ts:547](https://github.com/daostack/arc.js/blob/6f704389/lib/wrappers/vestingScheme.ts#L547)*

The minimum number of periods that must pass before the beneficiary may collect tokens under the agreement. Must be greater than or equal to zero.

___
<a id="numOfAgreedPeriods"></a>

###  numOfAgreedPeriods

**● numOfAgreedPeriods**: *`number`*

*Defined in [wrappers/vestingScheme.ts:541](https://github.com/daostack/arc.js/blob/6f704389/lib/wrappers/vestingScheme.ts#L541)*

maximum number of periods that can be paid out. Must be greater than zero.

___
<a id="periodLength"></a>

###  periodLength

**● periodLength**: *`number`*

*Defined in [wrappers/vestingScheme.ts:536](https://github.com/daostack/arc.js/blob/6f704389/lib/wrappers/vestingScheme.ts#L536)*

number of blocks in a period. Must be greater than zero.

___
<a id="returnOnCancelAddress"></a>

###  returnOnCancelAddress

**● returnOnCancelAddress**: *[Address](../#Address)*

*Defined in [wrappers/vestingScheme.ts:518](https://github.com/daostack/arc.js/blob/6f704389/lib/wrappers/vestingScheme.ts#L518)*

Where to send the tokens in case of cancellation

___
<a id="signaturesReqToCancel"></a>

###  signaturesReqToCancel

**● signaturesReqToCancel**: *`number`*

*Defined in [wrappers/vestingScheme.ts:552](https://github.com/daostack/arc.js/blob/6f704389/lib/wrappers/vestingScheme.ts#L552)*

The number of signatures required to cancel agreement. See signToCancel.

___
<a id="signers"></a>

###  signers

**● signers**: *`Array`<[Address](../#Address)>*

*Defined in [wrappers/vestingScheme.ts:557](https://github.com/daostack/arc.js/blob/6f704389/lib/wrappers/vestingScheme.ts#L557)*

An array of addresses of those who will be allowed to sign to cancel an agreement. The length of this array must be greater than or equal to signaturesReqToCancel.

___
<a id="startingBlock"></a>

### `<Optional>` startingBlock

**● startingBlock**: *`number`*

*Defined in [wrappers/vestingScheme.ts:524](https://github.com/daostack/arc.js/blob/6f704389/lib/wrappers/vestingScheme.ts#L524)*

Optional ethereum block number at which the agreement starts. Default is the current block number. Must be greater than or equal to zero.

___

