> ## Documentation Index
> Fetch the complete documentation index at: https://turnkey-0e7c1f5b-bc-add-sdk-typedoc.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# CreateActivityPoller

# Function: createActivityPoller()

> **createActivityPoller**\<`O`, `I`>(`params`): (`input`) => `Promise`\<`O`\[`"activity"`]>

Defined in: [async.ts:101](https://github.com/tkhq/sdk/blob/ee72856c3f450731d7501ab05001215768b71500/packages/http/src/async.ts#L101)

Wraps a client request function (e.g. `client.createPrivateKeys`) in a poller.
The default refresh interval is 500ms.

The returned poller will poll until the activity becomes `COMPLETED`.
If the activity becomes `FAILED` or `REJECTED` or is flagged as `NEEDS_CONSENSUS`, an error is thrown.

## Type Parameters

### O

`O` *extends* `object`

### I

`I` *extends* `object`

## Parameters

### params

#### client

`TurnkeyClient`

#### refreshIntervalMs?

`number`

#### requestFn

(`input`) => `Promise`\<`O`>

## Returns

`Function`

### Parameters

#### input

`I`

### Returns

`Promise`\<`O`\[`"activity"`]>

## Example

```ts theme={"system"}
const activityPoller = createActivityPoller(client, client.createPrivateKeys);
const activity = await activityPoller(input);
console.log(activity.result); // activity is completed
```
