# Parameter Explanation

The following parameters play an essential role throughout the entire business process. It is necessary to provide a detailed explanation of them.

After creating an order, each record in the **Loan/OTC market** contains the `f_order_info` field, which holds the information from when the order was created.

#### **Operations (Not Limited To)**:

* Creating/makring an OTC Listing
* Cancelling an OTC Listing
* Taking an OTC Listing
* Creating a Loan Listing
* Cancelling a Loan Listing
* Lending Assets

***

#### **Key Parameters**

**Maker**

* The creator of the listing.

**Taker**

* The designated buyer or lender.
* If the order is open to everyone, use the empty address (`0x0000000000000000000000000000000000000000`).
* To specify a buyer or lender, provide their correct address.

**Assets**

* The assets being sold or pledged (only supports **ERC20**/**ERC721**).
* The seller/pledger must grant permission for the assets before listing.
* If the asset is ERC20, convert its precision using `toWei(amount, "decimal")`.

| **Field**    | **Description**                                                                                            |
| ------------ | ---------------------------------------------------------------------------------------------------------- |
| `collection` | Contract address of the asset.                                                                             |
| `assetClass` | Type of contract:                                                                                          |
|              | `0x0000000000000000000000000000000000000020` // Represents ERC20                                           |
|              | `0x0000000000000000000000000000000000000721` // Represents ERC721                                          |
| `amountOrID` | Differentiates ERC20/721. ERC20 assets are the quantity after `toWei`, while ERC721 assets are the NFT ID. |
| `name`       | Asset name.                                                                                                |
| `symbol`     | Asset symbol.                                                                                              |
| `decimal`    | Asset precision.                                                                                           |

**Note**: The asset type only supports **ERC20** and **ERC721**. Each ERC721 asset ID occupies one sequence. See examples below.

***

**Currency**

* The assets being purchased or borrowed (only supports **Native**/**ERC20**).
* The buyer/borrower must grant permission for the `currency` asset before proceeding.
* Convert precision using `toWei(amount, "decimal")`.

| **Field**    | **Description**                                                                 |
| ------------ | ------------------------------------------------------------------------------- |
| `collection` | Contract address of the asset.                                                  |
|              | For network native tokens: `0x0000000000000000000000000000000000000001`.        |
| `assetClass` | Type of contract:                                                               |
|              | `0x0000000000000000000000000000000000000000` // Represents network native token |
|              | `0x0000000000000000000000000000000000000020` // Represents ERC20                |
| `amountOrID` | Quantity after `toWei`.                                                         |
| `name`       | Asset name.                                                                     |
| `symbol`     | Asset symbol.                                                                   |
| `decimal`    | Asset precision.                                                                |

**Currency Example**:

```javascript
javascriptCopy codeconst currency = [
    {
        collection: "0x0000000000000000000000000000000000000001",
        assetClass: "0x0000000000000000000000000000000000000000",
        amountOrID: toWei(1, 18),
        name: "MATIC",
        symbol: "MATIC",
        decimal: 18
    }
];
```

***

**Deadline**

* The fundraising end time (in seconds).
* **Example**:

  ```javascript
  javascriptCopy code1 day = parseInt(Date.now() / 1000) + 86400;
  1 week = parseInt(Date.now() / 1000) + 86400 * 7;
  ```

***

**Duration**

* The loan duration after successful fundraising (in seconds).
* **Example**:

  ```javascript
  javascriptCopy code1 day = 86400;
  1 week = 7 * 86400;
  ```

***

**Interest Per Second**

* The interest generated per second (calculated based on the APR input by the user).
* When displaying on the UI, convert `interestPerSecond` back into APR for user clarity.

***

**Nonce**

* The nonce must be queried from the contract.
* When no interaction has occurred with the contract, the nonce will always be `0`. (Do not assume that a nonce of zero means you can skip this step).


---

# 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.paddlefi.com/api-documentation/tutorials/parameter-explanation.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.
