# Asset

The Asset in the DMEX smart contract is a fundamental object that defines the asset being traded in the futures contract. \
\
The Asset comprises of the following information:

| Parameter | Type    | Value                                                                                                           |
| --------- | ------- | --------------------------------------------------------------------------------------------------------------- |
| baseToken | address | the token used for margin (0x000... in the ETH case)                                                            |
| priceUrl  | string  | the url where the Oracle will take the settlement price from                                                    |
| pricePath | string  | the JSON parameter inside the priceUrl that represent the last traded price                                     |
| disabled  | bool    | if true, the asset cannot be used in contract creation (when priceUrl no longer valid or decimals have changed) |
| decimals  | uint256 | number of decimals in the price                                                                                 |

Every Asset has a unique hash. That unique hash is used in the “Asset” parameter when creating a new Futures Contract. There can be no two assets with different parameters but the same hash because all parameters are part of the hash, therefore a change in parameters would result in a new unique asset hash.

```javascript
bytes32 futuresAssetHash = keccak256(
    this, 
    baseToken, 
    priceUrl, 
    pricePath, 
    decimals
);
```


---

# 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.dmex.app/definitions/asset-definitions.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.
