> 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/docs-v2/classes/portfolio.md).

# Portfolio

Represents a base Portfolio for a specific Identity in the Polymesh blockchain

## Hierarchy

* [Entity](/polymesh-sdk-api-reference/docs-v2/classes/entity.md)‹UniqueIdentifiers›

  ↳ **Portfolio**

  ↳ [DefaultPortfolio](/polymesh-sdk-api-reference/docs-v2/classes/defaultportfolio.md)

  ↳ [NumberedPortfolio](/polymesh-sdk-api-reference/docs-v2/classes/numberedportfolio.md)

## Index

### Properties

* [\_id](/polymesh-sdk-api-reference/docs-v2/classes/portfolio.md#protected-optional-_id)
* [context](/polymesh-sdk-api-reference/docs-v2/classes/portfolio.md#protected-context)
* [owner](/polymesh-sdk-api-reference/docs-v2/classes/portfolio.md#owner)
* [uuid](/polymesh-sdk-api-reference/docs-v2/classes/portfolio.md#uuid)

### Methods

* [getCustodian](/polymesh-sdk-api-reference/docs-v2/classes/portfolio.md#getcustodian)
* [getTokenBalances](/polymesh-sdk-api-reference/docs-v2/classes/portfolio.md#gettokenbalances)
* [isCustodiedBy](/polymesh-sdk-api-reference/docs-v2/classes/portfolio.md#iscustodiedby)
* [isOwnedBy](/polymesh-sdk-api-reference/docs-v2/classes/portfolio.md#isownedby)
* [moveFunds](/polymesh-sdk-api-reference/docs-v2/classes/portfolio.md#movefunds)
* [setCustodian](/polymesh-sdk-api-reference/docs-v2/classes/portfolio.md#setcustodian)
* [generateUuid](/polymesh-sdk-api-reference/docs-v2/classes/portfolio.md#static-generateuuid)
* [unserialize](/polymesh-sdk-api-reference/docs-v2/classes/portfolio.md#static-unserialize)

## Properties

### `Protected` `Optional` \_id

• **\_id**? : *BigNumber*

*Defined in* [*src/api/entities/Portfolio/index.ts:45*](https://github.com/PolymathNetwork/polymesh-sdk/blob/5b409784/src/api/entities/Portfolio/index.ts#L45)

internal Portfolio identifier (unused for default Portfolio)

### `Protected` context

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

*Inherited from* [*Entity*](/polymesh-sdk-api-reference/docs-v2/classes/entity.md)*.*[*context*](/polymesh-sdk-api-reference/docs-v2/classes/entity.md#protected-context)

*Defined in* [*src/api/entities/Entity.ts:48*](https://github.com/PolymathNetwork/polymesh-sdk/blob/5b409784/src/api/entities/Entity.ts#L48)

### owner

• **owner**: [*Identity*](/polymesh-sdk-api-reference/docs-v2/classes/identity.md)

*Defined in* [*src/api/entities/Portfolio/index.ts:40*](https://github.com/PolymathNetwork/polymesh-sdk/blob/5b409784/src/api/entities/Portfolio/index.ts#L40)

identity of the Portfolio's owner

### uuid

• **uuid**: *string*

*Inherited from* [*Entity*](/polymesh-sdk-api-reference/docs-v2/classes/entity.md)*.*[*uuid*](/polymesh-sdk-api-reference/docs-v2/classes/entity.md#uuid)

*Defined in* [*src/api/entities/Entity.ts:46*](https://github.com/PolymathNetwork/polymesh-sdk/blob/5b409784/src/api/entities/Entity.ts#L46)

## Methods

### getCustodian

▸ **getCustodian**(): *Promise‹*[*Identity*](/polymesh-sdk-api-reference/docs-v2/classes/identity.md)*›*

*Defined in* [*src/api/entities/Portfolio/index.ts:191*](https://github.com/PolymathNetwork/polymesh-sdk/blob/5b409784/src/api/entities/Portfolio/index.ts#L191)

Retrieve the custodian Identity of this Portfolio

**`note`** if no custodian is set, the owner Identity is returned

**Returns:** *Promise‹*[*Identity*](/polymesh-sdk-api-reference/docs-v2/classes/identity.md)*›*

### getTokenBalances

▸ **getTokenBalances**(`args?`: undefined | object): *Promise‹*[*PortfolioBalance*](/polymesh-sdk-api-reference/docs-v2/interfaces/portfoliobalance.md)*\[]›*

*Defined in* [*src/api/entities/Portfolio/index.ts:96*](https://github.com/PolymathNetwork/polymesh-sdk/blob/5b409784/src/api/entities/Portfolio/index.ts#L96)

Retrieve the balances of all assets in this Portfolio

**Parameters:**

| Name    | Type                |
| ------- | ------------------- |
| `args?` | undefined \| object |

**Returns:** *Promise‹*[*PortfolioBalance*](/polymesh-sdk-api-reference/docs-v2/interfaces/portfoliobalance.md)*\[]›*

### isCustodiedBy

▸ **isCustodiedBy**(`args?`: undefined | object): *Promise‹boolean›*

*Defined in* [*src/api/entities/Portfolio/index.ts:80*](https://github.com/PolymathNetwork/polymesh-sdk/blob/5b409784/src/api/entities/Portfolio/index.ts#L80)

Return whether an Identity is the Portfolio custodian

**Parameters:**

| Name    | Type                |
| ------- | ------------------- |
| `args?` | undefined \| object |

**Returns:** *Promise‹boolean›*

### isOwnedBy

▸ **isOwnedBy**(`args?`: undefined | object): *Promise‹boolean›*

*Defined in* [*src/api/entities/Portfolio/index.ts:64*](https://github.com/PolymathNetwork/polymesh-sdk/blob/5b409784/src/api/entities/Portfolio/index.ts#L64)

Return whether an Identity is the Portfolio owner

**Parameters:**

| Name    | Type                |
| ------- | ------------------- |
| `args?` | undefined \| object |

**Returns:** *Promise‹boolean›*

### moveFunds

▸ **moveFunds**(`args`: [MoveFundsParams](/polymesh-sdk-api-reference/docs-v2/interfaces/movefundsparams.md)): *Promise‹*[*TransactionQueue*](/polymesh-sdk-api-reference/docs-v2/classes/transactionqueue.md)*‹void››*

*Defined in* [*src/api/entities/Portfolio/index.ts:182*](https://github.com/PolymathNetwork/polymesh-sdk/blob/5b409784/src/api/entities/Portfolio/index.ts#L182)

Moves funds from this Portfolio to another one owned by the same Identity

**Parameters:**

| Name   | Type                                                                                 |
| ------ | ------------------------------------------------------------------------------------ |
| `args` | [MoveFundsParams](/polymesh-sdk-api-reference/docs-v2/interfaces/movefundsparams.md) |

**Returns:** *Promise‹*[*TransactionQueue*](/polymesh-sdk-api-reference/docs-v2/classes/transactionqueue.md)*‹void››*

### setCustodian

▸ **setCustodian**(`args`: [SetCustodianParams](/polymesh-sdk-api-reference/docs-v2/interfaces/setcustodianparams.md)): *Promise‹*[*TransactionQueue*](/polymesh-sdk-api-reference/docs-v2/classes/transactionqueue.md)*‹void››*

*Defined in* [*src/api/entities/Portfolio/index.ts:166*](https://github.com/PolymathNetwork/polymesh-sdk/blob/5b409784/src/api/entities/Portfolio/index.ts#L166)

Send an invitation to an Identity to assign it as custodian for this Portfolio

**`note`** this may create an AuthorizationRequest which has to be accepted by the corresponding Identity. An Account or Identity can fetch its pending Authorization Requests by calling `authorizations.getReceived`

**Parameters:**

| Name   | Type                                                                                       |
| ------ | ------------------------------------------------------------------------------------------ |
| `args` | [SetCustodianParams](/polymesh-sdk-api-reference/docs-v2/interfaces/setcustodianparams.md) |

**Returns:** *Promise‹*[*TransactionQueue*](/polymesh-sdk-api-reference/docs-v2/classes/transactionqueue.md)*‹void››*

### `Static` generateUuid

▸ **generateUuid**‹**Identifiers**›(`identifiers`: Identifiers): *string*

*Inherited from* [*Entity*](/polymesh-sdk-api-reference/docs-v2/classes/entity.md)*.*[*generateUuid*](/polymesh-sdk-api-reference/docs-v2/classes/entity.md#static-generateuuid)

*Defined in* [*src/api/entities/Entity.ts:14*](https://github.com/PolymathNetwork/polymesh-sdk/blob/5b409784/src/api/entities/Entity.ts#L14)

Generate the Entity's UUID from its identifying properties

**Type parameters:**

▪ **Identifiers**: *object*

**Parameters:**

| Name          | Type        | Description |
| ------------- | ----------- | ----------- |
| `identifiers` | Identifiers |             |

**Returns:** *string*

### `Static` unserialize

▸ **unserialize**‹**Identifiers**›(`serialized`: string): *Identifiers*

*Inherited from* [*Entity*](/polymesh-sdk-api-reference/docs-v2/classes/entity.md)*.*[*unserialize*](/polymesh-sdk-api-reference/docs-v2/classes/entity.md#static-unserialize)

*Defined in* [*src/api/entities/Entity.ts:23*](https://github.com/PolymathNetwork/polymesh-sdk/blob/5b409784/src/api/entities/Entity.ts#L23)

Unserialize a UUID into its Unique Identifiers

**Type parameters:**

▪ **Identifiers**: *object*

**Parameters:**

| Name         | Type   | Description         |
| ------------ | ------ | ------------------- |
| `serialized` | string | UUID to unserialize |

**Returns:** *Identifiers*
