# Offering

Represents an Asset Offering in the Polymesh blockchain

## Hierarchy

* [Entity](/polymesh-sdk-api-reference/docs-beta/classes/entity.md)‹UniqueIdentifiers, [HumanReadable](https://github.com/PolymathNetwork/polymesh-sdk/blob/docs/beta/docs/interfaces/humanreadable.md)›

  ↳ **Offering**

## Index

### Properties

* [asset](#asset)
* [context](#protected-context)
* [id](#id)
* [uuid](#uuid)

### Methods

* [close](#close)
* [details](#details)
* [exists](#exists)
* [freeze](#freeze)
* [getInvestments](#getinvestments)
* [getInvestmentsV2](#getinvestmentsv2)
* [invest](#invest)
* [isEqual](#isequal)
* [modifyTimes](#modifytimes)
* [toHuman](#tohuman)
* [unfreeze](#unfreeze)
* [generateUuid](#static-generateuuid)
* [unserialize](#static-unserialize)

## Properties

### asset

• **asset**: [*Asset*](/polymesh-sdk-api-reference/docs-beta/classes/asset.md)

*Defined in* [*src/api/entities/Offering/index.ts:68*](https://github.com/PolymathNetwork/polymesh-sdk/blob/31a16a34/src/api/entities/Offering/index.ts#L68)

Asset being offered

***

### `Protected` context

• **context**: *Context*

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

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

***

### id

• **id**: *BigNumber*

*Defined in* [*src/api/entities/Offering/index.ts:63*](https://github.com/PolymathNetwork/polymesh-sdk/blob/31a16a34/src/api/entities/Offering/index.ts#L63)

identifier number of the Offering

***

### uuid

• **uuid**: *string*

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

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

## Methods

### close

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

*Defined in* [*src/api/entities/Offering/index.ts:161*](https://github.com/PolymathNetwork/polymesh-sdk/blob/31a16a34/src/api/entities/Offering/index.ts#L161)

Close the Offering

**`note`** this method is of type [NoArgsProcedureMethod](https://github.com/PolymathNetwork/polymesh-sdk/blob/docs/beta/docs/interfaces/noargsproceduremethod.md), which means you can call [close.checkAuthorization](https://github.com/PolymathNetwork/polymesh-sdk/blob/docs/beta/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/PolymathNetwork/polymesh-sdk/blob/docs/beta/docs/interfaces/procedureopts.md) |

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

***

### details

▸ **details**(): *Promise‹*[*OfferingDetails*](https://github.com/PolymathNetwork/polymesh-sdk/blob/docs/beta/docs/interfaces/offeringdetails.md)*›*

*Defined in* [*src/api/entities/Offering/index.ts:114*](https://github.com/PolymathNetwork/polymesh-sdk/blob/31a16a34/src/api/entities/Offering/index.ts#L114)

Retrieve the Offering's details

**`note`** can be subscribed to

**Returns:** *Promise‹*[*OfferingDetails*](https://github.com/PolymathNetwork/polymesh-sdk/blob/docs/beta/docs/interfaces/offeringdetails.md)*›*

▸ **details**(`callback`: [SubCallback](/polymesh-sdk-api-reference/docs-beta/globals.md#subcallback)‹[OfferingDetails](https://github.com/PolymathNetwork/polymesh-sdk/blob/docs/beta/docs/interfaces/offeringdetails.md)›): *Promise‹*[*UnsubCallback*](/polymesh-sdk-api-reference/docs-beta/globals.md#unsubcallback)*›*

*Defined in* [*src/api/entities/Offering/index.ts:115*](https://github.com/PolymathNetwork/polymesh-sdk/blob/31a16a34/src/api/entities/Offering/index.ts#L115)

**Parameters:**

| Name       | Type                                                                                                                                                                                              |
| ---------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `callback` | [SubCallback](/polymesh-sdk-api-reference/docs-beta/globals.md#subcallback)‹[OfferingDetails](https://github.com/PolymathNetwork/polymesh-sdk/blob/docs/beta/docs/interfaces/offeringdetails.md)› |

**Returns:** *Promise‹*[*UnsubCallback*](/polymesh-sdk-api-reference/docs-beta/globals.md#unsubcallback)*›*

***

### exists

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

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

*Defined in* [*src/api/entities/Offering/index.ts:335*](https://github.com/PolymathNetwork/polymesh-sdk/blob/31a16a34/src/api/entities/Offering/index.ts#L335)

Determine whether this Offering exists on chain

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

***

### freeze

▸ **freeze**(`opts?`: [ProcedureOpts](https://github.com/PolymathNetwork/polymesh-sdk/blob/docs/beta/docs/interfaces/procedureopts.md)): *Promise‹*[*TransactionQueue*](/polymesh-sdk-api-reference/docs-beta/classes/transactionqueue.md)*‹*[*Offering*](/polymesh-sdk-api-reference/docs-beta/classes/offering.md)*››*

*Defined in* [*src/api/entities/Offering/index.ts:171*](https://github.com/PolymathNetwork/polymesh-sdk/blob/31a16a34/src/api/entities/Offering/index.ts#L171)

Freeze the Offering

**`note`** this method is of type [NoArgsProcedureMethod](https://github.com/PolymathNetwork/polymesh-sdk/blob/docs/beta/docs/interfaces/noargsproceduremethod.md), which means you can call [freeze.checkAuthorization](https://github.com/PolymathNetwork/polymesh-sdk/blob/docs/beta/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/PolymathNetwork/polymesh-sdk/blob/docs/beta/docs/interfaces/procedureopts.md) |

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

***

### getInvestments

▸ **getInvestments**(`opts`: object): *Promise‹*[*ResultSet*](https://github.com/PolymathNetwork/polymesh-sdk/blob/docs/beta/docs/interfaces/resultset.md)*‹*[*Investment*](https://github.com/PolymathNetwork/polymesh-sdk/blob/docs/beta/docs/interfaces/investment.md)*››*

*Defined in* [*src/api/entities/Offering/index.ts:223*](https://github.com/PolymathNetwork/polymesh-sdk/blob/31a16a34/src/api/entities/Offering/index.ts#L223)

Retrieve all investments made on this Offering

**`note`** supports pagination

**`note`** uses the middleware

**Parameters:**

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

| Name     | Type      | Description |
| -------- | --------- | ----------- |
| `size?`  | BigNumber | page size   |
| `start?` | BigNumber | page offset |

**Returns:** *Promise‹*[*ResultSet*](https://github.com/PolymathNetwork/polymesh-sdk/blob/docs/beta/docs/interfaces/resultset.md)*‹*[*Investment*](https://github.com/PolymathNetwork/polymesh-sdk/blob/docs/beta/docs/interfaces/investment.md)*››*

***

### getInvestmentsV2

▸ **getInvestmentsV2**(`opts`: object): *Promise‹*[*ResultSet*](https://github.com/PolymathNetwork/polymesh-sdk/blob/docs/beta/docs/interfaces/resultset.md)*‹*[*Investment*](https://github.com/PolymathNetwork/polymesh-sdk/blob/docs/beta/docs/interfaces/investment.md)*››*

*Defined in* [*src/api/entities/Offering/index.ts:286*](https://github.com/PolymathNetwork/polymesh-sdk/blob/31a16a34/src/api/entities/Offering/index.ts#L286)

Retrieve all investments made on this Offering

**`note`** supports pagination

**`note`** uses the middleware V2

**Parameters:**

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

| Name     | Type      | Description |
| -------- | --------- | ----------- |
| `size?`  | BigNumber | page size   |
| `start?` | BigNumber | page offset |

**Returns:** *Promise‹*[*ResultSet*](https://github.com/PolymathNetwork/polymesh-sdk/blob/docs/beta/docs/interfaces/resultset.md)*‹*[*Investment*](https://github.com/PolymathNetwork/polymesh-sdk/blob/docs/beta/docs/interfaces/investment.md)*››*

***

### invest

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

*Defined in* [*src/api/entities/Offering/index.ts:210*](https://github.com/PolymathNetwork/polymesh-sdk/blob/31a16a34/src/api/entities/Offering/index.ts#L210)

Invest in the Offering

**`note`** required roles:

* Purchase Portfolio Custodian
* Funding Portfolio Custodian

**`note`** this method is of type [ProcedureMethod](https://github.com/PolymathNetwork/polymesh-sdk/blob/docs/beta/docs/interfaces/proceduremethod.md), which means you can call [invest.checkAuthorization](https://github.com/PolymathNetwork/polymesh-sdk/blob/docs/beta/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`  | [InvestInOfferingParams](https://github.com/PolymathNetwork/polymesh-sdk/blob/docs/beta/docs/interfaces/investinofferingparams.md) |
| `opts?` | [ProcedureOpts](https://github.com/PolymathNetwork/polymesh-sdk/blob/docs/beta/docs/interfaces/procedureopts.md)                   |

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

***

### isEqual

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

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

*Defined in* [*src/api/entities/Entity.ts:61*](https://github.com/PolymathNetwork/polymesh-sdk/blob/31a16a34/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/docs-beta/classes/entity.md)‹unknown, unknown› |

**Returns:** *boolean*

***

### modifyTimes

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

*Defined in* [*src/api/entities/Offering/index.ts:196*](https://github.com/PolymathNetwork/polymesh-sdk/blob/31a16a34/src/api/entities/Offering/index.ts#L196)

Modify the start/end time of the Offering

**`throws`** if:

* Trying to modify the start time on an Offering that already started
* Trying to modify anything on an Offering that already ended
* Trying to change start or end time to a past date

**`note`** this method is of type [ProcedureMethod](https://github.com/PolymathNetwork/polymesh-sdk/blob/docs/beta/docs/interfaces/proceduremethod.md), which means you can call [modifyTimes.checkAuthorization](https://github.com/PolymathNetwork/polymesh-sdk/blob/docs/beta/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`  | ModifyStoTimesParams                                                                                             |
| `opts?` | [ProcedureOpts](https://github.com/PolymathNetwork/polymesh-sdk/blob/docs/beta/docs/interfaces/procedureopts.md) |

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

***

### toHuman

▸ **toHuman**(): [*HumanReadable*](https://github.com/PolymathNetwork/polymesh-sdk/blob/docs/beta/docs/interfaces/humanreadable.md)

*Overrides* [*Entity*](/polymesh-sdk-api-reference/docs-beta/classes/entity.md)*.*[*toHuman*](/polymesh-sdk-api-reference/docs-beta/classes/entity.md#abstract-tohuman)

*Defined in* [*src/api/entities/Offering/index.ts:353*](https://github.com/PolymathNetwork/polymesh-sdk/blob/31a16a34/src/api/entities/Offering/index.ts#L353)

Return the Offering's ID and Asset ticker

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

***

### unfreeze

▸ **unfreeze**(`opts?`: [ProcedureOpts](https://github.com/PolymathNetwork/polymesh-sdk/blob/docs/beta/docs/interfaces/procedureopts.md)): *Promise‹*[*TransactionQueue*](/polymesh-sdk-api-reference/docs-beta/classes/transactionqueue.md)*‹*[*Offering*](/polymesh-sdk-api-reference/docs-beta/classes/offering.md)*››*

*Defined in* [*src/api/entities/Offering/index.ts:181*](https://github.com/PolymathNetwork/polymesh-sdk/blob/31a16a34/src/api/entities/Offering/index.ts#L181)

Unfreeze the Offering

**`note`** this method is of type [NoArgsProcedureMethod](https://github.com/PolymathNetwork/polymesh-sdk/blob/docs/beta/docs/interfaces/noargsproceduremethod.md), which means you can call [unfreeze.checkAuthorization](https://github.com/PolymathNetwork/polymesh-sdk/blob/docs/beta/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/PolymathNetwork/polymesh-sdk/blob/docs/beta/docs/interfaces/procedureopts.md) |

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

***

### `Static` generateUuid

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

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

*Defined in* [*src/api/entities/Entity.ts:14*](https://github.com/PolymathNetwork/polymesh-sdk/blob/31a16a34/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/docs-beta/classes/checkpointschedule.md)*.*[*unserialize*](/polymesh-sdk-api-reference/docs-beta/classes/checkpointschedule.md#static-unserialize)

*Defined in* [*src/api/entities/Entity.ts:23*](https://github.com/PolymathNetwork/polymesh-sdk/blob/31a16a34/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/docs-beta/classes/offering.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.
