> For the complete documentation index, see [llms.txt](https://docs.paddlefi.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.paddlefi.com/api-documentation/tutorials/parameter-explanation.md).

# 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).
