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

# Audience Exports

> Request exact current holder and staker CSV exports from the Blank SDK.

# Audience Exports

Use audience exports when you need an exact current list of holder or staker wallets for a token your Blank account controls.

```ts theme={null}
const { export: job } = await blank.audienceExport.create({ mint });
```

The export runs asynchronously because Blank performs a live on-chain holder scan and writes CSV artifacts after the job finishes. Poll the latest job:

```ts theme={null}
const latest = await blank.audienceExport.get({ mint });

if (latest?.status === "completed") {
  const holdersCsv = await blank.audienceExport.downloadCsv({
    mint,
    exportId: latest.id,
    kind: "holders",
  });
}
```

`kind` defaults to `"holders"`. Use `"stakers"` to download the staking audience CSV from the same job.

## Job fields

* `status` — `queued`, `running`, `failed`, or `completed`.
* `holderWalletCount` / `stakerWalletCount` — exact wallet counts in the generated CSVs.
* `holderTotalBaseUnits` / `stakerTotalBaseUnits` — exact integer token amounts.
* `holderTotalTokens` / `stakerTotalTokens` — display amounts after token decimals.
* `downloads` — relative API paths for `holders` and `stakers` once complete.
* `errorCode` / `errorMessage` — populated when a job fails.

## HTTP endpoints

```http theme={null}
GET /api/v1/token/{mint}/audience-export
POST /api/v1/token/{mint}/audience-export
GET /api/v1/token/{mint}/audience-export/{exportId}/download?kind=holders
```

All audience export endpoints require a Blank secret API key. The API-key owner must be the current token controller; the key cannot export audiences for tokens controlled by another account.
