# Settlements

Handles all Security Token Settlements related functionality Handles all Settlement related functionality

## Hierarchy

* Namespace‹[SecurityToken](https://developers.polymath.network/polymesh-sdk-api-reference/v13.0.0/classes/securitytoken)›

  ↳ **Settlements**

## Index

### Properties

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

### Methods

* [canSettle](#cansettle)
* [canTransfer](#cantransfer)
* [getInstruction](#getinstruction)
* [getVenue](#getvenue)

## Properties

### `Protected` context

• **context**: [*Context*](https://developers.polymath.network/polymesh-sdk-api-reference/v13.0.0/classes/context)

*Inherited from void*

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

*Defined in* [*src/Settlements.ts:10*](https://github.com/PolymathNetwork/polymesh-sdk/blob/108d588b/src/Settlements.ts#L10)

***

### `Protected` parent

• **parent**: [*SecurityToken*](https://developers.polymath.network/polymesh-sdk-api-reference/v13.0.0/classes/securitytoken)

*Inherited from void*

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

## Methods

### canSettle

▸ **canSettle**(`args`: object): *Promise‹*[*TransferStatus*](https://github.com/PolymathNetwork/polymesh-sdk/blob/docs/v13/docs/enums/transferstatus.md)*›*

*Defined in* [*src/api/entities/SecurityToken/Settlements.ts:38*](https://github.com/PolymathNetwork/polymesh-sdk/blob/108d588b/src/api/entities/SecurityToken/Settlements.ts#L38)

Check whether it is possible to create a settlement instruction to transfer a certain amount of this asset between two Portfolios.

**`note`** this takes locked tokens into account. For example, if portfolio A has 1000 tokens and this function is called to check if 700 of them can be transferred to portfolio B (assuming everything else checks out) the result will be success. If an instruction is created and authorized to transfer those 700 tokens, they would become locked. From that point, further calls to this function would yield failed results because of the funds being locked, even though they haven't been transferred yet

**`deprecated`** in favor of [canTransfer](#cantransfer)

**Parameters:**

▪ **args**: *object*

| Name     | Type                                                                                                          | Description                                                                       |
| -------- | ------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- |
| `amount` | BigNumber                                                                                                     | amount of tokens to transfer                                                      |
| `from?`  | [PortfolioLike](https://developers.polymath.network/polymesh-sdk-api-reference/v13.0.0/globals#portfoliolike) | sender Portfolio (optional, defaults to the current Identity's Default Portfolio) |
| `to`     | [PortfolioLike](https://developers.polymath.network/polymesh-sdk-api-reference/v13.0.0/globals#portfoliolike) | receiver Portfolio                                                                |

**Returns:** *Promise‹*[*TransferStatus*](https://github.com/PolymathNetwork/polymesh-sdk/blob/docs/v13/docs/enums/transferstatus.md)*›*

***

### canTransfer

▸ **canTransfer**(`args`: object): *Promise‹*[*TransferBreakdown*](https://github.com/PolymathNetwork/polymesh-sdk/blob/docs/v13/docs/interfaces/transferbreakdown.md)*›*

*Defined in* [*src/api/entities/SecurityToken/Settlements.ts:108*](https://github.com/PolymathNetwork/polymesh-sdk/blob/108d588b/src/api/entities/SecurityToken/Settlements.ts#L108)

Check whether it is possible to create a settlement instruction to transfer a certain amount of this asset between two Portfolios. Returns a breakdown of the transaction containing general errors (such as insufficient balance or invalid receiver), any broken transfer restrictions, and any compliance failures

**`note`** this takes locked tokens into account. For example, if portfolio A has 1000 tokens and this function is called to check if 700 of them can be transferred to portfolio B (assuming everything else checks out) the result will be success. If an instruction is created and authorized to transfer those 700 tokens, they would become locked. From that point, further calls to this function would yield failed results because of the funds being locked, even though they haven't been transferred yet

**Parameters:**

▪ **args**: *object*

| Name     | Type                                                                                                          | Description                                                                       |
| -------- | ------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- |
| `amount` | BigNumber                                                                                                     | amount of tokens to transfer                                                      |
| `from?`  | [PortfolioLike](https://developers.polymath.network/polymesh-sdk-api-reference/v13.0.0/globals#portfoliolike) | sender Portfolio (optional, defaults to the current Identity's Default Portfolio) |
| `to`     | [PortfolioLike](https://developers.polymath.network/polymesh-sdk-api-reference/v13.0.0/globals#portfoliolike) | receiver Portfolio                                                                |

**Returns:** *Promise‹*[*TransferBreakdown*](https://github.com/PolymathNetwork/polymesh-sdk/blob/docs/v13/docs/interfaces/transferbreakdown.md)*›*

***

### getInstruction

▸ **getInstruction**(`args`: object): *Promise‹*[*Instruction*](https://developers.polymath.network/polymesh-sdk-api-reference/v13.0.0/classes/instruction)*›*

*Defined in* [*src/Settlements.ts:45*](https://github.com/PolymathNetwork/polymesh-sdk/blob/108d588b/src/Settlements.ts#L45)

Retrieve an Instruction by its ID

**Parameters:**

▪ **args**: *object*

| Name | Type      |
| ---- | --------- |
| `id` | BigNumber |

**Returns:** *Promise‹*[*Instruction*](https://developers.polymath.network/polymesh-sdk-api-reference/v13.0.0/classes/instruction)*›*

***

### getVenue

▸ **getVenue**(`args`: object): *Promise‹*[*Venue*](https://developers.polymath.network/polymesh-sdk-api-reference/v13.0.0/classes/venue)*›*

*Defined in* [*src/Settlements.ts:24*](https://github.com/PolymathNetwork/polymesh-sdk/blob/108d588b/src/Settlements.ts#L24)

Retrieve a Venue by its ID

**Parameters:**

▪ **args**: *object*

| Name | Type      |
| ---- | --------- |
| `id` | BigNumber |

**Returns:** *Promise‹*[*Venue*](https://developers.polymath.network/polymesh-sdk-api-reference/v13.0.0/classes/venue)*›*


---

# 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/v13.0.0/classes/settlements.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.
