Skip to main content

Stablecoin holder concentration reporting

What is stablecoin holder concentration reporting?

Stablecoin holder concentration reporting is listing, for each day, the wallets that hold a large share of a token’s supply and the wallets that redeemed the most, a view also called the holder distribution or top holders.

Issuers watch it because a few large holders redeeming at once put the most pressure on reserves, and the OCC’s PS-01 report asks for every wallet above 2% of supply and the top 20 redeemers.

Goldsky loads every transfer and burn from the token’s first block into your warehouse, and your team sums each day-end balance and ranks the wallets there.

You can build holder concentration reports two ways: load every transfer into your warehouse with Turbo Pipelines and total balances there, or query a subgraph that keeps a running balance for each holder.

Who needs stablecoin holder concentration reporting?

Stablecoin issuers, banks issuing branded coins, and the issuance platforms that run tokens for them.

How stablecoin holder concentration reports work

The diagram follows one day of transfers from the chain to the list of top wallets your team reports, and shows who does each step. Your setup may differ.

Goldsky, step 2: TurboLoad every transferFrom the token’s first block, then live
Blockchains, step 1: Tokens change handsTransfers and redemptions all day
Your business, step 4: Sum balances at day endEvery holder, and each one’s redemptions
Goldsky, step 3: TurboLand it in your warehouseTransfers and burns, per chain
Your business, step 5: List the top walletsOver 2% of supply, top 20 redeemers
  • Goldsky

Ways to report stablecoin holder concentration

Your warehouse queries sum balances from every transfer on every chain; a subgraph’s mapping keeps a running balance for each holder, and your daily job reads them at the cutoff block.

Best for
Holder figures on every chain, traceable to each transfer
Products
Turbo
What you run
The destination: your database, queue or bucket, or a Postgres database Goldsky hosts
What you write
Pipeline YAML and SQL; TypeScript transforms when needed
Where your data lives
In your own database or systems
How results reach you
Pushed to you
Best for
One EVM token deployment, with balances from a hosted API
Products
Subgraphs
What you run
Nothing; Goldsky runs indexing, storage and the API
What you write
A schema and mapping handlers, or a no-code or low-code config for simple contracts
Where your data lives
Hosted by Goldsky
How results reach you
You query; changes are pushed

Option 1: Report stablecoin holder concentration from your warehouse

A pipeline loads every transfer and burn of your token from its first block into your warehouse and keeps it current; your team sums each wallet’s day-end balance and ranks the largest holders and redeemers there.

When to build concentration figures in your warehouse

Your token runs on several chains, or you report other figures from the same history, and you want every number traceable to the transfers behind it.

What you’ll need

  • Goldsky Turbo
  • Your token’s contract addresses on each chain
  • A warehouse, or an object store it reads from
  • The list of your redemption addresses
  • Your reporting tools
  1. Let tokens change hands

    Holdings move with every transfer, mint and redemption, so concentration can change within a day.

    A redemption usually shows as a transfer to the issuer’s redemption address followed by a burn. Unless you know which addresses those are, redemptions look like ordinary transfers.

  2. Load every transfer from the first block

    Handled by Goldsky Turbo

    A wallet’s balance on any day is the sum of every transfer in and out of it before then.

    The history has to start at the token’s first block and keep up with new blocks, with no gap. One missing day leaves every later balance wrong.

    A Turbo Pipelines source filtered to your token’s address can start at the earliest block and carry on live, decoding each transfer with _gs_log_decode.

    Learn about EVM sources and backfills (opens in a new tab)
  3. Land the transfers in your warehouse

    Handled by Goldsky Turbo

    Balances are summed from a copy of the history your team can query.

    Each transfer and burn lands with its chain, block, time and a stable ID. Corrections after a reorg arrive as their own records, and the warehouse applies them so replaced blocks don’t count.

    With Goldsky, the pipeline can write the transfers as Parquet files to an S3-compatible bucket, partitioned by chain and date, ready for your warehouse.

    Write events to S3 as Parquet (opens in a new tab)
  4. Sum balances at day end

    Concentration is measured on each wallet’s balance at the close of the day.

    Your team sums every transfer in and out of each wallet up to a fixed daily cutoff, and separately totals what each wallet sent to your redemption addresses that day. The cutoff has to be the same on every chain.

  5. List the largest holders and redeemers

    The report names the wallets that hold a large share of supply and those that redeemed the most.

    Your team divides each balance by total supply at the same cutoff, lists every wallet above the threshold your report sets, such as 2% for the OCC’s PS-01, and ranks the top redeemers. A supply figure taken at a different time from the balances shifts every percentage.

