ONCHAINBENCHMARKThe measurement standard for tokenized capital
IndexesResearchCoverageLog inOpen Terminal ↗

OCB — Stablecoin Data Dictionary

Every column. Every figure. Every value enum.

The companion to the public bulk exports at /api/data/stablecoin/v1.0/. Every column documented; every enumerated value listed; every nullable column flagged. Free to use with attribution.

Rating methodology →Health Index →

How to use these endpoints

All exports are CSV. Always public. Versioned in the URL.

Base URL
https://onchainbenchmark.com/api/data/stablecoin/v1.0/[figure].csv
Methodology versioning
The methodology version (v1.0) is the URL path segment. When v1.1 ships, the v1.0 endpoint stays live forever at its current path. Historical reproducibility is the standards-claim.
Filters (query string)
  • ?instrument=usdc_eth — scope to a single instrument.
  • ?since=2026-01-01 — ISO date lower bound on the time column.
  • ?limit=10000 — cap row count (default 100,000; max 1,000,000).
Headers returned
  • X-Methodology-Version — methodology under which the rows were produced.
  • X-Row-Count — number of rows in the response body.
  • X-Documentation — link back to this page.
  • Cache-Control: public, max-age=300, stale-while-revalidate=600.
Citation
Cite as: OCB Stablecoin Data Export, methodology v1.0, retrieved [date], onchainbenchmark.com/api/data/stablecoin/v1.0/[figure].csv. Attribution requested, not required.
NULL handling
NULLs surface as empty CSV cells (consistent with PostgreSQL COPY). Per OCB's data integrity rule, no value is imputed or fabricated to fill a gap. An empty cell means OCB does not have the data.

Figures index

13 figures across the rating, index, and Stablecoin Activity products.

rating · ratings
Stablecoin Trust Ratings
Latest per-instrument composite score + four dimension scores + band.
index · index-levels
Stablecoin Health Index Levels
Supply-weighted health index time series, with Healthy Capital aggregation.
rating · reserves
Reserve Composition (norm_reserves)
Per-observation reserve composition tier + attestation provenance. Reserve Quality input.
rating · transparency
Transparency (norm_transparency_stablecoin)
Three Transparency sub-signals + classifier inputs + voluntary-cap flag.
rating · redemption
Redemption Depth (norm_redemption_stablecoin)
Direct + onchain path scores, supply, and DEX price. Redemption Depth + freshness gate input.
rating · concentration
Holder Concentration (norm_concentration)
Top-10 holder percentage post-exclusion. Shared table with RWA; this export scopes to stablecoin instruments only.
data · pulse-velocity· not available at launch
Stablecoin Activity — Velocity by Purpose
Daily transfer volume USD segmented by counterparty-pair bucket. Figure 1 of the Stablecoin Activity data product.
data · pulse-flow· not available at launch
Stablecoin Activity — Net Flow + Supply Trajectory
Per-chain daily mint USD, burn USD, net flow, and end-of-day supply. Figure 2 of the Stablecoin Activity data product.
data · pulse-composition
Stablecoin Activity — Cross-Chain Composition
Per-chain supply as a percentage of total instrument supply across chains. Figure 3 of the Stablecoin Activity data product.
data · pulse-holders
Stablecoin Activity — Holder Churn + Concentration
New addresses, churned addresses, total holders, top-10 share. Figure 4 of the Stablecoin Activity data product.
data · pulse-agentic· not available at launch
Stablecoin Activity — Agentic-Share Leading Indicator
Weighted composite of five proxies for programmatic origination. Figure 5 of the Stablecoin Activity data product — leading indicator, not classifier.
data · coverage-map· not available at launch
Coverage Map (Derived view C)
Per (instrument, deployment) view of collector status, classification coverage, last reserve attestation, and last published score.
data · events
Events (annotation surface)
Annotated events — depegs, freezes, integrity events, attestation publications, methodology changes. Used as vertical markers on Stablecoin Activity charts.

rating · Daily

Stablecoin Trust Ratings

Latest per-instrument composite score + four dimension scores + band.

