Skip to main content

Audience Exports

Use audience exports when you need an exact current list of holder or staker wallets for a token your Blank account controls.
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:
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

  • statusqueued, 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

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.