What to know about building concentration figures in your warehouse

  • Goldsky loads the transfers; summing balances and ranking wallets are queries your team writes and owns.
  • Each chain’s transfers land with their chain, so totals across chains are a query in your warehouse.
  • Corrections after a reorg arrive as records your warehouse applies.

Option 2: Report stablecoin holder concentration with a hosted subgraph

A subgraph keeps a running balance for every holder of your token, so a daily query returns the wallets above your threshold, and your team stores the results in its own reporting.

When to use a subgraph for holder concentration

Your token runs on one EVM chain per deployment, and you’d rather query a hosted API for balances than keep the transfer history in your own warehouse.

What you’ll need

  • Goldsky Subgraphs
  • Your token’s contract address and ABI
  • The list of your redemption addresses
  • A scheduled job of yours that runs the daily query
  • A warehouse or database for each day’s results
  1. Let tokens change hands

    Holdings move with every transfer, mint and redemption, so concentration can change within a day.

    A redemption usually shows as a transfer to the issuer’s redemption address followed by a burn. Unless you know which addresses those are, redemptions look like ordinary transfers.

  2. Keep a balance for every holder

    Handled by Goldsky Subgraphs

    A wallet’s balance is the running sum of every transfer in and out of it.

    Every transfer adds to one wallet and subtracts from the other, and mints and burns adjust only the real holder. Counting the zero address as a holder skews total supply.

    A Goldsky subgraph’s mapping updates a balance record for each holder on every transfer, and can total each wallet’s redemptions the same way.

    See a holder registry on subgraphs (opens in a new tab)
  3. Read balances at day end

    Handled by Goldsky Subgraphs

    Concentration is measured at the close of each day, not whenever the query happens to run.

    Your job finds the day’s last block and queries every balance as it stood then, largest first. Querying the latest state mixes in the next day’s transfers.

    The subgraph’s GraphQL API can return records as of a given block, so your daily job reads balances at the cutoff rather than at the chain’s newest block.

    Learn about hosted subgraphs (opens in a new tab)
  4. Store each day’s results

    The report needs a dated record of each day’s list that won’t change when balances do.

    Your job writes the day’s balances and redemptions to your warehouse or database. Without a stored copy, you can’t show later what the list looked like on a given day.

  5. List the largest holders and redeemers

    The report names the wallets that hold a large share of supply and those that redeemed the most.

    Your team divides each balance by total supply at the same cutoff, lists every wallet above the threshold your report sets, such as 2% for the OCC’s PS-01, and ranks the top redeemers. A supply figure taken at a different time from the balances shifts every percentage.

What to know about holder concentration from a subgraph

  • One subgraph covers one chain, so a token on several chains needs one for each and a step of yours to combine them.
  • The mapping code keeps the running balances, so a mistake in it carries into every balance until it’s fixed and the subgraph reindexes.
  • Day-end balances come from querying at the day’s last block; storing each day’s results is your step.

What you control

Your team
  • Sum balances at day end
  • List the largest holders and redeemers

Security and deployment

  • SOC 2 Type IIIndependently audited security controls.
  • Dedicated infrastructureSingle-tenant options for production workloads.
  • Data residencyCloud, on-premises or co-located.

Report stablecoin holder concentration with Goldsky

We’ll map it to your systems and show you what Goldsky runs, so your team builds the product, not the pipelines underneath it.

© Endless Sky Inc. All rights reserved.

PrivacyTermsSecurity

System status