> ## Documentation Index
> Fetch the complete documentation index at: https://docs.trusset.org/llms.txt
> Use this file to discover all available pages before exploring further.

# List Liquidity Providers

> List active liquidity providers for a market

Returns the market's active liquidity providers, newest deposit first. The endpoint reconciles against the chain before reading, so provider records reflect on-chain share balances where they can be resolved. If the RPC is unavailable the reconciliation is skipped and stored values are returned.

For an authoritative single-provider balance, use [Get Provider Balance](/endpoints/lending/get-provider-balance), which reads the market contract directly.

## Path Parameters

<ParamField path="marketId" type="string" required>Market ID.</ParamField>

## Response Fields

<ResponseField name="data" type="object">
  <Expandable>
    <ResponseField name="providers" type="array">
      Active provider records ordered by `depositedAt` descending.

      <Expandable>
        <ResponseField name="id" type="string">Record ID.</ResponseField>
        <ResponseField name="marketId" type="string">Market ID.</ResponseField>
        <ResponseField name="provider" type="string">Provider address, lowercased.</ResponseField>
        <ResponseField name="amountDeposited" type="string">Deposited amount in borrow asset units.</ResponseField>
        <ResponseField name="sharesOwned" type="string">LP shares held.</ResponseField>
        <ResponseField name="active" type="boolean">Always true in this response. Fully withdrawn providers are excluded.</ResponseField>
        <ResponseField name="depositedAt" type="string">ISO 8601 timestamp of the first deposit.</ResponseField>
        <ResponseField name="withdrawnAt" type="string">ISO 8601 timestamp of full withdrawal, or null.</ResponseField>
        <ResponseField name="source" type="string">`wallet` when the provider is a wallet supplying directly, `vault` when it is an operator vault funding the market on its depositors' behalf.</ResponseField>
        <ResponseField name="vault" type="object">Present when `source` is `vault`. Carries the vault's `id`, and its `name` and `symbol` when the vault belongs to your instance. On another institution's vault both are `null`: the funding is visible, the vault's own identity is not.</ResponseField>
      </Expandable>
    </ResponseField>
  </Expandable>
</ResponseField>

<RequestExample>
  ```bash cURL theme={null}
  curl "https://api.trusset.org/lending-external-securities/api/positions/{marketId}/providers" \
    -H "X-API-Key: trusset_your_key_here"
  ```
</RequestExample>

<ResponseExample>
  ```json Response theme={null}
  {
    "success": true,
    "data": {
      "providers": [
        {
          "id": "seclp_003",
          "marketId": "clx_secmarket_001",
          "provider": "0x111...222",
          "amountDeposited": "250000",
          "sharesOwned": "250000",
          "active": true,
          "depositedAt": "2025-06-08T14:20:00.000Z",
          "withdrawnAt": null,
          "source": "wallet"
        },
        {
          "id": "seclp_004",
          "marketId": "clx_secmarket_001",
          "provider": "0x4d0cfe39a3431b145d1a1393d901a36d459a1b13",
          "amountDeposited": "750000",
          "sharesOwned": "735294",
          "active": true,
          "depositedAt": "2025-06-09T09:05:00.000Z",
          "withdrawnAt": null,
          "source": "vault",
          "vault": {
            "id": "cmssh8t2u0003cghxkx1w1fwd",
            "name": "Trusset Prime Demo Vault",
            "symbol": "TPV"
          }
        }
      ]
    }
  }
  ```
</ResponseExample>

## Error Codes

| Code                | HTTP  | Cause                                                                                                                                               |
| ------------------- | ----- | --------------------------------------------------------------------------------------------------------------------------------------------------- |
| `MARKET_NOT_FOUND`  | `404` | No market with this ID on your instance                                                                                                             |
| `CHAIN_READ_FAILED` | `503` | The provider set could not be read from the chain and nothing was recorded to fall back on. An empty list is never served in place of a failed read |