Download ratings.csv →Methodology spec →
ColumnTypeNullDescription
instrument_idtextnoStable slug (e.g. usdc_eth, usdt_eth). Matches instrument_registry.id.
chain_idintegernoChain ID. EVM chains use their EIP-155 ID (1=Ethereum, 137=Polygon, 8453=Base, 42161=Arbitrum, 43114=Avalanche); non-EVM chains use OCB-internal IDs in the 1100 range (1101=Solana, 1102=Stellar, 1103=Tron).
deployment_iduuidnoUnique deployment row (per (instrument, chain, contract)) from instrument_deployments.
methodology_versiontextnoAlways 'v1.0-stablecoin' for this figure.
scored_attimestamptznoWhen this score was computed (UTC).
score_totalnumericnoComposite score in [0, 100]. Sum of the four dimension scores.
score_reserve_qualitynumericyesReserve Quality dimension score in [0, 25]. Null when norm_reserves is stale or missing.
score_redemption_depthnumericyesRedemption Depth dimension score in [0, 25]. Composite of direct + onchain paths with joint-path bonus.
score_holder_concentrationnumericyesHolder Concentration dimension score in [0, 25]. Track 1 (retail-facing) for all v1.0 stablecoins.
score_transparencynumericyesTransparency dimension score in [0, 25]. 35/30/35 weighted composite, voluntary-attestation cap at 19.
score_bandtextnoBand label per methodology §4.5.
Values: Healthy · Monitored · Elevated Risk · Flagged
git_shatextyesGit SHA of the scoring code that produced this row. Reproducibility provenance.

index · Daily

Stablecoin Health Index Levels

Supply-weighted health index time series, with Healthy Capital aggregation.

Download index-levels.csv →Methodology spec →
ColumnTypeNullDescription
index_idtextnoAlways 'stablecoin_health'.
methodology_versiontextnomethodology_version: 'v1.0-stablecoin' (per-instrument scoring) | 'v1.1-stablecoin' (multi-chain index aggregation).
as_oftimestamptznoIndex observation timestamp (UTC).
data_origintextno'live' for production runs; 'backfill' for historical recomputes; 'calibration' during the 30-day calibration window.
raw_indexnumericnoSupply-weighted average health score in [0, 100]. Σ(score × supply) / Σ(supply).
index_levelnumericnoInception-rebased level (raw_index normalized to 100 at inception). Pre-inception rows are computed but not authoritative.
total_capital_usdnumericnoTotal covered stablecoin supply in USD across the index population for the day.
healthy_capital_usdnumericnoUSD supply across instruments whose score_total ≥ 80. Column is stored as 'verified_capital_usd' (RWA inheritance); semantics differ by methodology.
healthy_rationumericnohealthy_capital_usd / total_capital_usd, in [0, 1].
constituent_countintegernoNumber of distinct instruments that contributed to this index level.
is_calibratingbooleannoTrue during the 30-day pre-launch calibration window. False once inception is declared.

rating · Daily (or whenever a new attestation lands)

Reserve Composition (norm_reserves)

Per-observation reserve composition tier + attestation provenance. Reserve Quality input.

Download reserves.csv →Methodology spec →
ColumnTypeNullDescription
instrument_idtextnoStablecoin instrument id.
chain_idintegernoChain of the scored deployment.
deployment_iduuidnoDeployment this observation is anchored to.
methodology_versiontextnoAlways 'v1.0-stablecoin'.
observed_attimestamptznoWhen OCB observed this attestation state.
reserve_composition_tiertextnoReserve composition tier per methodology §4.1.
Values: cash_tbill_onchain_verifiable · cash_tbill_attested · cash_tbill_mmf · mixed_short_duration · rwa_backed_onchain · mixed_with_commercial_paper · crypto_collateral_buffered · aggregate_only · undercollateralized_or_unverifiable
reserve_composition_published_attimestamptzyesTimestamp on the source attestation (the issuer's publication date, not OCB's observation date).
reserve_composition_source_kindtextnoProvenance class of the source attestation per docs/provenance-standard.md.
Values: regulated_filing · voluntary_third_party_attestation · issuer_dashboard · onchain_read · self_published_no_attestation · none
reserve_composition_source_urltextyesURL of the attestation document. Must be publicly accessible per provenance standard.
reserve_quality_scorenumericnoDenormalized tier score in [0, 25]. Scorer recomputes from the tier for reweight optionality.

