# Public APIs

## Pools List

This endpoint retrieves the details of various pools configured in the system. It provides essential information about each pool, including its status, investment parameters, and management addresses.

***

### 🧾 Endpoint

* **Method**: `GET`
* **URL**: `https://edgeapi.csigma.finance/api/v1/external/pools/list`

***

### 🔐 Authentication

No authentication is required for this endpoint.

***

### 📥 Request

**Method**: `GET`\
**URL**: `https://edgeapi.csigma.finance/api/v1/external/pools/list`

*No parameters required.*

***

### 📤 Response

#### Structure:

* `success` (boolean): Indicates whether the request was successful.
* `data.pools` (array)A list of pool objects.
* `data.yieldBearingTokens` (array)A list of yield bearing tokens.

Each pool object includes:

| Property                 | Type    | Description                             |
| ------------------------ | ------- | --------------------------------------- |
| `address`                | string  | The address of the pool                 |
| `name`                   | string  | The name of the pool                    |
| `ticker`                 | string  | The ticker symbol LP Token              |
| `projectedApr`           | number  | The projected annual percentage rate    |
| `apr`                    | number  | The current annual percentage rate      |
| `poolSize`               | number  | The size of the pool                    |
| `networkId`              | number  | The identifier for the network          |
| `tokenAddress`           | string  | The address of the associated token     |
| `poolManagerAddress`     | string  | The address of the pool manager         |
| `fundManagerAddress`     | string  | The address of the fund manager         |
| `stakingContractAddress` | string  | The address of the staking contract     |
| `v1Pools`                | array   | Array of V1 pool objects (see below)    |
| `status`                 | string  | The current status of the pool          |
| `isPaused`               | boolean | Indicates if the pool is paused         |
| `minimumInvestment`      | string  | The minimum investment required         |
| `description`            | string  | A description of the pool               |
| `withdrawalManager`      | string  | The address of the withdrawal manager   |
| `stakingAPY`             | number  | The annual percentage yield for staking |
| `createdAt`              | string  | The creation date of the pool           |

Each yield bearing token object includes:

| Property              | Type   | Description                                            |
| --------------------- | ------ | ------------------------------------------------------ |
| `sharedTokenAddress`  | string | Address of the shared token                            |
| `sharedTokenDecimals` | number | Decimals of the shared token                           |
| `ticker`              | string | The shared token ticker                                |
| `networkId`           | number | Network identifier (e.g., 1 for mainnet)               |
| `name`                | string | Name of the product or LP token                        |
| `fundManagerAddress`  | string | Address of the fund manager                            |
| `v1LenderId`          | string | Identifier for the lender in v1                        |
| `assetOracleAddress`  | string | Address of the oracle contract providing asset pricing |
| `vaults`              | array  | List of vault objects under this token                 |
| `withdrawManager`     | object | Mapping of vault → withdraw manager                    |
| `poolManagerAddress`  | string | Address of the pool manager                            |
| `blockNumber`         | number | Block number at which this record was captured         |
| `rank`                | number | Rank of the pool/product                               |
| `createdAt`           | string | Creation timestamp                                     |
| `updatedAt`           | string | Last update timestamp                                  |
| `realisedApr`         | object | Realised APR metrics                                   |

Each `Vaults` Object contains:

<table><thead><tr><th>Property</th><th width="186">Type</th><th>Description</th></tr></thead><tbody><tr><td><code>status</code></td><td>string</td><td>Status of the vault (e.g., ACTIVE)</td></tr><tr><td><code>v1Pools</code></td><td>array</td><td>Array of V1 pool objects (see below)</td></tr><tr><td><code>isPaused</code></td><td>boolean</td><td>Whether deposits/withdrawals are paused</td></tr><tr><td><code>tokenName</code></td><td>string</td><td>The vault’s underlying token name</td></tr><tr><td><code>enableSwap</code></td><td>boolean</td><td>Whether swap functionality is enabled</td></tr><tr><td><code>tokenAddress</code></td><td>string</td><td>Address of the vault token</td></tr><tr><td><code>vaultAddress</code></td><td>string</td><td>Address of the vault</td></tr><tr><td><code>tokenDecimals</code></td><td>number</td><td>Token decimals</td></tr><tr><td><code>enableCrossChain</code></td><td>boolean</td><td>Whether cross-chain support is enabled</td></tr><tr><td><code>realisedApr</code></td><td>object</td><td>APR metrics for this specific vault</td></tr></tbody></table>

