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

# Discover Tools

> List the public tools and read their input specs.

Discovery is the read-only surface. It tells you which tools are public and what inputs each one expects. Use it to build a request before calling [execute](/api-reference/execute).

## List tools

<ParamField header="Authorization" type="string" required>
  Your [developer key](/api-reference/authentication) as a Bearer token.
</ParamField>

<CodeGroup>
  ```bash cURL theme={null}
  curl https://pro-api.nikiwa.com/api/tools \
    -H "Authorization: Bearer nkw_live_YOUR_KEY"
  ```

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

  r = requests.get(
      "https://pro-api.nikiwa.com/api/tools",
      headers={"Authorization": "Bearer nkw_live_YOUR_KEY"},
  )
  tools = r.json()
  ```
</CodeGroup>

Each entry is self-describing: a tool name, a description, and the input schema you pass to execute it. See the [tool catalog](/mcp/tools) for what is available.

## OpenAPI spec

The public tools are also described as an OpenAPI document, served without authentication:

```bash theme={null}
curl https://pro-api.nikiwa.com/api/tools/openapi.json
```

<Tip>
  Point your code generator or API client at `https://pro-api.nikiwa.com/api/tools/openapi.json` to generate a typed client for the public tools automatically.
</Tip>

## Reading valid networks at runtime

The set of supported chains can change as data-provider coverage evolves. Rather than hard-coding it, read the canonical network list from the `nikiwa://chains` MCP resource so your integration stays current. See [Supported Networks](/essentials/supported-networks).
