Methodology & Data Sources

This page is the technical reference for POLTRACK metrics. It documents source hierarchy, formulas, constants, limitations, and reconciliation rules. For the plain-language explanation of POL as the native gas and staking token of Polygon PoS, start with the Polygon POL Token FAQ. Broader guides cover POL Tokenomics, POL Burn, and Polygon Chain Fees.

Provenance policy. POLTRACK is independent from Polygon Labs and the Polygon Foundation. Protocol facts are checked against official Polygon documentation, published PIPs, relevant Polygon governance forum records, public Polygon source code and contracts, verified transactions, and direct on-chain state. POLTRACK then normalizes those primary inputs and publishes its own calculations and explanations. Proposals, executed protocol behavior, observed data, and POLTRACK-derived metrics are labeled separately.

Scope

POLTRACK measures public Polygon Chain and POL economics from observable on-chain and public data sources. Polygon PoS remains the technical and historical name used by many contracts, PIPs, explorers, and source systems.

DomainPOLTRACK output
Supplyon-chain supply, burn adjustment, total supply, estimated liquid supply
Burnnative Polygon burn, Ethereum POL zero-burn and dead-burn, legacy MATIC dead-burn where relevant
Feesbase fees, priority fees, gross fees, USD values, rolling fee metrics
Stakingstaked supply, staking share, emission-funded network staking APR; PIP-85 fee modeling inactive
Emissionsstaking emission, treasury emission, total supply change
Validatorsvalidator state, score, tags, commission, performance, monthly operator earnings, PIP-65 income, staker earnings, and network security spend
Market contextPOL price, market cap, market rank where available
Liquid stakingsPOL supply, redemption rate, Ethereum and Polygon Chain holders, observed window return, APR and compound APY equivalent
Reportsannual and monthly fee summaries, activity, gas utilization, event context

POLTRACK does not publish price forecasts, trading advice, tax advice, legal advice, official Polygon data, or validator profit after operating expenses.

Source Hierarchy

POLTRACK prefers direct on-chain state when available.

PrioritySource typeUse
1Direct RPC / contract readssupply, balances, burn sinks, staking contracts, Polygon Chain blocks
2On-chain event logs / explorer APIsemissions, transfers, historical events, internal transaction evidence
3Public protocol/staking datavalidator metadata, commission, checkpoint state
4Market data APIsPOL price and market cap context
5POLTRACK canonical tablesnormalized daily facts and materialized analytics views

Third-party services can rate-limit, revise, or fail. Source failures are treated as coverage gaps, not values to fill.

Data Collection By Domain

Each domain is collected from public sources, preserved as raw or source-shaped data where practical, and normalized into daily canonical facts.

Supply And Burn

Supply data is based on Ethereum-side POL contract state and protocol address balances. POLTRACK tracks:

  • on-chain POL supply;
  • staking contract balance and validator/delegation state where available;
  • native Polygon Chain burn collector balance;
  • POL zero-address balance;
  • POL dead-address balance on Ethereum;
  • legacy MATIC dead-address balance where it still affects historical burn-adjusted accounting.

Native Polygon burn is measured as a balance delta at the relevant Polygon Chain burn or recipient address. POL zero-burn, POL dead-burn, and legacy MATIC dead-burn are measured on Ethereum. Daily permanent burn is the change in their combined cumulative balance, so a cross-chain transfer from the Polygon collector to the Ethereum dead address is not counted twice.

Burn Classification

The dashboard term Permanent burn is retained for balances already received by approved burn components. It does not assert that every component uses an ERC-20 _burn() call or immediately reduces the Ethereum POL contract's totalSupply().

Included components:

ComponentIncluded measurement
Polygon burn collectorNative POL balance at 0x7A8ed27F4C30512326878652d20fC85727401854
POL zero addressEthereum POL balance at 0x0000000000000000000000000000000000000000
POL dead addressEthereum POL balance at 0x000000000000000000000000000000000000dEaD
Legacy MATIC dead addressEthereum MATIC balance at 0x000000000000000000000000000000000000dEaD

Explicit exclusions:

  • the PIP-82 base-fee routing wallet at 0x3ef57def668054dd750bd260526105c4eeef104f;
  • priority-fee routing and distribution balances;
  • Community Treasury balances;
  • any separately assumed PIP-25 amount not represented by an observed POL balance change at the dead address;
  • MATIC held by the MATIC token contract itself, including the inaccessible balance discussed by PIP-25;
  • unclassified transfers to addresses that merely appear burn-related.