Each `v1Pools` The object contains:

| Property            | Type             | Description                              |
| ------------------- | ---------------- | ---------------------------------------- |
| `id`                | string           | The identifier of the investment pool    |
| `apr`               | number           | The annual percentage rate               |
| `name`              | string           | The name of the investment pool          |
| `allocation`        | number           | The allocation percentage                |
| `maturityDate`      | string           | The maturity date of the investment pool |
| `creditQuality`     | string \|\| null | The credit quality of the pool           |
| `minimumInvestment` | string           | The minimum investment amount            |

***

### ✅ Example Response

```json
{
  "success": true,
  "data": {
    "pools": [
      {
        "address": "0x123...",
        "name": "USDC Yield Pool",
        "ticker": "USDC",
        "projectedApr": 8.5,
        "apr": 7.2,
        "poolSize": 5000000,
        "networkId": 1,
        "tokenAddress": "0xabc...",
        "poolManagerAddress": "0xdef...",
        "fundManagerAddress": "0xghi...",
        "stakingContractAddress": "0xjkl...",
        "v1Pools": [
          {
            "id": "v1-001",
            "apr": 5.5,
            "name": "USDC Pool v1",
            "allocation": 60,
            "maturityDate": "2025-12-31",
            "creditQuality": "AAA",
            "minimumInvestment": "1000"
          }
        ],
        "status": "active",
        "isPaused": false,
        "minimumInvestment": "1000",
        "description": "High-quality yield pool backed by stable assets.",
        "withdrawalManager": "0xmno...",
        "stakingAPY": 9.1,
        "createdAt": "2024-06-15T12:00:00Z"
      }
    ],
    "yieldBearingTokens": [
      {
        "sharedTokenAddress": "0x123....",
        "sharedTokenDecimals": 6,
        "ticker": "csLYD",
        "networkId": 1,
        "name": "csLYD",
        "fundManagerAddress": "0x123....",
        "v1LenderId": "ajRXS0Wlov",
        "assetOracleAddress": "0x123....",
        "vaults": [
          {
            "status": "ACTIVE",
            "v1Pools": [
              {
                "id": "6A0PClgJwF",
                "apr": 12,
                "name": "Delta Neutral Pool 1",
                "poolType": "VARIABLE_YIELD",
                "allocation": 100,
                "dayWiseAPR": {
                  "sevenDaysAPR": 10.4,
                  "thirtyDaysAPR": 15.4,
                  "fifteenDaysAPR": 12.4
                },
                "maturityDate": "2026-06-30T00:00:00.000Z",
                "creditQuality": null,
                "minimumInvestment": "0"
              }
            ],
            "isPaused": false,
            "tokenName": "USDC",
            "enableSwap": true,
            "tokenAddress": "0x123....",
            "vaultAddress": "0x123....",
            "tokenDecimals": 6,
            "enableCrossChain": true,
            "realisedApr": {
              "apr1d": "17.93",
              "apr7d": "17.93",
              "apr15d": "17.93",
              "apr30d": "17.93"
            }
          }
        ],
        "withdrawManager": {
          "0x123....": "0x123....",
        },
        "poolManagerAddress": "0x123....",
        "blockNumber": 23674148,
        "rank": 2,
        "createdAt": "2025-10-28T06:34:46.250Z",
        "updatedAt": "2025-11-24T00:09:00.513Z",
        "realisedApr": {
          "apr1d": 0.14,
          "apr7d": 3.05,
          "apr15d": 17.93,
          "apr30d": 12.34
        }
      }
    ]
  }
}
```


---

# 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://csigma-edge.gitbook.io/csigma-protocol/technical-resources/public-apis.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.
