> For the complete documentation index, see [llms.txt](https://developers.polymath.network/polymesh-sdk-api-reference/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://developers.polymath.network/polymesh-sdk-api-reference/v11.0.2/classes/percentage.md).

# Percentage

Handles all Percentage Transfer Restriction related functionality

## Hierarchy

↳ [TransferRestrictionBase](/polymesh-sdk-api-reference/v11.0.2/classes/transferrestrictionbase.md)‹[Percentage](https://github.com/PolymathNetwork/polymesh-sdk/blob/docs/v11/docs/enums/transferrestrictiontype.md#percentage)›

↳ **Percentage**

## Index

### Properties

* [context](#protected-context)
* [get](#get)
* [parent](#protected-parent)
* [type](#protected-type)

### Methods

* [addRestriction](#addrestriction)
* [removeRestrictions](#removerestrictions)
* [setRestrictions](#setrestrictions)

## Properties

### `Protected` context

• **context**: [*Context*](/polymesh-sdk-api-reference/v11.0.2/classes/context.md)

*Inherited from void*

*Defined in* [*src/api/entities/Namespace.ts:11*](https://github.com/PolymathNetwork/polymesh-sdk/blob/da0f7fd7/src/api/entities/Namespace.ts#L11)

***

### get

• **get**: *function*

*Overrides* [*TransferRestrictionBase*](/polymesh-sdk-api-reference/v11.0.2/classes/transferrestrictionbase.md)*.*[*get*](/polymesh-sdk-api-reference/v11.0.2/classes/transferrestrictionbase.md#get)

*Defined in* [*src/api/entities/SecurityToken/TransferRestrictions/Percentage.ts:64*](https://github.com/PolymathNetwork/polymesh-sdk/blob/da0f7fd7/src/api/entities/SecurityToken/TransferRestrictions/Percentage.ts#L64)

Retrieve all active Percentage Transfer Restrictions

**`note`** there is a maximum number of restrictions allowed accross all types. The `availableSlots` property of the result represents how many more restrictions can be added before reaching that limit

#### Type declaration:

▸ (): *Promise‹*[*ActiveTransferRestrictions*](https://github.com/PolymathNetwork/polymesh-sdk/blob/docs/v11/docs/interfaces/activetransferrestrictions.md)*‹*[*PercentageTransferRestriction*](https://github.com/PolymathNetwork/polymesh-sdk/blob/docs/v11/docs/interfaces/percentagetransferrestriction.md)*››*

***

### `Protected` parent

• **parent**: [*SecurityToken*](/polymesh-sdk-api-reference/v11.0.2/classes/securitytoken.md)

*Inherited from void*

*Defined in* [*src/api/entities/Namespace.ts:9*](https://github.com/PolymathNetwork/polymesh-sdk/blob/da0f7fd7/src/api/entities/Namespace.ts#L9)

***

### `Protected` type

• **type**: [*Percentage*](https://github.com/PolymathNetwork/polymesh-sdk/blob/docs/v11/docs/enums/transferrestrictiontype.md#percentage) = TransferRestrictionType.Percentage as const

*Overrides* [*TransferRestrictionBase*](/polymesh-sdk-api-reference/v11.0.2/classes/transferrestrictionbase.md)*.*[*type*](/polymesh-sdk-api-reference/v11.0.2/classes/transferrestrictionbase.md#protected-abstract-type)

*Defined in* [*src/api/entities/SecurityToken/TransferRestrictions/Percentage.ts:19*](https://github.com/PolymathNetwork/polymesh-sdk/blob/da0f7fd7/src/api/entities/SecurityToken/TransferRestrictions/Percentage.ts#L19)

## Methods

### addRestriction

▸ **addRestriction**(`args`: Omit‹[AddPercentageTransferRestrictionParams](/polymesh-sdk-api-reference/v11.0.2/globals.md#addpercentagetransferrestrictionparams), "type"›, `opts?`: [ProcedureOpts](https://github.com/PolymathNetwork/polymesh-sdk/blob/docs/v11/docs/interfaces/procedureopts.md)): *Promise‹*[*TransactionQueue*](/polymesh-sdk-api-reference/v11.0.2/classes/transactionqueue.md)*‹number››*

*Overrides* [*TransferRestrictionBase*](/polymesh-sdk-api-reference/v11.0.2/classes/transferrestrictionbase.md)*.*[*addRestriction*](/polymesh-sdk-api-reference/v11.0.2/classes/transferrestrictionbase.md#addrestriction)

*Defined in* [*src/api/entities/SecurityToken/TransferRestrictions/Percentage.ts:29*](https://github.com/PolymathNetwork/polymesh-sdk/blob/da0f7fd7/src/api/entities/SecurityToken/TransferRestrictions/Percentage.ts#L29)

Add a Percentage Transfer Restriction to this Security Token

**`note`** the result is the total amount of restrictions after the procedure has run

**`note`** this method is of type [ProcedureMethod](https://github.com/PolymathNetwork/polymesh-sdk/blob/docs/v11/docs/interfaces/proceduremethod.md), which means you can call `addRestriction.checkAuthorization` on it to see whether the Current Account has the required permissions to run it

**Parameters:**

| Name    | Type                                                                                                                                          |
| ------- | --------------------------------------------------------------------------------------------------------------------------------------------- |
| `args`  | Omit‹[AddPercentageTransferRestrictionParams](/polymesh-sdk-api-reference/v11.0.2/globals.md#addpercentagetransferrestrictionparams), "type"› |
| `opts?` | [ProcedureOpts](https://github.com/PolymathNetwork/polymesh-sdk/blob/docs/v11/docs/interfaces/procedureopts.md)                               |

**Returns:** *Promise‹*[*TransactionQueue*](/polymesh-sdk-api-reference/v11.0.2/classes/transactionqueue.md)*‹number››*

***

### removeRestrictions

▸ **removeRestrictions**(`args`: void, `opts?`: [ProcedureOpts](https://github.com/PolymathNetwork/polymesh-sdk/blob/docs/v11/docs/interfaces/procedureopts.md)): *Promise‹*[*TransactionQueue*](/polymesh-sdk-api-reference/v11.0.2/classes/transactionqueue.md)*‹number››*

*Overrides* [*TransferRestrictionBase*](/polymesh-sdk-api-reference/v11.0.2/classes/transferrestrictionbase.md)*.*[*removeRestrictions*](/polymesh-sdk-api-reference/v11.0.2/classes/transferrestrictionbase.md#removerestrictions)

*Defined in* [*src/api/entities/SecurityToken/TransferRestrictions/Percentage.ts:53*](https://github.com/PolymathNetwork/polymesh-sdk/blob/da0f7fd7/src/api/entities/SecurityToken/TransferRestrictions/Percentage.ts#L53)

Removes all Percentage Transfer Restrictions from this Security Token

**`note`** the result is the total amount of restrictions after the procedure has run

**`note`** this method is of type [ProcedureMethod](https://github.com/PolymathNetwork/polymesh-sdk/blob/docs/v11/docs/interfaces/proceduremethod.md), which means you can call `removeRestrictions.checkAuthorization` on it to see whether the Current Account has the required permissions to run it

**Parameters:**

| Name    | Type                                                                                                            |
| ------- | --------------------------------------------------------------------------------------------------------------- |
| `args`  | void                                                                                                            |
| `opts?` | [ProcedureOpts](https://github.com/PolymathNetwork/polymesh-sdk/blob/docs/v11/docs/interfaces/procedureopts.md) |

**Returns:** *Promise‹*[*TransactionQueue*](/polymesh-sdk-api-reference/v11.0.2/classes/transactionqueue.md)*‹number››*

***

### setRestrictions

▸ **setRestrictions**(`args`: Omit‹[SetPercentageTransferRestrictionsParams](https://github.com/PolymathNetwork/polymesh-sdk/blob/docs/v11/docs/interfaces/setpercentagetransferrestrictionsparams.md), "type"›, `opts?`: [ProcedureOpts](https://github.com/PolymathNetwork/polymesh-sdk/blob/docs/v11/docs/interfaces/procedureopts.md)): *Promise‹*[*TransactionQueue*](/polymesh-sdk-api-reference/v11.0.2/classes/transactionqueue.md)*‹number››*

*Overrides* [*TransferRestrictionBase*](/polymesh-sdk-api-reference/v11.0.2/classes/transferrestrictionbase.md)*.*[*setRestrictions*](/polymesh-sdk-api-reference/v11.0.2/classes/transferrestrictionbase.md#setrestrictions)

*Defined in* [*src/api/entities/SecurityToken/TransferRestrictions/Percentage.ts:41*](https://github.com/PolymathNetwork/polymesh-sdk/blob/da0f7fd7/src/api/entities/SecurityToken/TransferRestrictions/Percentage.ts#L41)

Sets all Percentage Transfer Restrictions on this Security Token

**`note`** the result is the total amount of restrictions after the procedure has run

**`note`** this method is of type [ProcedureMethod](https://github.com/PolymathNetwork/polymesh-sdk/blob/docs/v11/docs/interfaces/proceduremethod.md), which means you can call `setRestrictions.checkAuthorization` on it to see whether the Current Account has the required permissions to run it

**Parameters:**

| Name    | Type                                                                                                                                                                              |
| ------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `args`  | Omit‹[SetPercentageTransferRestrictionsParams](https://github.com/PolymathNetwork/polymesh-sdk/blob/docs/v11/docs/interfaces/setpercentagetransferrestrictionsparams.md), "type"› |
| `opts?` | [ProcedureOpts](https://github.com/PolymathNetwork/polymesh-sdk/blob/docs/v11/docs/interfaces/procedureopts.md)                                                                   |

**Returns:** *Promise‹*[*TransactionQueue*](/polymesh-sdk-api-reference/v11.0.2/classes/transactionqueue.md)*‹number››*