PIP-24 describes the 0x7A8e... collector as an upgradeable temporary holder for POL intended for burn. Its current implementation has no ordinary withdrawal method, but it is not technically identical to a dead address. POLTRACK includes its confirmed balance in the historical burn component of the Burn Adjustment through an explicit protocol and methodology classification.

PIP-82 changed the active base-fee recipient to 0x3ef5.... That wallet can route value to eligible rebates or forward non-recycled POL to 0x7A8e.... Its balance remains Awaiting burn in the Value Flow view. For Total Supply, POLTRACK instead measures Base Fees accrued toward burn directly from blocks, less observed rebates, so settlement timing does not create artificial supply jumps.

PIP-25 also discussed MATIC held by the MATIC token contract itself. Such MATIC is inaccessible under the current token code, and the balance can grow when tokens are sent directly to the token address. POLTRACK discloses this legacy component but does not include any historical snapshot or live self-balance in Permanent Burn, Total Supply Change, or Total Supply.

See POL Burn for the executed history, address-level reasoning, PIP-25 status, formulas, and FAQs.

External tracker supply fields are used for reconciliation, not as POLTRACK's supply source of truth. POLTRACK derives its current supply metrics from public source inputs.

Emissions And Treasury

Emission data is derived from Ethereum mainnet transfer events originating from the POL emission manager contract. Transfers are classified by recipient category, especially staking and treasury recipients. Value Flow reports the latest 30-calendar-day mint total and its recipient split.

Treasury balances and Treasury flows currently have different published perimeters. They must not be combined into a purported complete opening-balance + inflow - outflow reconciliation.

The current balance inventory includes these tracked addresses and assets:

AddressEthereum inventoryPolygon inventory
Community Treasury 0x86380e136A3AaD5677A210Ad02713694c4E6a5b9POLNot included
Legacy Safe 0x2ff25495d77f380d5f65b95f103181ae8b1cf898POLNot included
Primary execution Safe 0x3f43B56004cb9a8927F11b78949a2624a455868bPOL, sPOLNative POL, WPOL, sPOLChild
Secondary execution Safe 0xc984295ad7A950Fb5031154BCfC0b6267B948706POL, sPOLNative POL, WPOL, sPOLChild
Liquidity Safe 0x18DDc03E067681980475cDdf725498280051551CPOL, sPOLNative POL, WPOL, sPOLChild, attributed underlying assets in the Charm vault

For the Polygon Charm vault at 0xB788D3bcCeE934648bf670971b47F0Bf7CbE06F2, POLTRACK attributes WPOL (token0) and sPOL (token1) from getTotalAmounts() in proportion to vault shares owned by the Liquidity Safe. The vault shares themselves are not added again as a separate asset value:

Treasury vault underlying[asset]
  = vault.getTotalAmounts()[asset] × Treasury vault shares / vault.totalSupply()

POL balance
  = direct Ethereum POL + direct Polygon native POL + direct Polygon WPOL
  + Treasury vault WPOL underlying

sPOL holdings
  = direct Ethereum sPOL + direct Polygon sPOLChild
  + Treasury vault sPOL underlying

sPOL POL equivalent = sPOLController.convertSPOLtoPOL(sPOL holdings)

Ethereum quantities and sPOL conversion use one pinned Ethereum block; Polygon balances and vault positions use one pinned Polygon block. The two chains have separate cutoffs and are not assumed to share an identical timestamp. The balance snapshot records those block references. Assets outside the listed inventory, general bridge escrow, and underlying assets held by sPOL's staking/controller contracts are not added independently. POL balance is therefore not an exclusively liquid-POL cash balance: it includes WPOL and the attributed vault position. Converting or staking POL, wrapping it, bridging it, or moving it between included addresses is not by itself external revenue or an ecosystem expense. A valuation change is not a transfer.

The flow series remains the legacy Ethereum POL transfer perimeter: the Community Treasury address and Legacy Safe above. inflowPol and outflowPol are address-level transfer activity for that scope, not complete external income and spending for the expanded cross-chain inventory. Transfers within the two-address perimeter can appear on both sides; transfers to execution Safes, bridge routes or staking positions are not classified as final external expenses by these fields. The series does not measure all Polygon flows, vault deposits/withdrawals, or sPOL earnings. Historical zero flow is not evidence of zero activity outside that perimeter.

