Skip to main contentSkip to data table
Pharos
PHAROSlive stablecoin signals

Mint/Burn Flow Changelog

Full version history of Mint/Burn Flow methodology decisions, from v1.0 to v6.17.

Latest Version

v6.17Jun 7, 2026

Tx-context shortfall exclusion recovery

Bridge-aware mint/burn ingestion now handles residual transaction-context shortfalls per row, excluding unresolved rows from economic flow while allowing resolved rows and the sync frontier to proceed.

Impact Snapshot

  • Rows with unavailable tx or receipt context are persisted as `flow_type='bridge_transfer'`, with unresolved burns marked `review_required` / `tx-context-unavailable`
  • Resolved rows in the same bridge-aware config window are no longer withheld because of one unavailable transaction context
  • Cron metadata continues to expose `bridgeClassification.txContextShortfalls` and `bridgeClassification.deferredRows` as unavailable-context diagnostics rather than provider-error counts
v6.17Jun 7, 2026

Tx-context shortfall exclusion recovery

Bridge-aware mint/burn ingestion now handles residual transaction-context shortfalls per row, excluding unresolved rows from economic flow while allowing resolved rows and the sync frontier to proceed.

  • Rows with unavailable tx or receipt context are persisted as `flow_type='bridge_transfer'`, with unresolved burns marked `review_required` / `tx-context-unavailable`
  • Resolved rows in the same bridge-aware config window are no longer withheld because of one unavailable transaction context
  • Cron metadata continues to expose `bridgeClassification.txContextShortfalls` and `bridgeClassification.deferredRows` as unavailable-context diagnostics rather than provider-error counts
Details

Impact Notes

  • Rows with unavailable tx or receipt context are persisted as `flow_type='bridge_transfer'`, with unresolved burns marked `review_required` / `tx-context-unavailable`
  • Resolved rows in the same bridge-aware config window are no longer withheld because of one unavailable transaction context
  • Cron metadata continues to expose `bridgeClassification.txContextShortfalls` and `bridgeClassification.deferredRows` as unavailable-context diagnostics rather than provider-error counts
