> ## 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 Queued Markets

> List the markets this instance can take as lender of record, or is waiting on

Returns this instance's queue of markets still seeking a lender of record. It is the starting point for an institution that takes the role through this API, and for a deployer watching its own markets wait. See [Lender of record](/endpoints/lending/introduction#lender-of-record).

A market enters the queue from one of three origins, and each row says which:

| `origin`    | Why the market is listed                                                                                | `canAccept`                                                     |
| ----------- | ------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------- |
| `NOMINATED` | One of this instance's verified wallets is nominated on it                                              | `true` when Trusset approved this account as a lender of record |
| `OPEN`      | Its deployer offered it beyond the candidates, and this account is approved and holds a verified wallet | `true`                                                          |
| `OWN`       | This instance deployed it and it still waits for a lender of record                                     | Always `false`                                                  |

Only an account Trusset approved as a lender of record can act on a row, whatever its origin. `isBank` says whether this account is one. Review a row with [Get Queued Market](/endpoints/lending/get-queued-market) before taking it with [Accept Lender Role](/endpoints/lending/accept-lender-role).

The queue holds at most 25 rows and says so in `truncated`. Rows appear in the order `NOMINATED`, `OPEN`, `OWN`, then by market address. The answer can be cached for up to 30 seconds per instance, so a nomination made a moment ago can take that long to appear. A market drops out as soon as any instance records it as taken.

## Response Fields

<ResponseField name="data" type="object">
  <Expandable>
    <ResponseField name="markets" type="array">
      Queue rows. Each carries every field [List Pending Markets](/endpoints/lending/list-pending-markets) returns for a market, plus the fields below.

      <Expandable>
        <ResponseField name="origin" type="string">`NOMINATED`, `OPEN` or `OWN`.</ResponseField>
        <ResponseField name="canAccept" type="boolean">Whether this account may take the market through this API. `true` only for a `NOMINATED` or `OPEN` row on an approved account.</ResponseField>
        <ResponseField name="nominatedWallets" type="array">This instance's wallets that are nominated on the market. Empty on `OPEN` and `OWN` rows.</ResponseField>
        <ResponseField name="eligibleWallets" type="array">The wallets that may sign the adoption: the nominated ones on a `NOMINATED` row, every verified wallet on an `OPEN` row, where the market's borrower register decides among them. Empty on an `OWN` row.</ResponseField>
        <ResponseField name="recordedMarketId" type="string">This instance's market ID for the market, or `null` when this instance does not record it yet.</ResponseField>
        <ResponseField name="nominator" type="object">The deploying institution as its instance records it, `{ companyName, wallet }`. `null` when no deploying record is found.</ResponseField>
        <ResponseField name="collateralImageUri" type="string">The image the deploying instance set on the collateral token, or `null`.</ResponseField>
        <ResponseField name="standingPolicy" type="object">The standing policy of this instance that matches the market's deployer or collateral token, or `null`. Present only on an approved account. It prescribes nothing on its own: `signatureStillRequired` is always `true`.</ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="wallets" type="array">This instance's verified wallets, lowercased. Nominations are read against them.</ResponseField>
    <ResponseField name="truncated" type="boolean">`true` when more markets qualified than the 25 rows returned.</ResponseField>
    <ResponseField name="isBank" type="boolean">Whether Trusset approved this account to act as a lender of record.</ResponseField>
    <ResponseField name="source" type="string">`INDEX` when the queue was read from the market index, `CHAIN` when the index was unavailable and the factory was read directly.</ResponseField>
    <ResponseField name="indexedAt" type="string">When the index was last updated, on an `INDEX` answer. `null` otherwise.</ResponseField>
    <ResponseField name="openMarketsReadFailed" type="boolean">`true` when the scan for open markets could not read every pending market, so `OPEN` rows may be missing. Retry shortly.</ResponseField>
  </Expandable>
</ResponseField>

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

  ```typescript TypeScript theme={null}
  const res = await fetch(
    'https://api.trusset.org/lending-external-securities-v2/api/markets/queued',
    { headers: { 'X-API-Key': 'trusset_your_key_here' } }
  );
  const { data } = await res.json();
  const takeable = data.markets.filter((market) => market.canAccept);
  ```
</RequestExample>

<ResponseExample>
  ```json Response theme={null}
  {
    "success": true,
    "data": {
      "markets": [
        {
          "marketAddress": "0x1c74f9a2b0e63d581a47c02f9b8de3517a604c2b",
          "collateralTokenAddress": "0x9f8c1d4b2e7a3056c1b8f4d29e0a7c3518b6d24f",
          "collateralTokenName": "ACME Industrial Bond 2031",
          "collateralTokenSymbol": "ACME",
          "collateralTokenIsin": "DE000A2YN900",
          "collateralDecimals": 18,
          "collateralMode": "FREEZE",
          "priceSource": "NAV",
          "oracleAddress": "0x3b25752c1459c5cf1b0bfcfdf0d56883c8047423",
          "interestModelAddress": "0xd410b8e35297af6d0c1745be82a37f09b6534ce1",
          "insuranceFundAddress": "0x8f1a6b30c7d24e95f0a3b81d6c47e2905fa3b9c2",
          "adapterAddress": "0x4d2b93f70e18c6a5d34b027fe95c81a6730d77ae",
          "liquidationRouterAddress": "0x067a3feea46649adad8e31c33b3a4d8774b8d8cf",
          "identityRegistryAddress": null,
          "borrowAssetAddress": "0x98ad0ca091552e23c564b41c74282e5343d03e8a",
          "borrowAssetSymbol": "USDC",
          "borrowAssetDecimals": 6,
          "seekingCurator": true,
          "curator": null,
          "realizationMode": "UNDECLARED",
          "liquidityCommitment": "0",
          "openToAnyCurator": false,
          "operatorShareBps": "800",
          "marketDeployer": "0x1234f9a07c6b53d81e2a4f70c9b385d6014a7e52",
          "candidates": ["0x4e91a7c05d3b62f18a0c94e7db2358f1c60a4e93"],
          "factoryGeneration": "curator",
          "instrumentSummary": null,
          "instrumentProvenance": "ABSENT",
          "origin": "NOMINATED",
          "canAccept": true,
          "nominatedWallets": ["0x4e91a7c05d3b62f18a0c94e7db2358f1c60a4e93"],
          "eligibleWallets": ["0x4e91a7c05d3b62f18a0c94e7db2358f1c60a4e93"],
          "recordedMarketId": null,
          "identityGate": {
            "shape": "none",
            "usable": true,
            "note": null
          },
          "nominator": {
            "companyName": "ACME Industrial AG",
            "wallet": "0x1234f9a07c6b53d81e2a4f70c9b385d6014a7e52"
          },
          "collateralImageUri": null,
          "standingPolicy": null
        }
      ],
      "wallets": ["0x4e91a7c05d3b62f18a0c94e7db2358f1c60a4e93"],
      "truncated": false,
      "isBank": true,
      "source": "INDEX",
      "indexedAt": "2026-09-26T09:14:02.000Z",
      "openMarketsReadFailed": false
    }
  }
  ```
</ResponseExample>

## Error Codes

| Code                  | HTTP  | Cause                                                                            |
| --------------------- | ----- | -------------------------------------------------------------------------------- |
| `QUEUE_FAILED`        | `500` | The queue could not be assembled for a reason that carries no code of its own    |
| `FACTORY_UNREADABLE`  | `503` | The index was unavailable and the factory's nominations could not be read either |
| `FACTORY_READ_FAILED` | `503` | A market's deployment record could not be read from the factory. Retry shortly   |