The API discloses these separately in treasury.scope: expanded balance version treasury-crosschain-inventory-v2 with scoped_inventory_snapshot coverage, and flow version treasury-ethereum-flows-v1 with legacy_account_transfer_scope_only coverage. ethereumBlock, polygonBlock, the balance dates, and meta.sourceTimestamps describe the cutoffs. These coverage labels identify the measured perimeter; they are not attestations that the legacy flow history is complete. Use the scope attached to the actual response, including an explicitly labeled legacy_balance_snapshot_only fallback if the expanded snapshot is unavailable. Current balances can be newer than the closed daily flow cutoff. A complete expanded Treasury flow reconstruction remains outside this dataset's present claim.

Fees And Chain Activity

Fee and activity data comes from Polygon Chain blocks and receipts:

  • gas used;
  • gas limit;
  • transaction count;
  • base fee;
  • priority fee;
  • gross fees.

The fee root is block-level data. Daily records are rollups over UTC days. Fee generation is separate from fee allocation: PIP-65 and PIP-85 affect who receives priority fees, not how transaction fee facts are measured.

Price And Market Context

POLTRACK uses market data APIs such as CoinGecko for price, market cap, and market rank context. USD values are display and comparison layers. POL-denominated on-chain values remain the primary unit for protocol accounting.

POLTRACK does not use third-party market API supply fields as primary supply inputs. Market API supply numbers are useful comparison points, but supply methodology is defined by POLTRACK's source hierarchy and formulas.

sPOL Liquid Staking

The POL Token section reads global sPOL state from the Ethereum sPOL token and controller contracts. Total supply comes from sPOL.totalSupply(). Its POL equivalent and the displayed redemption rate are evaluated at the same pinned Ethereum block:

sPOL POL equivalent = sPOLController.convertSPOLtoPOL(sPOL.totalSupply())
sPOL/POL redemption rate = sPOL POL equivalent / sPOL total supply

Holder counts are reported independently for Ethereum sPOL and Polygon Chain sPOLChild. For each contract, POLTRACK indexes every non-zero address observed in Transfer logs, reads each current balanceOf at a pinned block, and counts positive balances. A snapshot is rejected unless the sum of all indexed balances exactly equals that contract's totalSupply().

The dashboard does not add the two counts or deduplicate addresses across chains. The same hexadecimal address can therefore appear once in each network count. These metrics describe positive-balance on-chain addresses, including contracts and multisigs where applicable; they are not estimates of unique people or beneficial owners.

Observed sPOL return uses daily pinned-block redemption-rate snapshots. On initial collection, POLTRACK backfills 31 UTC end-of-day snapshots and then updates daily. The historical point closest to 30 days before the latest block timestamp is used. Let d be the exact elapsed time between the two blocks in days, and r the observed redemption-rate return as a decimal:

r = latest redemption rate / baseline redemption rate - 1
Observed window return (%) = r × 100
Simple annualized APR (%) = r × 365 / d × 100
Compound annualized APY equivalent (%) = ((1 + r)^(365 / d) - 1) × 100

The API's observedApr30dPct and aprWindowDays retain the simple annualization and exact window. The dashboard shows the observed window return and its compound APY equivalent derived from those same inputs. The visible window label is rounded to whole days; calculations use the unrounded duration. APY assumes the observed rate of growth continues for a year. It is not an observed one-year yield, an advertised rate, or a forecast. These redemption-based metrics exclude gas costs and any secondary-market premium or discount to the on-chain redemption rate. The separate network staking yield is an emission-funded APR, before validator commission; PIP-85 fee modeling is inactive and excluded.

Core Formulas

Supply

On-chain Supply = canonical POL contract supply state

Burn Adjustment
= confirmed historical burn through 2025-12-31
+ Polygon Base Fees accrued toward burn from 2026-01-01, net of confirmed rebates

Total Supply = On-chain Supply - Burn Adjustment

Unmigrated MATIC
= MATIC totalSupply
- MATIC held by the migration contract
- MATIC held by the known dead address

Estimated Liquid Supply
= Total Supply
- staked POL
- unclaimed staking rewards
- unmigrated MATIC (1:1 POL equivalent)

Total Supply is POLTRACK's headline current supply metric. On-chain Supply exposes the contract-state input before the external Burn Adjustment. The adjustment includes confirmed historical burn and protocol Base Fees already accrued toward burn. Because some Base Fees settle through routing contracts later, the adjustment can be ahead of the balance shown as Permanent Burn. POLTRACK does not present a separate market-float or locked-token estimate as circulating supply.

