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

# Get Liquidation Bot

> Retrieve one liquidation bot with its on-chain state and connections

Returns one bot with its state read from the chain: owner, pause switch, refund policy, float, and its connection to each of the instance's deployed markets. Archived bots are returned too. The owner wallet signs every change to the bot, and Trusset holds no key to it.

A market counts as connected only when both halves hold: the owner enabled it on the bot, and the market granted the bot `LIQUIDATOR_ROLE`. Either alone leaves the bot unable to liquidate there. Chain reads are cached for up to 15 seconds, and [Confirm Bot Transaction](/endpoints/lending/confirm-bot-transaction) clears the cache.

## Path Parameters

<ParamField path="botId" type="string" required>Bot ID.</ParamField>

## Response Fields

<ResponseField name="data" type="object">
  The bot record with `onChain`, as [List Liquidation Bots](/endpoints/lending/list-bots) documents, plus `markets`.

  <Expandable>
    <ResponseField name="onChain" type="object | null">Live state: `owner`, `paused`, `maxRefundPerCallerPerBlock`, `maxRefundGasPrice`, `balance` and `connections`. When even the owner cannot be read, this is only `{ "readFailed": true, "isOnChain": null }`.</ResponseField>
    <ResponseField name="markets" type="array">The instance's deployed, active markets, newest first, each with `id`, `marketAddress`, `collateralTokenName`, `collateralTokenSymbol` and `borrowAssetSymbol`.</ResponseField>
  </Expandable>
</ResponseField>

<RequestExample>
  ```bash cURL theme={null}
  curl "https://api.trusset.org/lending-external-securities-v2/api/liquidation-bots/{botId}" \
    -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/liquidation-bots/${botId}`,
    { headers: { 'X-API-Key': 'trusset_your_key_here' } }
  );
  const { data: bot } = await res.json();
  ```
</RequestExample>

<ResponseExample>
  ```json Response theme={null}
  {
    "success": true,
    "data": {
      "id": "clx_bot_001",
      "instanceId": "inst_abc123",
      "botAddress": "0xc40dea7387a290e7ce71784a65ae0ed6bb1ae555",
      "ownerWallet": "0x1234f9a07c6b53d81e2a4f70c9b385d6014a7e52",
      "label": "Primary keeper",
      "archived": false,
      "deployTxHash": "0x1a2531f9e02d8b3660364d25a982585f822fbe8689e811e7b967cbd1d670ba7b",
      "createdAt": "2026-09-20T10:00:00.000Z",
      "updatedAt": "2026-09-20T10:00:00.000Z",
      "onChain": {
        "isOnChain": true,
        "readFailed": false,
        "owner": "0x1234f9a07c6b53d81e2a4f70c9b385d6014a7e52",
        "paused": false,
        "maxRefundPerCallerPerBlock": "2000000000000000",
        "maxRefundGasPrice": "30000000000",
        "balance": "0.25",
        "connections": [
          {
            "marketId": "clx_secmarket_001",
            "marketAddress": "0x70a0e25c7b768b87e658348b3b577678a173e038",
            "marketName": "Nyala Fund I",
            "marketSymbol": "NYF1",
            "settlementSymbol": "USDC",
            "enabled": true,
            "roleGranted": false,
            "connected": false
          }
        ]
      },
      "markets": [
        {
          "id": "clx_secmarket_001",
          "marketAddress": "0x70a0e25c7b768b87e658348b3b577678a173e038",
          "collateralTokenName": "Nyala Fund I",
          "collateralTokenSymbol": "NYF1",
          "borrowAssetSymbol": "USDC"
        }
      ]
    },
    "error": null,
    "metadata": {
      "timestamp": "2026-09-25T12:00:00.000Z",
      "requestId": "550e8400-e29b-41d4-a716-446655440000",
      "instanceId": "inst_abc123"
    }
  }
  ```

  ```json Error - Not Found theme={null}
  {
    "success": false,
    "data": null,
    "error": {
      "code": "BOT_NOT_FOUND",
      "message": "Liquidation bot not found"
    }
  }
  ```
</ResponseExample>

## Error Codes

| Code              | HTTP  | Cause                                                           |
| ----------------- | ----- | --------------------------------------------------------------- |
| `BOT_NOT_FOUND`   | `404` | No bot with this ID belongs to your instance                    |
| `BOT_READ_FAILED` | `500` | The bot record could not be read. The message is generic; retry |
