# DefaultPortfolio

Represents the default Portfolio for an Identity

## Hierarchy

↳ [Portfolio](/polymesh-sdk-api-reference/classes/portfolio.md)

↳ **DefaultPortfolio**

## Index

### Properties

* [\_id](#protected-optional-_id)
* [context](#protected-context)
* [owner](#owner)
* [uuid](#uuid)

### Methods

* [exists](#exists)
* [getAssetBalances](#getassetbalances)
* [getCustodian](#getcustodian)
* [getTransactionHistory](#gettransactionhistory)
* [isCustodiedBy](#iscustodiedby)
* [isEqual](#isequal)
* [isOwnedBy](#isownedby)
* [moveFunds](#movefunds)
* [quitCustody](#quitcustody)
* [setCustodian](#setcustodian)
* [toJson](#tojson)
* [generateUuid](#static-generateuuid)
* [unserialize](#static-unserialize)

## Properties

### `Protected` `Optional` \_id

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

*Inherited from* [*Portfolio*](/polymesh-sdk-api-reference/classes/portfolio.md)*.*[*\_id*](/polymesh-sdk-api-reference/classes/portfolio.md#protected-optional-_id)

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

internal Portfolio identifier (unused for default Portfolio)

***

### `Protected` context

• **context**: *Context*

*Inherited from* [*CheckpointSchedule*](/polymesh-sdk-api-reference/classes/checkpointschedule.md)*.*[*context*](/polymesh-sdk-api-reference/classes/checkpointschedule.md#protected-context)

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

***

### owner

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

*Inherited from* [*Portfolio*](/polymesh-sdk-api-reference/classes/portfolio.md)*.*[*owner*](/polymesh-sdk-api-reference/classes/portfolio.md#owner)

*Defined in* [*src/api/entities/Portfolio/index.ts:75*](https://github.com/PolymeshAssociation/polymesh-sdk/blob/46845947/src/api/entities/Portfolio/index.ts#L75)

Identity of the Portfolio's owner

***

### uuid

• **uuid**: *string*

*Inherited from* [*CheckpointSchedule*](/polymesh-sdk-api-reference/classes/checkpointschedule.md)*.*[*uuid*](/polymesh-sdk-api-reference/classes/checkpointschedule.md#uuid)

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

## Methods

### exists

▸ **exists**(): *Promise‹boolean›*

*Overrides* [*Entity*](/polymesh-sdk-api-reference/classes/entity.md)*.*[*exists*](/polymesh-sdk-api-reference/classes/entity.md#abstract-exists)

*Defined in* [*src/api/entities/DefaultPortfolio.ts:22*](https://github.com/PolymeshAssociation/polymesh-sdk/blob/46845947/src/api/entities/DefaultPortfolio.ts#L22)

Determine whether this Portfolio exists on chain

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

***

### getAssetBalances

▸ **getAssetBalances**(`args?`: undefined | object): *Promise‹*[*PortfolioBalance*](https://github.com/PolymeshAssociation/polymesh-sdk/blob/docs/v14/docs/interfaces/portfoliobalance.md)*\[]›*

*Inherited from* [*Portfolio*](/polymesh-sdk-api-reference/classes/portfolio.md)*.*[*getAssetBalances*](/polymesh-sdk-api-reference/classes/portfolio.md#getassetbalances)

*Defined in* [*src/api/entities/Portfolio/index.ts:141*](https://github.com/PolymeshAssociation/polymesh-sdk/blob/46845947/src/api/entities/Portfolio/index.ts#L141)

Retrieve the balances of all Assets in this Portfolio

**Parameters:**

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

**Returns:** *Promise‹*[*PortfolioBalance*](https://github.com/PolymeshAssociation/polymesh-sdk/blob/docs/v14/docs/interfaces/portfoliobalance.md)*\[]›*

***

### getCustodian

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

*Inherited from* [*Portfolio*](/polymesh-sdk-api-reference/classes/portfolio.md)*.*[*getCustodian*](/polymesh-sdk-api-reference/classes/portfolio.md#getcustodian)

*Defined in* [*src/api/entities/Portfolio/index.ts:259*](https://github.com/PolymeshAssociation/polymesh-sdk/blob/46845947/src/api/entities/Portfolio/index.ts#L259)

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/classes/identity.md)*›*

***

### getTransactionHistory

▸ **getTransactionHistory**(`filters`: object): *Promise‹*[*ResultSet*](https://github.com/PolymeshAssociation/polymesh-sdk/blob/docs/v14/docs/interfaces/resultset.md)*‹*[*HistoricSettlement*](https://github.com/PolymeshAssociation/polymesh-sdk/blob/docs/v14/docs/interfaces/historicsettlement.md)*››*

*Inherited from* [*Portfolio*](/polymesh-sdk-api-reference/classes/portfolio.md)*.*[*getTransactionHistory*](/polymesh-sdk-api-reference/classes/portfolio.md#gettransactionhistory)

*Defined in* [*src/api/entities/Portfolio/index.ts:304*](https://github.com/PolymeshAssociation/polymesh-sdk/blob/46845947/src/api/entities/Portfolio/index.ts#L304)

Retrieve a list of transactions where this portfolio was involved. Can be filtered using parameters

**`note`** supports pagination

**`note`** uses the middleware

**Parameters:**

▪`Default value` **filters**: *object*= {}

| Name       | Type                | Description                        |
| ---------- | ------------------- | ---------------------------------- |
| `account?` | undefined \| string | Account involved in the settlement |
| `size?`    | BigNumber           | page size                          |
| `start?`   | BigNumber           | page offset                        |
| `ticker?`  | undefined \| string | ticker involved in the transaction |

**Returns:** *Promise‹*[*ResultSet*](https://github.com/PolymeshAssociation/polymesh-sdk/blob/docs/v14/docs/interfaces/resultset.md)*‹*[*HistoricSettlement*](https://github.com/PolymeshAssociation/polymesh-sdk/blob/docs/v14/docs/interfaces/historicsettlement.md)*››*

***

### isCustodiedBy

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

*Inherited from* [*Portfolio*](/polymesh-sdk-api-reference/classes/portfolio.md)*.*[*isCustodiedBy*](/polymesh-sdk-api-reference/classes/portfolio.md#iscustodiedby)

*Defined in* [*src/api/entities/Portfolio/index.ts:125*](https://github.com/PolymeshAssociation/polymesh-sdk/blob/46845947/src/api/entities/Portfolio/index.ts#L125)

Return whether an Identity is the Portfolio custodian

**Parameters:**

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

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

***

### isEqual

▸ **isEqual**(`entity`: [Entity](/polymesh-sdk-api-reference/classes/entity.md)‹unknown, unknown›): *boolean*

*Inherited from* [*CheckpointSchedule*](/polymesh-sdk-api-reference/classes/checkpointschedule.md)*.*[*isEqual*](/polymesh-sdk-api-reference/classes/checkpointschedule.md#isequal)

*Defined in* [*src/api/entities/Entity.ts:61*](https://github.com/PolymeshAssociation/polymesh-sdk/blob/46845947/src/api/entities/Entity.ts#L61)

Determine whether this Entity is the same as another one

**Parameters:**

| Name     | Type                                                                      |
| -------- | ------------------------------------------------------------------------- |
| `entity` | [Entity](/polymesh-sdk-api-reference/classes/entity.md)‹unknown, unknown› |

**Returns:** *boolean*

***

### isOwnedBy

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

*Inherited from* [*Portfolio*](/polymesh-sdk-api-reference/classes/portfolio.md)*.*[*isOwnedBy*](/polymesh-sdk-api-reference/classes/portfolio.md#isownedby)

*Defined in* [*src/api/entities/Portfolio/index.ts:112*](https://github.com/PolymeshAssociation/polymesh-sdk/blob/46845947/src/api/entities/Portfolio/index.ts#L112)

Return whether an Identity is the Portfolio owner

**Parameters:**

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

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

***

### moveFunds

▸ **moveFunds**(`args`: [MoveFundsParams](https://github.com/PolymeshAssociation/polymesh-sdk/blob/docs/v14/docs/interfaces/movefundsparams.md), `opts?`: [ProcedureOpts](https://github.com/PolymeshAssociation/polymesh-sdk/blob/docs/v14/docs/interfaces/procedureopts.md)): *Promise‹*[*TransactionQueue*](/polymesh-sdk-api-reference/classes/transactionqueue.md)*‹void››*

*Inherited from* [*Portfolio*](/polymesh-sdk-api-reference/classes/portfolio.md)*.*[*moveFunds*](/polymesh-sdk-api-reference/classes/portfolio.md#movefunds)

*Defined in* [*src/api/entities/Portfolio/index.ts:237*](https://github.com/PolymeshAssociation/polymesh-sdk/blob/46845947/src/api/entities/Portfolio/index.ts#L237)

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

**`note`** required role:

* Portfolio Custodian

**`note`** this method is of type [ProcedureMethod](https://github.com/PolymeshAssociation/polymesh-sdk/blob/docs/v14/docs/interfaces/proceduremethod.md), which means you can call [moveFunds.checkAuthorization](https://github.com/PolymeshAssociation/polymesh-sdk/blob/docs/v14/docs/interfaces/proceduremethod.md#checkauthorization) on it to see whether the signing Account and Identity have the required roles and permissions to run it

**Parameters:**

| Name    | Type                                                                                                                    |
| ------- | ----------------------------------------------------------------------------------------------------------------------- |
| `args`  | [MoveFundsParams](https://github.com/PolymeshAssociation/polymesh-sdk/blob/docs/v14/docs/interfaces/movefundsparams.md) |
| `opts?` | [ProcedureOpts](https://github.com/PolymeshAssociation/polymesh-sdk/blob/docs/v14/docs/interfaces/procedureopts.md)     |

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

***

### quitCustody

▸ **quitCustody**(`opts?`: [ProcedureOpts](https://github.com/PolymeshAssociation/polymesh-sdk/blob/docs/v14/docs/interfaces/procedureopts.md)): *Promise‹*[*TransactionQueue*](/polymesh-sdk-api-reference/classes/transactionqueue.md)*‹void››*

*Inherited from* [*Portfolio*](/polymesh-sdk-api-reference/classes/portfolio.md)*.*[*quitCustody*](/polymesh-sdk-api-reference/classes/portfolio.md#quitcustody)

*Defined in* [*src/api/entities/Portfolio/index.ts:250*](https://github.com/PolymeshAssociation/polymesh-sdk/blob/46845947/src/api/entities/Portfolio/index.ts#L250)

Returns the custody of the portfolio to the portfolio owner unilaterally

**`note`** required role:

* Portfolio Custodian

**`note`** this method is of type [NoArgsProcedureMethod](https://github.com/PolymeshAssociation/polymesh-sdk/blob/docs/v14/docs/interfaces/noargsproceduremethod.md), which means you can call [quitCustody.checkAuthorization](https://github.com/PolymeshAssociation/polymesh-sdk/blob/docs/v14/docs/interfaces/noargsproceduremethod.md#checkauthorization) on it to see whether the signing Account and Identity have the required roles and permissions to run it

**Parameters:**

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

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

***

### setCustodian

▸ **setCustodian**(`args`: [SetCustodianParams](https://github.com/PolymeshAssociation/polymesh-sdk/blob/docs/v14/docs/interfaces/setcustodianparams.md), `opts?`: [ProcedureOpts](https://github.com/PolymeshAssociation/polymesh-sdk/blob/docs/v14/docs/interfaces/procedureopts.md)): *Promise‹*[*TransactionQueue*](/polymesh-sdk-api-reference/classes/transactionqueue.md)*‹*[*AuthorizationRequest*](/polymesh-sdk-api-reference/classes/authorizationrequest.md)*››*

*Inherited from* [*Portfolio*](/polymesh-sdk-api-reference/classes/portfolio.md)*.*[*setCustodian*](/polymesh-sdk-api-reference/classes/portfolio.md#setcustodian)

*Defined in* [*src/api/entities/Portfolio/index.ts:224*](https://github.com/PolymeshAssociation/polymesh-sdk/blob/46845947/src/api/entities/Portfolio/index.ts#L224)

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

**`note`** this will create an [Authorization Request](/polymesh-sdk-api-reference/classes/authorizationrequest.md) which has to be accepted by the `targetIdentity`. An [Account](https://github.com/PolymeshAssociation/polymesh-sdk/blob/docs/v14/docs/enums/signertype.md#account) or [Identity](https://github.com/PolymeshAssociation/polymesh-sdk/blob/docs/v14/docs/enums/roletype.md#identity) can fetch its pending Authorization Requests by calling [authorizations.getReceived](/polymesh-sdk-api-reference/classes/authorizations.md#getreceived). Also, an Account or Identity can directly fetch the details of an Authorization Request by calling [authorizations.getOne](/polymesh-sdk-api-reference/classes/authorizations.md#getone)

**`note`** required role:

* Portfolio Custodian

**`note`** this method is of type [ProcedureMethod](https://github.com/PolymeshAssociation/polymesh-sdk/blob/docs/v14/docs/interfaces/proceduremethod.md), which means you can call [setCustodian.checkAuthorization](https://github.com/PolymeshAssociation/polymesh-sdk/blob/docs/v14/docs/interfaces/proceduremethod.md#checkauthorization) on it to see whether the signing Account and Identity have the required roles and permissions to run it

**Parameters:**

| Name    | Type                                                                                                                          |
| ------- | ----------------------------------------------------------------------------------------------------------------------------- |
| `args`  | [SetCustodianParams](https://github.com/PolymeshAssociation/polymesh-sdk/blob/docs/v14/docs/interfaces/setcustodianparams.md) |
| `opts?` | [ProcedureOpts](https://github.com/PolymeshAssociation/polymesh-sdk/blob/docs/v14/docs/interfaces/procedureopts.md)           |

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

***

### toJson

▸ **toJson**(): [*HumanReadable*](https://github.com/PolymeshAssociation/polymesh-sdk/blob/docs/v14/docs/interfaces/humanreadable.md)

*Inherited from* [*Portfolio*](/polymesh-sdk-api-reference/classes/portfolio.md)*.*[*toJson*](/polymesh-sdk-api-reference/classes/portfolio.md#tojson)

*Overrides* [*Entity*](/polymesh-sdk-api-reference/classes/entity.md)*.*[*toJson*](/polymesh-sdk-api-reference/classes/entity.md#abstract-tojson)

*Defined in* [*src/api/entities/Portfolio/index.ts:401*](https://github.com/PolymeshAssociation/polymesh-sdk/blob/46845947/src/api/entities/Portfolio/index.ts#L401)

Return the Portfolio ID and owner DID

**Returns:** [*HumanReadable*](https://github.com/PolymeshAssociation/polymesh-sdk/blob/docs/v14/docs/interfaces/humanreadable.md)

***

### `Static` generateUuid

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

*Inherited from* [*CheckpointSchedule*](/polymesh-sdk-api-reference/classes/checkpointschedule.md)*.*[*generateUuid*](/polymesh-sdk-api-reference/classes/checkpointschedule.md#static-generateuuid)

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

Generate the Entity's UUID from its identifying properties

**Type parameters:**

▪ **Identifiers**

**Parameters:**

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

**Returns:** *string*

***

### `Static` unserialize

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

*Inherited from* [*CheckpointSchedule*](/polymesh-sdk-api-reference/classes/checkpointschedule.md)*.*[*unserialize*](/polymesh-sdk-api-reference/classes/checkpointschedule.md#static-unserialize)

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

Unserialize a UUID into its Unique Identifiers

**Type parameters:**

▪ **Identifiers**

**Parameters:**

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

**Returns:** *Identifiers*


---

# 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/classes/defaultportfolio.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.