The MATIC-to-POL migration started on October 25, 2023 and operates 1:1. Dead-address MATIC is excluded from the unmigrated balance because it is already included in permanent burn; subtracting it again would understate liquid supply. Unclaimed rewards use the latest complete weekly network snapshot.

The Supply graph extends the observed history to October 25, 2033 so users can inspect a dated supply path under explicit assumptions:

Scenario on-chain supply(t)
= observed on-chain supply at asOf × 1.02^(UTC days since asOf / 365)

Total supply under the 2033 scenario
= scenario on-chain supply - current Burn Adjustment - projected future Base Fee accrual

This calculation belongs only to the projected portion of the Supply graph. It is not a current supply definition, protocol limit, target, or claim about supply after that date.

The dashboard supply chart applies an additional assumption to the future leg. It starts with the on-chain emission path above, subtracts the Burn Adjustment measured at the chart's as-of date, and then subtracts future Base Fee accrual at a constant trailing 90-calendar-day average:

scenario future burn = trailing 90d average Base Fee burn × future calendar days
scenario total supply = scenario on-chain supply - current Burn Adjustment - scenario future burn

The average is recalculated daily from Base Fee accrual, not from routing-wallet transfers. PIP-82 settlements and routing-wallet movements are not inputs to this chart scenario. The result is a constant-current-pace scenario, not a claim that future network activity or burn will remain unchanged.

Supply Field Mapping

Supply disputes usually come from different systems using the same words for different concepts. POLTRACK uses this mapping when reconciling POL supply, CoinGecko supply fields, Etherscan contract reads, and public Polygon references.

FieldMeaning
On-chain SupplyCanonical POL contract supply state before the external Burn Adjustment. It is derived from direct contract and emission history inputs.
Burn AdjustmentConfirmed historical burn through 2025-12-31 plus Polygon Base Fees accrued toward burn from 2026-01-01, net of confirmed rebates. This is broader than the already-settled Permanent Burn balance.
Total SupplyOn-chain Supply minus the Burn Adjustment. This is POLTRACK's headline current supply metric.
Estimated Liquid SupplyTotal Supply minus staked POL, unclaimed staking rewards, and unmigrated MATIC at a 1:1 POL equivalent. It is an accounting estimate, not an exchange-float estimate.
CoinGecko total supplyExternal tracker field that can use its own on-chain supply and burn assumptions.

When a user asks why POLTRACK does not match another site, first identify which definition is being compared. POLTRACK Total Supply, contract-state supply, and a provider-specific circulating-supply estimate are not interchangeable.

Total Supply Change

Total Supply Change = minted POL - Base Fees accrued toward burn

Positive Total Supply Change means Total Supply increased over the period. A negative value means Base Fees accrued toward burn exceeded minting over the same period.

The dashboard's 30d Supply Change card uses the effective-supply view rather than settlement-timed permanent burn:

30d Total Supply Change = 30d minted POL - 30d Base Fees accrued toward burn

This keeps the mint and Base Fee inputs on the same 30-calendar-day window. Routing-wallet transfers can settle in batches, so their timing does not define the period's supply change. The already-settled Permanent Burn balance remains a separate Value Flow metric.

Burn Delta

Burn day = max(cumulative burn[t] - cumulative burn[t-1], 0)

If a required snapshot is missing, the affected day stays unavailable rather than being interpolated.

Fees

Gross fees = base fees + priority fees
Base fee value = gas used * base fee
Priority fee value = gas used * effective priority fee

USD values are derived by multiplying POL-denominated fee values by daily POL price.

Fee Allocation

POLTRACK separates fee generation from fee allocation.

Gross fees = base fees + priority fees
Non-burn fee value = max(gross fees - realized burn value, 0)
Rewards from fees = max(non-burn fee value - rebates, 0)

PIP-82 rebates are tracked separately from burn and staking rewards. If no eligible rebate settlement is observed for a day, rebate value is zero rather than inferred.

POLTRACK continues to track eligible PIP-82 rebate settlements in its data pipeline and methodology, but does not display them as a headline Value Flow metric while observed amounts remain immaterial at dashboard scale. This is a presentation choice, not an accounting change. Rebates are not counted as realized burn and are deducted before rewards from fees are calculated. PIP-82 is a temporary program capped at 1,000,000 USD and scheduled to end at the earlier of cap exhaustion or December 31, 2026.

Staking APR

As of September 10, 2026, PIP-85 staker fee sharing is inactive in POLTRACK. It is not modeled, displayed, or included in staking APR, charts, or scenario allocations. Displayed network staking APR uses emission funding only:

