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

# Get Protocols

> Get available protocols for a token

<Note>
  **SDK Alternative**: Use `giza.protocols(token)` for a simpler TypeScript interface. [See SDK docs](/sdk-reference/giza)
</Note>

## Description

Retrieves the list of available DeFi protocols for a specific token on a chain, including their current APY and TVL.

## Path Parameters

<ParamField path="chain_id" type="integer" required>
  The blockchain chain ID
</ParamField>

<ParamField path="token_address" type="string" required>
  The token address (e.g., USDC address)
</ParamField>

## Response

<ResponseField name="protocols" type="array">
  List of available protocols

  <Expandable>
    <ResponseField name="name" type="string">
      Protocol name (e.g., "aave", "compound")
    </ResponseField>

    <ResponseField name="available" type="boolean">
      Whether the protocol is currently available
    </ResponseField>

    <ResponseField name="description" type="string">
      Protocol description
    </ResponseField>

    <ResponseField name="tvl" type="number">
      Total Value Locked
    </ResponseField>

    <ResponseField name="apy" type="number">
      Current Annual Percentage Yield
    </ResponseField>

    <ResponseField name="pools" type="array">
      Available pools within the protocol
    </ResponseField>

    <ResponseField name="created_at" type="string">
      Protocol creation date
    </ResponseField>

    <ResponseField name="updated_at" type="string">
      Last update date
    </ResponseField>
  </Expandable>
</ResponseField>

<RequestExample>
  ```bash cURL theme={null}
  curl "https://partners-backend-1038109371738.europe-west1.run.app/api/v1/8453/0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913/protocols"
  ```

  ```javascript JavaScript theme={null}
  const response = await fetch(
    'https://partners-backend-1038109371738.europe-west1.run.app/api/v1/8453/0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913/protocols'
  );
  const data = await response.json();
  ```

  ```python Python theme={null}
  import requests

  response = requests.get(
      'https://partners-backend-1038109371738.europe-west1.run.app/api/v1/8453/0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913/protocols'
  )
  data = response.json()
  ```
</RequestExample>

<ResponseExample>
  ```json 200 OK theme={null}
  {
    "protocols": [
      {
        "name": "aave",
        "available": true,
        "description": "Aave v3 lending protocol",
        "tvl": 1500000000,
        "apy": 5.5,
        "pools": [
          {
            "name": "USDC",
            "apy": 5.5
          }
        ],
        "created_at": "2024-01-01T00:00:00Z",
        "updated_at": "2024-01-20T12:00:00Z"
      },
      {
        "name": "compound",
        "available": true,
        "description": "Compound v3 lending protocol",
        "tvl": 800000000,
        "apy": 4.8,
        "pools": [
          {
            "name": "USDC",
            "apy": 4.8
          }
        ],
        "created_at": "2024-01-01T00:00:00Z",
        "updated_at": "2024-01-20T12:00:00Z"
      },
      {
        "name": "moonwell",
        "available": true,
        "description": "Moonwell lending protocol",
        "tvl": 200000000,
        "apy": 6.2,
        "pools": [],
        "created_at": "2024-01-01T00:00:00Z",
        "updated_at": "2024-01-20T12:00:00Z"
      }
    ]
  }
  ```
</ResponseExample>