rating · Daily

Transparency (norm_transparency_stablecoin)

Three Transparency sub-signals + classifier inputs + voluntary-cap flag.

Download transparency.csv →Methodology spec →
ColumnTypeNullDescription
instrument_idtextnoStablecoin instrument id.
chain_idintegernoChain of the scored deployment.
deployment_iduuidnoDeployment this observation is anchored to.
methodology_versiontextnoAlways 'v1.0-stablecoin'.
observed_attimestamptznoWhen OCB observed this transparency state.
attestation_freshness_scorenumericnoSub-signal A: age-of-most-recent-attestation tier in [0, 25] per §4.4.
disclosure_consistency_scorenumericnoSub-signal B: count-of-attestations-in-180d tier in [0, 25] per §4.4.
regulatory_standing_scorenumericnoSub-signal C: regulatory framework + auditor tier in [0, 25] per §4.4.
attestation_kindtextnoWhether the supporting attestation is a regulated filing or a voluntary third-party attestation.
Values: regulated · voluntary · none
voluntary_attestation_cap_appliedbooleannoTrue when attestation_kind='voluntary' AND the weighted composite would exceed 19. The composite is then capped at 19.
transparency_scorenumericnoComposite Transparency dimension score in [0, 25]. 35/30/35 weights, voluntary cap applied.
source_attestation_urltextyesURL of the most recent attestation event used to compute Sub-signal A.

rating · Daily

Redemption Depth (norm_redemption_stablecoin)

Direct + onchain path scores, supply, and DEX price. Redemption Depth + freshness gate input.

Download redemption.csv →Methodology spec →
ColumnTypeNullDescription
instrument_idtextnoStablecoin instrument id.
chain_idintegernoChain of the scored deployment.
deployment_iduuidnoDeployment this observation is anchored to.
methodology_versiontextnoAlways 'v1.0-stablecoin'.
observed_attimestamptznoWhen OCB observed this redemption state.
direct_path_scorenumericyesDirect redemption path score in [0, 22]. Null when direct_redemption_profile='none'.
direct_redemption_profiletextyesPer-instrument declared profile per §4.2.
Values: retail_t0t1_no_freeze · retail_t1t3_targeted_freeze · retail_documented_bulk_freeze · institutional_only_documented · available_opaque_freeze_history · none
onchain_path_scorenumericyesOnchain DEX-depth path score in [0, 24]. Null when no onchain pool exists with depth > $0.
onchain_dex_depth_1pct_usdnumericnoAggregate dollar depth at 1% slippage across configured pools across configured chains.
joint_path_bonus_appliedbooleannoTrue when both direct and onchain paths exist; composite is then max(direct, onchain) + 3, capped at 25.
redemption_depth_scorenumericnoComposite Redemption Depth dimension score in [0, 25].
outstanding_supply_usdnumericnoTotal cross-chain-reconciled supply in USD. The supply-weighting input for the Stablecoin Health Index. The freshness gate watches this row.
observed_price_usdnumericnoReal-time DEX-derived USD price per S1.5-7 of the build plan. Used for all Stablecoin Activity USD valuations and depeg-correct accounting.

rating · Daily

Holder Concentration (norm_concentration)

Top-10 holder percentage post-exclusion. Shared table with RWA; this export scopes to stablecoin instruments only.

Download concentration.csv →Methodology spec →
ColumnTypeNullDescription
instrument_idtextnoStablecoin instrument id.
chain_idintegernoChain of the scored deployment.
deployment_iduuidnoDeployment this observation is anchored to.
methodology_versiontextnoAlways 'v1.0-stablecoin'.
observed_attimestamptznoWhen OCB computed this holder distribution.
top10_holder_pctnumericyesTop-10 holder share after exclusion of exchange / protocol / treasury / bridge addresses. Null falls back to score=8 per methodology.
concentration_tracktextnoAlways 'retail_facing' for v1.0 stablecoins per Q4 lock.
Values: retail_facing · institutional_direct