APR from emission = annualized staking emission / average staked POL
Displayed staking APR = APR from emission

This is an annualized funding run rate before validator commission, not a guaranteed realized APY. Activity and POL-price scenarios do not change this APR; the inflation input does.

The former fee model is preserved for reference only and is not calculated by the frontend:

Inactive reference fee APR = annualized staker fee share / average staked POL
Inactive reference combined APR = emission APR + fee APR

PIP-65 / PIP-85

PIP-65 validator pool = 74% of priority fee distribution
PIP-65 block producer pool = 26% of priority fee distribution

PIP-85 staker / delegator pool = 50% of the PIP-65 validator pool = 37% of total priority fees
PIP-85 remaining validator pool = 37% of total priority fees
PIP-85 block producer pool = 26% of total priority fees

PIP-65 batch payments can lag the fee collection period. POLTRACK labels the priority-fee routing-wallet balance Awaiting distribution and does not count it as distributed until an outgoing batch is observed and classified. The PIP-85 percentages above are retained specification parameters. Staker fee modeling is inactive in POLTRACK and requires a separate activation change before it can operate in the product.

PIP-Aware Fee Boundaries

POLTRACK keeps fee generation block-based so policy changes can be handled at the correct boundary.

EventBlockWhy it matters
Rio / PIP-6577,414,656priority fees route to the PIP-65 distribution path
Lisovo / PIP-8283,756,500base-fee recipient path changes for the Agentic Commerce gas program
PIP-85 specified boundary85,245,000retained specification boundary; does not enable POLTRACK's inactive staker fee model
Giugliano85,268,500additional gas/base-fee observability changes

Activation-aware allocation should use block boundaries rather than day-only logic.

Protocol Constants

Supply Baseline

ItemValue
POL token genesis date2023-10-25
Initial migration-era supply baseline10,000,000,000 POL
Public Total Supply modelOn-chain Supply minus Burn Adjustment

Emission Model

PIP-17 introduced the POL token with 10,000,000,000 initial POL for the MATIC migration and a 2% annual emission concept split between staking/validator rewards and the Community Treasury. Polygon's official POL documentation describes the original 2% split and the PIP-26 validator-reward transition: 2% for the June 2023-June 2024 reward year, 1.5% for June 2024-June 2025, and 1% from July 2025 onward. This results in an effective 2% annual POL emission after June 2025: 1% to validator rewards and 1% to the Community Treasury.

POLTRACK distinguishes the executed contract timeline from the validator-reward policy calendar:

Date basisMeaning in POLTRACK
Executed Ethereum blocks and timestampsActual POL mint history and implementation changes
June-to-June reward yearsPIP-26 validator rewards transition calendar

Executed mainnet history records 3% from October 2023, 2.5% from the July 2024 implementation switch, and the current 2% curve from the July 2025 switch. The latest 30-calendar-day treasury and staking mint flows are reported from on-chain events.

The declared schedule is compounded on the growing supply base:

on-chain supply path = start supply + treasury emission + staking/validator emission
total supply change = observed minted POL - observed Base Fees accrued toward burn

Observed on-chain mint events and Base Fee accrual define actual issuance, recipient classification, and Total Supply Change. The future calculation used by the Supply graph is documented only in the Supply section above and remains separate from current metrics.

This prevents a common mistake: treating the initial 10B migration supply as the full long-term POL supply model.

PIP-82 Program Constants

ItemValue
Program cap1,000,000 USD
Program end date2026-12-31 or earlier if cap is exhausted
New EIP-1559 burn recipient / routing address0x3ef57def668054dd750bd260526105c4eeef104f
Current burn collector for non-recycled POL0x7A8ed27F4C30512326878652d20fC85727401854

Key Addresses

Ethereum mainnet:

RoleAddress
POL token0x455e53CBB86018Ac2B8092FdCd39d8444aFFC3F6
POL/MATIC dead address0x000000000000000000000000000000000000dEaD
BurnTunnel0xDEAD4CD252BB87237325B18D71fF4D872CAabcBc
Emission manager0xbC9f74b3b14f460a6c47dCdDFd17411cBc7b6c53
Staking contract0x5e3ef299fddf15eaa0432e6e66473ace8c13d908
Community Treasury0x86380e136A3AaD5677A210Ad02713694c4E6a5b9
sPOL token0x3B790d651e950497c7723D47B24E6f61534f7969
sPOL controller0xEaadA411F2600570796c341552b9869DA708a28B
Treasury sPOL Safe A0x3f43B56004cb9a8927F11b78949a2624a455868b
Treasury sPOL Safe B0xc984295ad7A950Fb5031154BCfC0b6267B948706

