# types.TransferError

[@polymeshassociation/polymesh-sdk](/polymesh-sdk-api-reference/docs-alpha/classes.md) / [Modules](/polymesh-sdk-api-reference/docs-alpha/modules.md) / [types](/polymesh-sdk-api-reference/docs-alpha/modules-1/types.md) / TransferError

## Enumeration: TransferError

[types](/polymesh-sdk-api-reference/docs-alpha/modules-1/types.md).TransferError

Akin to TransferStatus, these are a bit more granular and specific. Every TransferError translates to a [TransferStatus](/polymesh-sdk-api-reference/docs-alpha/enums/types.transferstatus.md), but two or more TransferErrors can represent the same TransferStatus, and not all Transfer Statuses are represented by a TransferError

### Table of contents

#### Enumeration Members

* [InsufficientBalance](#insufficientbalance)
* [InsufficientPortfolioBalance](#insufficientportfoliobalance)
* [InvalidGranularity](#invalidgranularity)
* [InvalidReceiverCdd](#invalidreceivercdd)
* [InvalidReceiverPortfolio](#invalidreceiverportfolio)
* [InvalidSenderCdd](#invalidsendercdd)
* [InvalidSenderPortfolio](#invalidsenderportfolio)
* [ScopeClaimMissing](#scopeclaimmissing)
* [SelfTransfer](#selftransfer)
* [TransfersFrozen](#transfersfrozen)

### Enumeration Members

#### InsufficientBalance

• **InsufficientBalance**

translates to TransferStatus.InsufficientBalance

occurs if the sender Identity does not have enough balance to cover the amount

**Defined in**

[types/index.ts:618](https://github.com/PolymathNetwork/polymesh-sdk/blob/31dfa0dc/src/types/index.ts#L618)

***

#### InsufficientPortfolioBalance

• **InsufficientPortfolioBalance**

translates to TransferStatus.PortfolioFailure

occurs if the sender Portfolio does not have enough balance to cover the amount

**Defined in**

[types/index.ts:642](https://github.com/PolymathNetwork/polymesh-sdk/blob/31dfa0dc/src/types/index.ts#L642)

***

#### InvalidGranularity

• **InvalidGranularity**

translates to TransferStatus.InvalidGranularity

occurs if attempting to transfer decimal amounts of a non-divisible token

**Defined in**

[types/index.ts:587](https://github.com/PolymathNetwork/polymesh-sdk/blob/31dfa0dc/src/types/index.ts#L587)

***

#### InvalidReceiverCdd

• **InvalidReceiverCdd**

translates to TransferStatus.InvalidReceiverIdentity

occurs if the receiver Identity doesn't have a valid CDD claim

**Defined in**

[types/index.ts:599](https://github.com/PolymathNetwork/polymesh-sdk/blob/31dfa0dc/src/types/index.ts#L599)

***

#### InvalidReceiverPortfolio

• **InvalidReceiverPortfolio**

translates to TransferStatus.PortfolioFailure

occurs if the receiver Portfolio doesn't exist

**Defined in**

[types/index.ts:636](https://github.com/PolymathNetwork/polymesh-sdk/blob/31dfa0dc/src/types/index.ts#L636)

***

#### InvalidSenderCdd

• **InvalidSenderCdd**

translates to TransferStatus.InvalidSenderIdentity

occurs if the receiver Identity doesn't have a valid CDD claim

**Defined in**

[types/index.ts:605](https://github.com/PolymathNetwork/polymesh-sdk/blob/31dfa0dc/src/types/index.ts#L605)

***

#### InvalidSenderPortfolio

• **InvalidSenderPortfolio**

translates to TransferStatus.PortfolioFailure

occurs if the sender Portfolio doesn't exist

**Defined in**

[types/index.ts:630](https://github.com/PolymathNetwork/polymesh-sdk/blob/31dfa0dc/src/types/index.ts#L630)

***

#### ScopeClaimMissing

• **ScopeClaimMissing**

translates to TransferStatus.ScopeClaimMissing

occurs if one of the participants doesn't have a valid Investor Uniqueness Claim for the Asset

**Defined in**

[types/index.ts:612](https://github.com/PolymathNetwork/polymesh-sdk/blob/31dfa0dc/src/types/index.ts#L612)

***

#### SelfTransfer

• **SelfTransfer**

translates to TransferStatus.InvalidReceiverIdentity

occurs if the origin and destination Identities are the same

**Defined in**

[types/index.ts:593](https://github.com/PolymathNetwork/polymesh-sdk/blob/31dfa0dc/src/types/index.ts#L593)

***

#### TransfersFrozen

• **TransfersFrozen**

translates to TransferStatus.TransfersHalted

occurs if the Asset's transfers are frozen

**Defined in**

[types/index.ts:624](https://github.com/PolymathNetwork/polymesh-sdk/blob/31dfa0dc/src/types/index.ts#L624)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://developers.polymath.network/polymesh-sdk-api-reference/docs-alpha/enums/types.transfererror.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