data · Daily (aggregated from hourly norm_transfer_hourly)

Stablecoin Activity — Velocity by Purpose

Daily transfer volume USD segmented by counterparty-pair bucket. Figure 1 of the Stablecoin Activity data product.

Not available at launch

Transfer-derived (raw_transfer_events / norm_transfer_hourly). The Alchemy free tier cannot collect transfer data, so this figure is not available at launch. It returns once transfer collection resumes post-upgrade.

Methodology spec →
ColumnTypeNullDescription
instrument_idtextnoStablecoin instrument id.
deployment_iduuidyesNull on aggregate-across-chains rows; otherwise the per-deployment slice.
methodology_versiontextnoAlways 'v1.0-stablecoin-pulse'.
daydatenoUTC day.
volume_cex_mediated_usdnumericnoUSD volume where from or to is a CEX hot/cold wallet.
volume_defi_circulating_usdnumericnoUSD volume where both sides are DeFi (lending pool, DEX router/pool).
volume_payments_usdnumericnoUSD volume where from or to is a payment processor and neither side is CEX or DeFi.
volume_bridge_in_out_usdnumericnoUSD volume where from or to is a bridge contract.
volume_issuer_treasury_usdnumericnoUSD volume where from or to is an issuer treasury address (mints, burns, treasury ops).
volume_unlabeled_usdnumericnoUSD volume where neither side is in address_registry at ≥90% confidence.
volume_total_usdnumericnoSum of all six segmented buckets.
unlabeled_share_pctnumericyesvolume_unlabeled_usd / volume_total_usd × 100. Surfaced as caveat on the figure: if >50%, segmented shares apply to the labeled portion only.
transfer_countintegernoTotal transfer event count for the day.

data · Daily

Stablecoin Activity — Net Flow + Supply Trajectory

Per-chain daily mint USD, burn USD, net flow, and end-of-day supply. Figure 2 of the Stablecoin Activity data product.

Not available at launch

Transfer-derived (mint/burn aggregated directly from raw_transfer_events). The Alchemy free tier cannot collect transfer data, so this figure is not available at launch. It returns once transfer collection resumes post-upgrade.

Methodology spec →
ColumnTypeNullDescription
instrument_idtextnoStablecoin instrument id.
chain_idintegernoChain this row covers.
deployment_iduuidnoSpecific deployment (always non-null for this figure).
methodology_versiontextnoAlways 'v1.0-stablecoin-pulse'.
daydatenoUTC day.
daily_mint_usdnumericnoUSD value of mints (transfers from 0x0 or issuer mint events).
daily_burn_usdnumericnoUSD value of burns (transfers to 0x0 or issuer burn events).
daily_net_flow_usdnumericnodaily_mint_usd − daily_burn_usd.
outstanding_supply_usdnumericyesEnd-of-day supply × end-of-day DEX price. Excludes bridged_representation deployments per S1.5-6 cross-chain reconciliation.

data · Daily

Stablecoin Activity — Cross-Chain Composition

Per-chain supply as a percentage of total instrument supply across chains. Figure 3 of the Stablecoin Activity data product.

Download pulse-composition.csv →Methodology spec →
ColumnTypeNullDescription
instrument_idtextnoStablecoin instrument id.
chain_idintegernoChain this row covers.
deployment_iduuidnoSpecific deployment.
methodology_versiontextnoAlways 'v1.0-stablecoin-pulse'.
daydatenoUTC day.
chain_supply_usdnumericnoPer-chain supply in USD (excluding bridged_representation per S1.5-6).
chain_supply_share_pctnumericnochain_supply_usd / total instrument supply across all chains × 100.

data · Daily (churn metric lags 30 days)

Stablecoin Activity — Holder Churn + Concentration

New addresses, churned addresses, total holders, top-10 share. Figure 4 of the Stablecoin Activity data product.