Polygon Chain:

RoleAddress
sPOLChild token0xd1CD49A08AeF3Af93457aEc17C786C2b7F48eCd7
Native fee burn address0x7A8ed27F4C30512326878652d20fC85727401854
PIP-82 base fee recipient0x3ef57def668054dd750bd260526105c4eeef104f
PIP-65 multisig0x7Ee41D8A25641000661B1EF5E6AE8A00400466B0

Validator Methodology

The Polygon Validators product combines validator registry data, checkpoint/performance signals, stake and delegator data, commission, tags, and PIP-65 fee payment history.

Validator monitoring combines:

SourceChainWhat it provides
PIP-65 multisig internal transactionsPolygon PoSrealized per-validator fee payments
StakeManager contractEthereumvalidator state, own stake, delegated POL, commission, checkpoint reward context
ValidatorShare contractsEthereumshare supply, exchange rate, delegator reward-per-share, and delegation context
Validator snapshotspublic contract getters at a named Ethereum blockdaily stake state used for history and score inputs
Polygon staking APIOffchain metadataoperator metadata and checkpoint-performance context

Daily validator state is read through public contract methods such as validators(id), totalSupply(), exchangeRate(), and rewardPerShare() at one Ethereum block. POLTRACK does not rely on private storage offsets for current snapshots because proxy implementation upgrades can change storage layout assumptions. A snapshot is rejected before publication if aggregate active stake is zero, too few active validators decode, or any expected ValidatorShare getter response is missing.

ValidatorShare balances are shares. POLTRACK derives delegated POL from StakeManager's public delegated amount and monitors exchangeRate(). At the August 1, 2026 verification block, all 105 active ValidatorShare contracts were exactly 1:1, but the semantic distinction remains explicit so a future slash cannot silently overstate stake.

POLTRACK Score v5 uses seven components:

ComponentWeight
Reliability25%
Decentralization20%
Record20%
Stake Momentum (health compatibility field)15%
Consistency10%
Commission5%
Transparency5%

Stake Momentum uses only snapshots where own stake plus delegated stake is non-zero. Fewer than two valid observations produce a neutral component with low confidence rather than a fabricated zero-change history.

Decentralization uses holder-address concentration only when the scan is fresh, marked verified, and reconciles at least 99.9% of outstanding ValidatorShare supply. When delegated supply exists below that threshold, the result is a neutral component and an explicit Incomplete Holder Coverage profile label; total stake remains available, but POLTRACK does not publish confident address-concentration claims. A self-stake-only validator with zero ValidatorShare supply has no delegated holder set and is not classified as incomplete. HHI and holder shares describe observed addresses, not guaranteed beneficial ownership.

Score confidence is high with at least 80 valid history observations and a usable holder state, medium with at least 30 observations and a fresh holder scan, and low otherwise. A usable holder state means verified coverage for outstanding delegated supply, or a verified absence of delegated supply. Neutral component defaults express insufficient evidence rather than favorable or unfavorable performance.

The score is a comparison aid, not an endorsement. Public bands are Excellent (90-100), Strong (75-89), Standard (60-74), Low (40-59), and Very Low (0-39). These are score tiers rather than security-risk declarations; operational signals are reported separately.

Public score history is version-scoped. A new formula version starts a new comparable series instead of being appended to older scores with different thresholds or missing-data behavior.

Validator Earnings And Network Security Spend

POLTRACK calculates monthly validator economics from January 1, 2026. The model separates two questions that must reconcile to the same total:

ViewComponents
Recipientsstakers and validator operators
Funding sourcesstaking inflation and priority fees

For validator v in calendar month m:

operator earnings[v,m]
  = staking operator income[v,m]
  + PIP-65 validator-pool income[v,m]
  + block-producer pool allocation[v,m]

For the network:

validator operators earned[m] = sum(operator earnings[v,m])
stakers earned[m] = staking reward pool[m] - sum(staking operator income[v,m])

network security spend[m]
  = validator operators earned[m] + stakers earned[m]
  = staking reward pool[m] + total priority-fee distributions[m]

Staking commission is a split of the staking reward pool, not an additional funding source. Priority-fee income is operator revenue in this model and is not reduced by a validator's staking commission rate.

Staking operator income