Commit provenance not recorded
    v6.16Jun 7, 2026

    Bridge context budget recovery

    Bridge-aware critical mint/burn configs now resolve transaction and receipt context with one Alchemy batch request per transaction and have a bounded larger critical budget for high-volume configs.

    • High-volume bridge-aware configs such as Ethereum USDC can catch up without repeatedly deferring all parsed rows under the old 60-request cap
    • Bridge classification still fails closed for counted standard flow when transaction or receipt context is genuinely unavailable; unavailable rows remain excluded from economic-flow aggregates
    • The cron-wide request ceiling remains 200, while bridge-aware critical configs may use up to 150 requests so other critical configs retain run headroom
    Details

    Impact Notes

    • High-volume bridge-aware configs such as Ethereum USDC can catch up without repeatedly deferring all parsed rows under the old 60-request cap
    • Bridge classification still fails closed for counted standard flow when transaction or receipt context is genuinely unavailable; unavailable rows remain excluded from economic-flow aggregates
    • The cron-wide request ceiling remains 200, while bridge-aware critical configs may use up to 150 requests so other critical configs retain run headroom
    Commit provenance not recorded
      v6.15Jun 6, 2026

      Bridge tx-context shortfall guard

      Bridge-aware mint/burn ingestion now treats unresolved transaction context as a classification shortfall instead of publishing bridge candidates as standard flow.

      • Rows from bridge-enabled configs are not persisted when tx or receipt context cannot be resolved, keeping unclassified bridge mints out of counted economic flow
      • Affected configs remain unsatisfied and do not advance their sync frontier, allowing a later run to retry the same block range once RPC context is available
      • Cron metadata exposes `bridgeClassification.txContextShortfalls` and `bridgeClassification.deferredRows` so status diagnostics show classification gaps explicitly
      Details

      Impact Notes

      • Rows from bridge-enabled configs are not persisted when tx or receipt context cannot be resolved, keeping unclassified bridge mints out of counted economic flow
      • Affected configs remain unsatisfied and do not advance their sync frontier, allowing a later run to retry the same block range once RPC context is available
      • Cron metadata exposes `bridgeClassification.txContextShortfalls` and `bridgeClassification.deferredRows` so status diagnostics show classification gaps explicitly
      Commit provenance not recorded
        v6.14Jun 6, 2026

        Bridge config validation fail-closed

        Bridge-detection config validation now aborts module load on malformed addresses, topics, or selectors instead of logging and continuing with silently disabled bridge filtering.

        • Malformed bridge metadata can no longer let CCIP, CCTP, or LayerZero bridge mints/burns leak into standard economic flow counts
        • Mint/burn cron metadata now publishes `bridgeValidationErrors: 0` on healthy runs so the validation surface is explicit in status diagnostics
        • Checked-in bridge configs are covered by a module-load validation regression test before deployment
        Details

        Impact Notes

        • Malformed bridge metadata can no longer let CCIP, CCTP, or LayerZero bridge mints/burns leak into standard economic flow counts
        • Mint/burn cron metadata now publishes `bridgeValidationErrors: 0` on healthy runs so the validation surface is explicit in status diagnostics
        • Checked-in bridge configs are covered by a module-load validation regression test before deployment
        Commit provenance not recorded
          v6.13Jun 6, 2026

          USD-valued largest-event guard

          The public 24-hour largest-event field now considers only rows with resolved USD valuation, preventing raw token amounts from being rendered as dollars.

          • Aggregate `/api/mint-burn-flows` excludes `amount_usd IS NULL` rows from largest-event selection
          • The shared largest-event selector ranks by `amount_usd` only and no longer falls back to raw native token amount
          • Unpriced mint/burn rows remain available for remediation and event-ledger diagnostics, but they do not populate the USD largest-event table column
          Details

          Impact Notes

          • Aggregate `/api/mint-burn-flows` excludes `amount_usd IS NULL` rows from largest-event selection
          • The shared largest-event selector ranks by `amount_usd` only and no longer falls back to raw native token amount
          • Unpriced mint/burn rows remain available for remediation and event-ledger diagnostics, but they do not populate the USD largest-event table column
          Commit provenance not recorded
            v6.12Jun 6, 2026

            Cadence-based coverage lag classification

            Per-coin mint/burn coverage now marks established configs as lagging once block progress falls beyond the public freshness cadence, and reports unknown coverage when current chain-head metadata is unavailable.

            • Ethereum mint/burn coverage no longer waits roughly 10,000 blocks before surfacing a stuck established config as lagging
            • Coins with missing current chain-head metadata no longer continue to report full coverage solely from historical sync state
            • The public flows table, coverage matrix, and flow receipt now expose an `unknown` coverage status for configured assets whose current lag cannot be trusted
            Details

            Impact Notes

            • Ethereum mint/burn coverage no longer waits roughly 10,000 blocks before surfacing a stuck established config as lagging
            • Coins with missing current chain-head metadata no longer continue to report full coverage solely from historical sync state
            • The public flows table, coverage matrix, and flow receipt now expose an `unknown` coverage status for configured assets whose current lag cannot be trusted
            Commit provenance not recorded
              v6.11May 12, 2026

              yBOLD extended transfer coverage

              Yearn BOLD (yBOLD) now has extended Ethereum mint/burn tracking through standard ERC-20 zero-address Transfer events.

              • Adds yBOLD to the extended mint/burn config registry using the shared Ethereum contract metadata
              • Tracks yBOLD share issuance and redemption separately from base BOLD's mint/burn flow so wrapper activity does not disappear into the parent asset
              • Keeps bridge detection unchanged because the tracked yBOLD deployment is the single Ethereum vault share token
              Details

              Impact Notes

              • Adds yBOLD to the extended mint/burn config registry using the shared Ethereum contract metadata
              • Tracks yBOLD share issuance and redemption separately from base BOLD's mint/burn flow so wrapper activity does not disappear into the parent asset
              • Keeps bridge detection unchanged because the tracked yBOLD deployment is the single Ethereum vault share token
              Commit provenance not recorded
                v6.1May 8, 2026

                USG extended transfer coverage

                Tangent USD (USG) now has extended Ethereum mint/burn tracking from its reviewed deployment block using standard ERC-20 zero-address Transfer events.

                • Adds USG to the extended mint/burn config registry with a reviewed deployment-block start bound
                • Captures the initial 40.02M USG zero-address mint history plus future USG supply changes through the standard Transfer decoder
                • Keeps bridge and custom-event handling unchanged; no USG bridge classifier is configured because only the Ethereum token contract is currently tracked
                Details

                Impact Notes

                • Adds USG to the extended mint/burn config registry with a reviewed deployment-block start bound
                • Captures the initial 40.02M USG zero-address mint history plus future USG supply changes through the standard Transfer decoder
                • Keeps bridge and custom-event handling unchanged; no USG bridge classifier is configured because only the Ethereum token contract is currently tracked
                Commit provenance not recorded
                  v6.0Apr 17, 2026

                  Bridge classifier parity, LayerZero endpoint-only signal, canonical-chain gauge weighting

                  Bridge classification now tags both mint and burn rows for CCIP/CCTP transactions, the LayerZero classifier recognizes endpoint-only fingerprints, and the Bank Run Gauge weights coins by their tracked-chain circulating supply rather than global supply. Atomic-roundtrip detection now requires mint/burn totals to match within 0.5%, and custom-event counterparty extraction supports unindexed address parameters.

                  • CCIP and CCTP bridge mints now tag as `flow_type='bridge_transfer'` (previously leaked into economic mint flow for USDC, EURC, USDO, USD1, avUSD, ZCHF)
                  • LayerZero classifier accepts endpoint-emitter signal alone, catching Executor-only mint patterns previously missed on USDai-Arbitrum
                  • Bank Run Gauge weights each coin's intensity by its circulating supply on tracked-chain scope only (e.g., USDC weighted by Ethereum supply, not global $36B+ total)
                  • Atomic-roundtrip detection requires sum(mint) and sum(burn) to match within 0.5% — partial same-tx mix is preserved as economic flow rather than erased
                  Details

                  Impact Notes

                  • CCIP and CCTP bridge mints now tag as `flow_type='bridge_transfer'` (previously leaked into economic mint flow for USDC, EURC, USDO, USD1, avUSD, ZCHF)
                  • LayerZero classifier accepts endpoint-emitter signal alone, catching Executor-only mint patterns previously missed on USDai-Arbitrum
                  • Bank Run Gauge weights each coin's intensity by its circulating supply on tracked-chain scope only (e.g., USDC weighted by Ethereum supply, not global $36B+ total)
                  • Atomic-roundtrip detection requires sum(mint) and sum(burn) to match within 0.5% — partial same-tx mix is preserved as economic flow rather than erased
                  • Custom-event counterparty extraction now supports unindexed address parameters (reUSD `Deposited` user address no longer null)
                  • Historical rows reclassified via `/api/backfill-mint-burn` replay and `/api/reclassify-atomic-roundtrips` after deploy
                  Commit provenance not recorded
                    v5.2Apr 14, 2026

                    GYD retirement from active mint/burn coverage

                    GYD was removed from active mint/burn flow tracking after its cross-chain contract incident left the token functionally dead and moved it to the cemetery dataset.

                    • Mint/burn flow configs no longer scan the Ethereum GYD token after the asset moved out of the active stablecoin registry
                    • Public flow coverage counts and stablecoin registry totals now exclude GYD from active surfaces
                    • Historical rows remain in D1 if previously ingested, but current API scope is driven by the active config registry
                    Details

                    Impact Notes

                    • Mint/burn flow configs no longer scan the Ethereum GYD token after the asset moved out of the active stablecoin registry
                    • Public flow coverage counts and stablecoin registry totals now exclude GYD from active surfaces
                    • Historical rows remain in D1 if previously ingested, but current API scope is driven by the active config registry
                    Commit provenance not recorded
                      v5.1Apr 8, 2026

                      Canonical-chain mint/burn scope for native issuance tracking

                      Mint/burn coverage now follows each asset's configured issuance chain instead of assuming Ethereum-only scope, with USDai switched to native Arbitrum issuance/redemption tracking and stale non-canonical rows excluded from public aggregates.

                      • USDai mint/burn tracking now runs on Arbitrum as the canonical native issuance chain instead of Ethereum bridge-transfer noise
                      • Aggregate and per-coin APIs now read only configured `(stablecoinId, chainId)` pairs so stale historical rows on non-canonical chains do not contaminate public flow metrics
                      • Cron metadata, coverage helpers, status reconciliation, daily digest, and DEWS mint/burn inputs now honor chain-aware mint/burn scope
                      • Admin backfill auto-selection and explicit config replay now work across the configured issuance-chain set instead of Ethereum-only
                      Details

                      Impact Notes

                      • USDai mint/burn tracking now runs on Arbitrum as the canonical native issuance chain instead of Ethereum bridge-transfer noise
                      • Aggregate and per-coin APIs now read only configured `(stablecoinId, chainId)` pairs so stale historical rows on non-canonical chains do not contaminate public flow metrics
                      • Cron metadata, coverage helpers, status reconciliation, daily digest, and DEWS mint/burn inputs now honor chain-aware mint/burn scope
                      • Admin backfill auto-selection and explicit config replay now work across the configured issuance-chain set instead of Ethereum-only
                      Commit provenance not recorded
                        v5.0Apr 8, 2026

                        Bridge-transfer flow exclusion for omnichain tokens

                        Bridge-aware classification now excludes bridge-transfer mints as well as burns, starting with USDai's LayerZero OFT path, and replay/backfill runs can repair previously inserted rows.

                        • LayerZero OFT transfers now mark both the mint-side and burn-side event rows as `flowType='bridge_transfer'` so they drop out of counted economic-flow aggregates
                        • USDai's Ethereum tracker now recognizes the documented USDai OAdapter / LayerZero packet flow instead of treating equal-sized bridge mints and burns as issuance activity
                        • Bridge classification now runs after all parsed rows are assembled for the config chunk, so mint-side bridge rows are visible to the classifier
                        • Replay and backfill persistence now updates `flow_type` on existing rows, allowing post-deploy repair of previously ingested bridge-transfer noise
                        Details

                        Impact Notes

                        • LayerZero OFT transfers now mark both the mint-side and burn-side event rows as `flowType='bridge_transfer'` so they drop out of counted economic-flow aggregates
                        • USDai's Ethereum tracker now recognizes the documented USDai OAdapter / LayerZero packet flow instead of treating equal-sized bridge mints and burns as issuance activity
                        • Bridge classification now runs after all parsed rows are assembled for the config chunk, so mint-side bridge rows are visible to the classifier
                        • Replay and backfill persistence now updates `flow_type` on existing rows, allowing post-deploy repair of previously ingested bridge-transfer noise
                        Commit provenance not recorded
                          v4.9Mar 24, 2026

                          Deterministic repair loops and adapter provenance disclosures

                          Mint/burn repair and coverage semantics were tightened through historical-first valuation repair, deterministic cleanup backlogs, aligned FTQ classification, and explicit adapter provenance on public coverage metadata.

                          • Historical price repair now values events from event-day `supply_history` instead of current `price_cache` snapshots
                          • NULL-price healing and atomic-roundtrip sweeping now use deterministic ordered backlog queries
                          • The daily digest now shares the same report-card-cache FTQ classification semantics as `/api/mint-burn-flows`
                          • Per-coin coverage now exposes `adapterKinds`, `startBlockSource`, and `startBlockConfidence` so blanket start-block defaults are visible in the API
                          Details

                          Impact Notes

                          • Historical price repair now values events from event-day `supply_history` instead of current `price_cache` snapshots
                          • NULL-price healing and atomic-roundtrip sweeping now use deterministic ordered backlog queries
                          • The daily digest now shares the same report-card-cache FTQ classification semantics as `/api/mint-burn-flows`
                          • Per-coin coverage now exposes `adapterKinds`, `startBlockSource`, and `startBlockConfidence` so blanket start-block defaults are visible in the API
                          Commit provenance not recorded
                            v4.8Mar 24, 2026

                            Ethereum coverage wave for long-tail mint/burn tracking

                            Mint/burn flow coverage expanded materially by restoring and adding long-tail Ethereum ERC-20 configs that can be tracked with the standard zero-address Transfer path.

                            • Added 40 additional Ethereum transfer-based configs for previously uncovered tracked assets
                            • Extended flow coverage now includes more long-tail fiat, non-USD, commodity, and yield-bearing assets where shared metadata already exposes an Ethereum contract
                            • Coverage scope increased from 84 contract configs / 83 stablecoin IDs to 124 contract configs / 123 stablecoin IDs while preserving the existing critical-lane set
                            Details

                            Impact Notes

                            • Added 40 additional Ethereum transfer-based configs for previously uncovered tracked assets
                            • Extended flow coverage now includes more long-tail fiat, non-USD, commodity, and yield-bearing assets where shared metadata already exposes an Ethereum contract
                            • Coverage scope increased from 84 contract configs / 83 stablecoin IDs to 124 contract configs / 123 stablecoin IDs while preserving the existing critical-lane set
                            Commit provenance not recorded
                              v4.7Mar 10, 2026

                              Closed-day baseline, fixed aggregate 24h semantics, and coverage disclosures

                              Pressure Shift now compares live 24-hour flows against trailing fully closed daily baselines, aggregate API 24h fields are fixed regardless of chart window, and the product now exposes Ethereum-only scope plus coverage/freshness metadata.

                              • Pressure Shift baseline now excludes the current UTC day and uses the last 30 fully closed daily buckets
                              • Aggregate `/api/mint-burn-flows?hours=N` now keeps coin-level 24h fields fixed to the canonical 24h window while only the hourly series respects `hours`
                              • Aggregate flow API now exposes `scope`, `sync`, `windowHours`, and per-coin `coverage` metadata
                              • The `/flows` page now labels the feature as Ethereum-only and visually marks partial-history or lagging coverage states
                              Details

                              Impact Notes

                              • Pressure Shift baseline now excludes the current UTC day and uses the last 30 fully closed daily buckets
                              • Aggregate `/api/mint-burn-flows?hours=N` now keeps coin-level 24h fields fixed to the canonical 24h window while only the hourly series respects `hours`
                              • Aggregate flow API now exposes `scope`, `sync`, `windowHours`, and per-coin `coverage` metadata
                              • The `/flows` page now labels the feature as Ethereum-only and visually marks partial-history or lagging coverage states
                              • Flow freshness headers now follow successful sync timestamps instead of latest event timestamps, avoiding false staleness during quiet periods
                              Commit provenance not recorded
                                v4.6Mar 9, 2026

                                Safe-frontier ingestion and counted event-history alignment

                                Mint/burn ingestion now advances only to a shared safe coverage frontier under partial scans, and product event-history surfaces now default to counted economic-flow rows.

                                • Partial event-definition coverage no longer advances sync state past uncovered log ranges
                                • Missing block timestamps now cap advancement at the earliest unresolved block instead of silently skipping rows forever
                                • The event API now exposes `flowType` and supports `scope=counted` for rows that participate in aggregates
                                • Detail-page flow history now excludes bridge burns, review-required burns, and atomic roundtrips by default
                                Details

                                Impact Notes

                                • Partial event-definition coverage no longer advances sync state past uncovered log ranges
                                • Missing block timestamps now cap advancement at the earliest unresolved block instead of silently skipping rows forever
                                • The event API now exposes `flowType` and supports `scope=counted` for rows that participate in aggregates
                                • Detail-page flow history now excludes bridge burns, review-required burns, and atomic roundtrips by default
                                • Unpriced event rows now render native token amounts instead of false dollar values
                                • `minAmount` filtering is now strictly USD-only when `amountUsd` is available
                                Commit provenance not recorded
                                  v4.5Mar 9, 2026

                                  Data quality: noise filtering, auto-heal, and activity gating

                                  Improves flow data reliability by excluding flash-loan roundtrips from aggregation, auto-healing missing USD prices, and gating pressure shift for low-activity coins.

                                  • Transactions containing both mint and burn for the same token (flash loans, atomic arb) are now flagged as atomic_roundtrip and excluded from all flow aggregates
                                  • Events synced without USD price are now automatically backfilled within 48h by the sync cron
                                  • Coins with less than $50K absolute 24h flow now return NR instead of a potentially misleading pressure shift score
                                  • New observability counters in cron metadata: atomicRoundtripsDetected, nullPricesHealed
                                  Details

                                  Impact Notes

                                  • Transactions containing both mint and burn for the same token (flash loans, atomic arb) are now flagged as atomic_roundtrip and excluded from all flow aggregates
                                  • Events synced without USD price are now automatically backfilled within 48h by the sync cron
                                  • Coins with less than $50K absolute 24h flow now return NR instead of a potentially misleading pressure shift score
                                  • New observability counters in cron metadata: atomicRoundtripsDetected, nullPricesHealed
                                  Commit provenance not recorded
                                    v4.4Mar 7, 2026Reconstructed

                                    Two-signal flow semantics and baseline-aware interpretation

                                    Per-coin flow UI now separates raw 24h net flow from baseline-relative pressure shift while preserving the underlying formula.

                                    • Per-coin flow UI now separates raw 24h net flow from baseline-relative pressure shift
                                    • API now exposes canonical `pressureShiftScore` and interpretation fields while retaining `flowIntensity` as a deprecated alias
                                    • Frontend printer and shredder visuals now key off actual net flow direction instead of score sign
                                    • Methodology and product copy now distinguish current direction from pressure-versus-baseline context
                                    Details

                                    Impact Notes

                                    • Per-coin flow UI now separates raw 24h net flow from baseline-relative pressure shift
                                    • API now exposes canonical `pressureShiftScore` and interpretation fields while retaining `flowIntensity` as a deprecated alias
                                    • Frontend printer and shredder visuals now key off actual net flow direction instead of score sign
                                    • Methodology and product copy now distinguish current direction from pressure-versus-baseline context
                                    Reconstructed from git commit history.Commit provenance not recorded
                                      v4.3Mar 4, 2026Reconstructed

                                      NR gating for no-activity flow windows

                                      Coins with no mint/burn activity in the active 24h window now publish NR flow intensity and are excluded from gauge weighting.

                                      • Removed synthetic neutral intensity fallback for sparse no-activity windows
                                      • No-activity windows now return `flowIntensity = null` (NR) instead of `0`
                                      • Bank Run Gauge now excludes those NR windows from the market-cap-weighted composite
                                      • Frontend flow-intensity UI now displays NR explicitly for null values
                                      Details

                                      Impact Notes

                                      • Removed synthetic neutral intensity fallback for sparse no-activity windows
                                      • No-activity windows now return `flowIntensity = null` (NR) instead of `0`
                                      • Bank Run Gauge now excludes those NR windows from the market-cap-weighted composite
                                      • Frontend flow-intensity UI now displays NR explicitly for null values
                                      Reconstructed from git commit history.Commit provenance not recorded
                                        v4.2Mar 4, 2026Reconstructed

                                        Signed zero-baseline flow-intensity semantics

                                        Flow Intensity Score and Bank Run Gauge moved from midpoint semantics to canonical signed outputs centered at zero baseline.

                                        • Flow Intensity Score now emits signed values via `clamp(-100, 100, z * 50)`
                                        • Gauge score now uses signed -100 to +100 output with neutral baseline at 0
                                        • Band thresholds were remapped around zero while retaining existing band labels
                                        • Frontend midpoint conversion shim was removed; UI now consumes canonical signed API values directly
                                        Details

                                        Impact Notes

                                        • Flow Intensity Score now emits signed values via `clamp(-100, 100, z * 50)`
                                        • Gauge score now uses signed -100 to +100 output with neutral baseline at 0
                                        • Band thresholds were remapped around zero while retaining existing band labels
                                        • Frontend midpoint conversion shim was removed; UI now consumes canonical signed API values directly
                                        Reconstructed from git commit history.Commit provenance not recorded
                                          v4.1Mar 4, 2026Reconstructed

                                          Reliability remediation and controlled backfill recovery

                                          Ingestion moved to a reliability-first runtime policy with degraded/error health signaling and operator-grade recovery controls.

                                          • Added run-state rotation plus per-chain quotas so coverage remains balanced under budget pressure
                                          • Added degraded/error escalation from sustained low coverage or repeated API failures
                                          • Introduced authenticated chunked backfill endpoint (`/api/backfill-mint-burn`) reusing ingestion parsing and aggregation
                                          Details

                                          Impact Notes

                                          • Added run-state rotation plus per-chain quotas so coverage remains balanced under budget pressure
                                          • Added degraded/error escalation from sustained low coverage or repeated API failures
                                          • Introduced authenticated chunked backfill endpoint (`/api/backfill-mint-burn`) reusing ingestion parsing and aggregation
                                          Reconstructed from git commit history.1 commit
                                          • 20f56c3
                                          v4.0Mar 4, 2026Reconstructed

                                          reUSD deposit amount scale correction

                                          Fixed a scale mismatch in reUSD mint decoding that overstated deposit-side mint volume.

                                          • reUSD `Deposited` events now decode with 18 decimals instead of 6
                                          • Removed artificial inflation in reUSD mint flow and related aggregates
                                          • Added regression test validating a known on-chain `Deposited` payload decodes to 10 tokens
                                          Details

                                          Impact Notes

                                          • reUSD `Deposited` events now decode with 18 decimals instead of 6
                                          • Removed artificial inflation in reUSD mint flow and related aggregates
                                          • Added regression test validating a known on-chain `Deposited` payload decodes to 10 tokens
                                          Reconstructed from git commit history.1 commit
                                          • a49abfa
                                          v3.2Mar 3, 2026Reconstructed

                                          Event-time USD valuation for flow amounts

                                          Flow USD amounts moved from run-time spot pricing to event-time historical price attribution when available.

                                          • Event valuation now prefers daily historical prices from `supply_history` at event day
                                          • Price provenance persisted per event (`price_used`, `price_timestamp`, `price_source`)
                                          • Row-drop accounting added for malformed/dust logs to improve data quality observability
                                          Details

                                          Impact Notes

                                          • Event valuation now prefers daily historical prices from `supply_history` at event day
                                          • Price provenance persisted per event (`price_used`, `price_timestamp`, `price_source`)
                                          • Row-drop accounting added for malformed/dust logs to improve data quality observability
                                          Reconstructed from git commit history.1 commit
                                          • 89ef4fa
                                          v3.1Mar 3, 2026Reconstructed

                                          Alchemy migration and chain-aware scan controls

                                          Mint/burn ingestion migrated to Alchemy JSON-RPC with chain-specific scan behavior and stronger timestamp resolution guarantees.

                                          • Replaced Etherscan log ingestion with Alchemy `eth_getLogs`
                                          • Block timestamps now resolved in batch via `eth_getBlockByNumber`, with retry-on-missing semantics
                                          • Scan ranges and safety margins calibrated per chain (including Optimism support)
                                          Details

                                          Impact Notes

                                          • Replaced Etherscan log ingestion with Alchemy `eth_getLogs`
                                          • Block timestamps now resolved in batch via `eth_getBlockByNumber`, with retry-on-missing semantics
                                          • Scan ranges and safety margins calibrated per chain (including Optimism support)
                                          Reconstructed from git commit history.3 commits
                                          • 32f1e37
                                          • 8193ab3
                                          • 3b66c98
                                          v3.0Mar 2, 2026Reconstructed

                                          reUSD multi-chain coverage and per-coin dedup correction

                                          Coverage expanded to Re Protocol reUSD across four chains, then corrected aggregate dedup logic to avoid multi-contract over-weighting.

                                          • Added reUSD mint and redemption event tracking on Ethereum, Arbitrum, Base, and Avalanche
                                          • Added nth-data-slot amount decoding for non-standard event payload layouts
                                          • Aggregate flow loop now deduplicates by stablecoin ID to prevent duplicated rows and weighted overcounts
                                          Details

                                          Impact Notes

                                          • Added reUSD mint and redemption event tracking on Ethereum, Arbitrum, Base, and Avalanche
                                          • Added nth-data-slot amount decoding for non-standard event payload layouts
                                          • Aggregate flow loop now deduplicates by stablecoin ID to prevent duplicated rows and weighted overcounts
                                          Reconstructed from git commit history.2 commits
                                          • 34893a5
                                          • aa2bcb8
                                          v2.1Mar 1, 2026Reconstructed

                                          Grade-aware flight-to-quality classification

                                          Flight-to-quality shifted from static safe-haven lists to report-card score buckets, with fallback only when grade data is stale or missing.

                                          • Safe/risky FTQ buckets now derive from report-card scores (safe >= 65, risky < 50, neutral ignored)
                                          • Static safe-haven sets are now fallback-only for unavailable or stale report-card cache
                                          • Largest-event attribution aligned to requested window semantics in aggregate mode
                                          Details

                                          Impact Notes

                                          • Safe/risky FTQ buckets now derive from report-card scores (safe >= 65, risky < 50, neutral ignored)
                                          • Static safe-haven sets are now fallback-only for unavailable or stale report-card cache
                                          • Largest-event attribution aligned to requested window semantics in aggregate mode
                                          Reconstructed from git commit history.2 commits
                                          • dcdefde
                                          • c1c1839
                                          v2.0Mar 1, 2026Reconstructed

                                          USDT treasury-event capture and partial-data gauge support

                                          Coverage and scoring robustness were upgraded to capture USDT treasury mint/burn events and keep the gauge active during early-history ramp.

                                          • Added `startBlock` per config for near-history initialization instead of scanning from genesis
                                          • USDT now tracks `Issue` and `Redeem` events that do not emit standard `Transfer` mints/burns
                                          • Gauge now computes from available non-null FIS inputs instead of returning null when any coin lacks sufficient history
                                          Details

                                          Impact Notes

                                          • Added `startBlock` per config for near-history initialization instead of scanning from genesis
                                          • USDT now tracks `Issue` and `Redeem` events that do not emit standard `Transfer` mints/burns
                                          • Gauge now computes from available non-null FIS inputs instead of returning null when any coin lacks sufficient history
                                          Reconstructed from git commit history.2 commits
                                          • 2144236
                                          • 1eddad0
                                          v1.0Mar 1, 2026Reconstructed

                                          Initial Mint/Burn Flow release

                                          Launched baseline mint/burn flow tracking, scoring primitives, and public API surfaces for aggregate and per-coin analysis.

                                          • Introduced phase-1 contract coverage for 10 tracked stablecoins
                                          • Shipped FIS formula, seven-band Bank Run Gauge mapping, and flight-to-quality detection thresholds
                                          • Deployed incremental sync cron with `/api/mint-burn-flows` and `/api/mint-burn-events`
                                          Details

                                          Impact Notes

                                          • Introduced phase-1 contract coverage for 10 tracked stablecoins
                                          • Shipped FIS formula, seven-band Bank Run Gauge mapping, and flight-to-quality detection thresholds
                                          • Deployed incremental sync cron with `/api/mint-burn-flows` and `/api/mint-burn-events`
                                          Reconstructed from git commit history.4 commits
                                          • 06ad0d9
                                          • e36a0c1
                                          • 2473c86
                                          • fea681c