Download pulse-holders.csv →Methodology spec →
ColumnTypeNullDescription
instrument_idtextnoStablecoin instrument id.
chain_idintegernoChain this row covers.
deployment_iduuidnoSpecific deployment.
methodology_versiontextnoAlways 'v1.0-stablecoin-pulse'.
daydatenoUTC day.
new_addressesintegernoDistinct to_addresses first-seen as a holder of this specific instrument on this day.
churned_addressesintegernoDistinct addresses whose last non-zero balance day was today and which then went to zero for ≥30 days. Intentionally lagging.
total_holdersintegernoDistinct addresses with non-zero balance end-of-day, post-exclusion (exchange/protocol/treasury/bridge classes removed).
top10_share_post_exclusionnumericyesTop-10 holder share after the same exclusions. Null when all observed holders are excluded.

data · Daily

Stablecoin Activity — Agentic-Share Leading Indicator

Weighted composite of five proxies for programmatic origination. Figure 5 of the Stablecoin Activity data product — leading indicator, not classifier.

Not available at launch

Transfer-derived (sub-signal counters read from norm_transfer_hourly). The Alchemy free tier cannot collect transfer data, so this figure is not available at launch. It returns once transfer collection resumes post-upgrade.

Methodology spec →
ColumnTypeNullDescription
instrument_idtextnoStablecoin instrument id.
deployment_iduuidyesNull on aggregate-across-chains rows; otherwise the per-deployment slice.
methodology_versiontextnoAlways 'v1.0-stablecoin-pulse'.
daydatenoUTC day.
sub_dollar_share_pctnumericnoFraction × 100 of daily transfers with value < $1.00 (DEX-priced).
sub_second_interval_share_pctnumericnoFraction × 100 of from×to pairs with 2+ transfers in <60s windows.
non_round_amount_share_pctnumericnoFraction × 100 of transfers where value × 100 is not an integer (precision beyond cents).
off_hours_share_pctnumericnoFraction × 100 of transfers outside 9am–5pm averaged across UTC-8, UTC-5, UTC+0, UTC+8 business windows.
contract_counterparty_share_pctnumericnoFraction × 100 of transfers where from_address_kind='contract' OR to_address_kind='contract'.
agentic_share_scorenumericnoWeighted composite in [0, 100]: 0.25*sub_dollar + 0.20*sub_second + 0.15*non_round + 0.15*off_hours + 0.25*contract.

data · Point-in-time, daily refresh

Coverage Map (Derived view C)

Per (instrument, deployment) view of collector status, classification coverage, last reserve attestation, and last published score.

Not available at launch

Its classification_coverage_pct column is derived from pulse_velocity_daily, which is transfer-derived and not available at launch (see pulse-velocity above). Not available at launch; returns once transfer collection resumes post-upgrade.

Methodology spec →
ColumnTypeNullDescription
instrument_idtextnoStablecoin instrument id.
chain_idintegernoChain of this deployment.
deployment_iduuidnoDeployment row.
activebooleannoTrue if the deployment is enabled for collectors / normalization / scoring / index.
classification_coverage_pctnumericyes100 − latest unlabeled_share_pct from pulse_velocity_daily. Null when no velocity row exists yet.
last_reserve_attestationtimestamptzyesTimestamp of the most recent reserve_composition_published_at observed by OCB.
last_score_publishedtimestamptzyesscored_at of the most recent trust_scores row under v1.0-stablecoin.

data · Editorial / event-driven

Events (annotation surface)

Annotated events — depegs, freezes, integrity events, attestation publications, methodology changes. Used as vertical markers on Stablecoin Activity charts.

Download events.csv →Methodology spec →
ColumnTypeNullDescription
iduuidnoStable event row id.
instrument_idtextyesInstrument the event concerns. Null on market-wide events.
deployment_iduuidyesSpecific deployment if scoped; null otherwise.
event_kindtextnoEvent taxonomy.
Values: depeg · freeze · reserve_shift · launch · attestation_published · integrity_event · methodology_change · other
occurred_attimestamptznoWhen the event happened (UTC).
ended_attimestamptzyesWhen the event ended; null on point-in-time events.
titletextnoHeadline.
summarytextyes1–3 sentence editorial explanation.
source_urltextyesPrimary source link.
written_bytextyesAuthor / source attribution.