Monthly staking accrual uses a half-open block interval (start block, end block]. POLTRACK reads the validator reward accumulator immediately before the period and at the final block inside the period, then includes ClaimRewards amounts observed inside the same interval. This avoids losing rewards when a validator claims during the month and the accumulator resets.

Daily validator snapshots preserve stake and commission changes within the period. A commission_changed flag is retained when more than one commission rate is observed. Rows are published only when their quality state is complete enough for operator revenue.

For standard on-chain validator economics, the measured validator-side accrued reward is operator staking income. For operators whose 100% on-chain commission is part of an exchange, custodial, or internal distribution product, POLTRACK does not treat the full on-chain reward as operator revenue. It applies a documented time-bounded staking service-fee rate:

staking operator income = relevant accrued staking rewards × documented service-fee rate

Such rows are marked as estimates. The model records effective dates and confidence so a policy change does not silently rewrite unrelated months.

Priority-fee income and block producers

Observed PIP-65 validator-pool transfers are attributed directly to the receiving validator. The producer pool is handled separately. For each producer-pool batch, POLTRACK selects the producer membership valid on the batch date and allocates the pool using normalized membership weights:

producer allocation[v,batch]
  = producer pool[batch] × weight[v,batch] / sum(active producer weights[batch])

The profile audit trail distinguishes a direct validator distribution from a calculated block-producer allocation. Producer Safe routing transfers are retained as an audit trail but are not automatically treated as validator identity evidence.

Calendar-month presentation

The current calendar month is recomputed as new snapshots, rewards, claims, and payout batches arrive. It is labeled Preliminary and shown in the current-period summary. Historical network and validator charts include closed calendar months only. This prevents a partial month from being visually compared with a complete month.

PIP-65 batch dates can lag the fee-generation dates. Monthly priority-fee earnings therefore follow the realized or attributed batch date, not a synthetic smoothing of fees back across the collection period.

Interpretation limits

  • Operator earnings are revenue estimates, not profit. Infrastructure, engineering, security, compliance, tax, and other costs are not deducted.
  • On-chain addresses do not always reveal beneficial ownership or internal customer accounting.
  • A documented service-fee rate can differ from the on-chain commission field; POLTRACK uses the economic model applicable to the operator and period.
  • Producer allocations depend on the best verified time-bounded producer membership available for each batch.
  • Values are intended for network and operator comparison and are not accounting statements.

Reconciliation Rules

  • On-chain state is primary evidence where available.
  • Raw source data is preserved before normalization.
  • Canonical daily facts power rolling metrics and dashboard outputs.
  • Reward types are separated: emission rewards and fee-based rewards are not merged silently.
  • Missing data remains null.
  • Aggregate all-zero validator snapshot runs are quarantined rather than interpreted as stable stake. A getter-verified zero-stake state for one validator remains valid history but is excluded from Stake Momentum.
  • Holder concentration requires fresh, verified 99.9% supply coverage.
  • Public responses use a shared as-of date where comparable sections depend on multiple datasets.
  • Batch effects are disclosed rather than smoothed away in source facts.
  • Realized payouts and modeled allocation are different concepts and should not be silently merged.

Polygon Tokenomics Simulator

The interactive simulator in Polygon Tokenomics is a separate deterministic sensitivity layer over the canonical live dataset. It does not write modeled values back to canonical tables, public snapshots, or historical series.

Its three independent inputs are network activity, POL price, and annual inflation. Activity scales transactions and USD fees; price converts those fixed USD fee flows into POL; inflation changes protocol issuance and the emission-derived staking APR. The long-term burn leg starts from the same trailing 90-calendar-day Base Fee rate used by the live supply scenario.

The complete formulas, control ranges, zero-supply behavior, and limitations are documented in Polygon Tokenomics Simulator.

Known Limitations

  • Fee, burn, and distribution events can settle in batches.
  • The Polygon burn collector is policy-classified as non-circulating; its proxy architecture is not equivalent to an ERC-20 supply-reducing burn.
  • Inaccessible MATIC held by the MATIC token contract is disclosed but excluded from all POLTRACK calculations.
  • Explorer and market APIs can lag or rate-limit.
  • Validator commission and metadata can change between snapshots.
  • ValidatorShare holder addresses can represent wrappers, custodians, or pooled ownership; address concentration is not identical to beneficial-owner concentration.
  • PIP-65 batch dates are not always the same as the fee collection period.
  • PIP-85 staker/delegator fee modeling is inactive and not included in the frontend. Public claimer or payout artifacts and an explicit product activation are required before enabling this path.
  • Staked supply from validator state can differ from staking contract balance because contracts can include unclaimed rewards and buffers.
  • USD values depend on daily price data and should not be treated as trading advice.

