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

# Hooks reference

> All sdk-react hooks and options

## Summary

| Hook                      | Purpose                               | Requires provider      |
| ------------------------- | ------------------------------------- | ---------------------- |
| **useClient**             | Get SDK client from context           | Yes (AlphscanProvider) |
| **useTokens**             | Paginated token list                  | Yes                    |
| **useTxNormalizedEvents** | Normalized events for a transaction   | No                     |
| **useAlphscan**           | Placeholder (getToken, getDocs stubs) | No                     |

***

## useClient

```typescript theme={null}
function useClient(): AlphscanClientApi
```

Returns the client from **AlphscanProvider**. Throws if used outside the provider.

***

## useTokens

```typescript theme={null}
function useTokens(options?: UseTokensOptions): UseTokensResult
```

**UseTokensOptions:** `page?`, `pageSize?`, `enabled?`\
**UseTokensResult:** `tokens`, `total`, `page`, `pageSize`, `totalPages`, `loading`, `error`, `setPage`, `refetch`

Requires **AlphscanProvider**.

***

## useTxNormalizedEvents

```typescript theme={null}
function useTxNormalizedEvents(
  transactionId: string | undefined,
  options?: UseTxNormalizedEventsOptions
): { data, loading, error, refetch }
```

**UseTxNormalizedEventsOptions:** `baseUrl?`, `settings?`, `enabled?`\
**Return:** `data: TxNormalizedEventsResponse | null`, `loading`, `error`, `refetch`

Does not require provider; uses its own client from options.

***

## useAlphscan

```typescript theme={null}
function useAlphscan(): {
  getToken: () => Promise<null>;
  getDocs: () => Promise<{}>;
  loading: boolean;
  error: Error | null;
}
```

Placeholder hook. Use **useClient** + **client.token.list()** or **useTokens** for tokens; other SDK methods for other data.

***

## Folder structure (sdk-react)

* **AlphscanProvider** — root
* **hooks/** — useClient, useAlphscan
* **token/** — useTokens
* **transaction/** — useTxNormalizedEvents
* **system/** — reserved for future hooks (e.g. usePlans, useKeys)
