# Product lifecycle

To understand how the investment product components work together, let's go through a couple of exemplary tasks and discuss them using the illustration below. The tasks have been simplified for this purpose but they nevertheless should give you a good general feeling of the inner workings.

<figure><img src="/files/juoVaSCWlzpbqgKRzinL" alt=""><figcaption></figcaption></figure>

When issuing an asset, a transaction calls the initialize method of the Asset Actor containing the asset terms, ownership information and the address of a Product engine . The exact parameters vary slightly between the contract types. Progressing through the lifecycle of the asset is done via the progress method of the Asset Actor . It retrieves the terms and the current state of the asset from the Asset Registry and uses the Product engines to derive the requirements for the state transition of the asset. For example if a payment is necessary to progress the asset's state, it is executed by the Asset Actor (assuming allowances were set at time of execution). Market Data Providers are whitelisted Ethereum accounts, e.g. decentralized oracles or trusted third parties that can publish data to the Data Registry using the publishDataPoint method. They provide external data points needed for example for rate resets, determining the market value of underlying assets.


---

# 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://docs.verified.network/reference/verified-sdk/investment-products/product-lifecycle.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.
