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

# Interface: CreateVestingAgreementConfig

## Hierarchy

 [CommonVestingAgreementConfig](CommonVestingAgreementConfig.md)

**↳ CreateVestingAgreementConfig**

## Index

### Properties

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

---

## Properties

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

###  amountPerPeriod

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

*Inherited from [CommonVestingAgreementConfig](CommonVestingAgreementConfig.md).[amountPerPeriod](CommonVestingAgreementConfig.md#amountPerPeriod)*

*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)*

*Inherited from [CommonVestingAgreementConfig](CommonVestingAgreementConfig.md).[beneficiaryAddress](CommonVestingAgreementConfig.md#beneficiaryAddress)*

*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`*

*Inherited from [CommonVestingAgreementConfig](CommonVestingAgreementConfig.md).[cliffInPeriods](CommonVestingAgreementConfig.md#cliffInPeriods)*

*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`*

*Inherited from [CommonVestingAgreementConfig](CommonVestingAgreementConfig.md).[numOfAgreedPeriods](CommonVestingAgreementConfig.md#numOfAgreedPeriods)*

*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`*

*Inherited from [CommonVestingAgreementConfig](CommonVestingAgreementConfig.md).[periodLength](CommonVestingAgreementConfig.md#periodLength)*

*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)*

*Inherited from [CommonVestingAgreementConfig](CommonVestingAgreementConfig.md).[returnOnCancelAddress](CommonVestingAgreementConfig.md#returnOnCancelAddress)*

*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`*

*Inherited from [CommonVestingAgreementConfig](CommonVestingAgreementConfig.md).[signaturesReqToCancel](CommonVestingAgreementConfig.md#signaturesReqToCancel)*

*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)>*

*Inherited from [CommonVestingAgreementConfig](CommonVestingAgreementConfig.md).[signers](CommonVestingAgreementConfig.md#signers)*

*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`*

*Inherited from [CommonVestingAgreementConfig](CommonVestingAgreementConfig.md).[startingBlock](CommonVestingAgreementConfig.md#startingBlock)*

*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.

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

###  token

**● token**: *`string`*

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

The address of the token that will be used to pay for the creation of the agreement. The caller (msg.Sender) must have the funds to pay in that token.

___

