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



# Interface: CommonVestingAgreementConfig

## Hierarchy

**CommonVestingAgreementConfig**

↳  [CreateVestingAgreementConfig](CreateVestingAgreementConfig.md)




↳  [ProposeVestingAgreementConfig](ProposeVestingAgreementConfig.md)









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

###  amountPerPeriod

**●  amountPerPeriod**:  *`BigNumber.BigNumber`⎮`string`* 

*Defined in [wrappers/vestingScheme.ts:531](https://github.com/daostack/arc.js/blob/f343aa24/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/f343aa24/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/f343aa24/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/f343aa24/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/f343aa24/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/f343aa24/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/f343aa24/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/f343aa24/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/f343aa24/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.




___