Public Snapshots

POLTRACK publishes one daily public snapshot in two formats:

JSON, CSV, and the companion manifest are generated from one cached source response and share a publication timestamp and snapshotId. The manifest supplies the CSV's headline source periods, units, field definitions, source metadata, calculation policy versions, and SHA-256 checksums for both data files. CSV columns and existing JSON version 2.0 fields remain compatible. Empty CSV values correspond to JSON null.

The files contain the latest published snapshot rather than a historical archive. Save the manifest together with the data and verify its checksums; retry the download if a daily refresh separated the requests. The file schema version is distinct from source calculation-policy versions, and generatedAt is distinct from the observation cutoff and any live market timestamps. Usage examples are available in Using POLTRACK, and reuse is governed by the Data License.

Agent-Readable Summary

Use these canonical definitions when asking an AI agent or research assistant to verify POLTRACK data:

ConceptPOLTRACK definition
POL vs MATICPOL is the successor token; MATIC is retained only for migration and historical accounting context.
Total SupplyOn-chain Supply minus Burn Adjustment; POLTRACK's headline current supply metric.
Burn Adjustmentconfirmed historical burn through 2025-12-31 plus Base Fees accrued toward burn from 2026-01-01, net of confirmed rebates.
Estimated Liquid SupplyTotal Supply minus staked POL, unclaimed staking rewards, and unmigrated MATIC equivalent.
Total Supply Changeminted POL minus Base Fees accrued toward burn for the selected period.
Burntracked permanent burn sinks across Polygon Chain (Polygon PoS) and Ethereum-side token balances.
Base feestransaction fee component associated with burn / burn-routing mechanics.
Priority feestransaction fee component allocated through PIP-65 / PIP-85 policy.
PIP-6526% block producer pool and 74% validator pool.
PIP-85Specified staker pool of 50% of the PIP-65 validator pool, equal to 37% of total priority fees; inactive and not modeled in POLTRACK.
Fee APRInactive reference model for annualized staker fee allocation; excluded from displayed APR and scenarios.
Emission APRobserved staking emission divided by average staked POL and annualized.
sPOL window returnobserved change in the on-chain sPOL/POL redemption rate over the closest available 30-day block window.
sPOL APR / APYAPI APR uses simple annualization of that return; UI APY is its compound annualized equivalent, using the same exact elapsed days. Neither is a forecast.
Missing datanull, not zero-filled or interpolated.

Verification Prompt

Use this prompt to verify a POLTRACK claim independently:

Using only cited public sources, verify the claim: "[CLAIM]".
Show source links, raw inputs, formula, computed result, date range, and limitations.
Do not rely on POLTRACK as the only source.
If another tracker disagrees, explain which definitions differ.

Primary References

Versioning

This methodology is a living document. Material changes to metric definitions should preserve stable URLs, update page metadata, and keep old public terminology understandable through redirects or cross-links where needed.

The canonical API publishes calculation identities in policy.metricDefinitions and versions in policy.versions. Compatibility field names are retained; use their accompanying formula and basis rather than inferring meaning from a short field name. Current explicit calculation versions include:

VersionDefinition
supply-accrual-v1Total Supply and its changes use historical confirmed burn plus Base Fee accrual, net of observed rebates. This differs from subtracting only the settled collector/sink balances.
liquid-supply-cutoff-v4Estimated Liquid Supply uses named inputs at or before the accounting cutoff and remains unavailable when a required input is missing.
treasury-crosschain-inventory-v2Expanded balance inventory described above; not a consolidated flow statement.
treasury-ethereum-flows-v1Legacy Ethereum POL account transfer perimeter; also identifies the explicitly labeled legacy balance fallback.
staking-apr-block-policy-v2Retained API compatibility policy for the former fee allocation model. PIP-85 modeling is inactive in the frontend; only emission APR is displayed and simulated.
fee-batch-settlement-v2POL and historical USD payout totals use the same batches and UTC payment dates; USD is unavailable when a required daily price is missing.

meta.asOf identifies the closed daily accounting cutoff. meta.sourceTimestamps separately identifies newer live observations and the dates of slower source snapshots; an older required snapshot is not relabeled as a new observation. meta.build identifies a code release, not a data revision. The public snapshot schema version and manifest version likewise describe file formats, not economic formulas.