[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:420](https://github.com/daostack/arc.js/blob/77005d4/lib/wrappers/vestingScheme.ts#L420)*



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:403](https://github.com/daostack/arc.js/blob/77005d4/lib/wrappers/vestingScheme.ts#L403)*



Address of the recipient of the proposed agreement.




___

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

###  cliffInPeriods

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

*Defined in [wrappers/vestingScheme.ts:436](https://github.com/daostack/arc.js/blob/77005d4/lib/wrappers/vestingScheme.ts#L436)*



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:430](https://github.com/daostack/arc.js/blob/77005d4/lib/wrappers/vestingScheme.ts#L430)*



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:425](https://github.com/daostack/arc.js/blob/77005d4/lib/wrappers/vestingScheme.ts#L425)*



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




___

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

###  returnOnCancelAddress

**●  returnOnCancelAddress**:  *`string`* 

*Defined in [wrappers/vestingScheme.ts:407](https://github.com/daostack/arc.js/blob/77005d4/lib/wrappers/vestingScheme.ts#L407)*



Where to send the tokens in case of cancellation




___

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

###  signaturesReqToCancel

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

*Defined in [wrappers/vestingScheme.ts:441](https://github.com/daostack/arc.js/blob/77005d4/lib/wrappers/vestingScheme.ts#L441)*



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




___

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

###  signers

**●  signers**:  *`Array`.<`string`>* 

*Defined in [wrappers/vestingScheme.ts:446](https://github.com/daostack/arc.js/blob/77005d4/lib/wrappers/vestingScheme.ts#L446)*



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:413](https://github.com/daostack/arc.js/blob/77005d4/lib/wrappers/vestingScheme.ts#L413)*



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




___


