Why Credits Exist
Without credits, CreditToken distribution would be trivially gameable. A naive design that distributes CreditTokens proportional to token balance right before a distribution lets anyone deposit one second before distribution and claim the same share as a day-one holder. Credits prevent that by tracking not just what you hold, but how long you held it for.Series and Credit Periods
A series is a fixed-maturity market built on top of a vToken. Each series has a maturity date and its own ST and EPT tokens. Each series is divided into credit periods. Their schedule is configured to reflect the measurement or reporting cadence of the underlying program. The main purpose of periods is to give credits different weights over time. Without periods, an early user and a late user with the same final balance could end up with the same points exposure, even though the early user contributed for longer. For a points program with weekly reporting, for example, ArcX can use weekly credit periods. Each finalized period preserves the credit share earned during that interval.Program Cadence and Finalization
The on-chain credit schedule and an underlying program’s reporting schedule do not have to finalize at the same moment. A program can report activity later, use a different cutoff, or revise its own schedule. The vault’s configured credit periods determine when ArcX measures holder participation. After the information needed for a period is available, the market operator submits that period’s point weight on-chain. The contracts then automatically issue CreditTokens from the finalised credit shares. ArcX credit periods will likely align with the underlying program’s calendar, but this is not guaranteed. Always use the schedule shown for the vault or series to determine ArcX credit eligibility.How Credits Are Calculated
Credits are a way to track what share of total CreditTokens you should receive at the end of every period. From the protocol’s perspective, the fair way to allocate credits is to measure: An underlying protocol can use its own undisclosed or changeable points formula. ArcX does not attempt to reproduce that formula for each user. Within ArcX, position value multiplied by time is the basis for allocating each period’s CreditTokens.Calculating Credits
The value of a position may or may not change over time:- in a zero-yield vault, NAV remains constant
- when vToken yield is reflected through NAV, NAV changes to reflect that value
- yield reflected solely in the input token’s own price does not change a NAV denominated in that token
What GCI Is
GCI stands for Global Credit Index. GCI is the amount of credits earned per credit-bearing token unit over time. The point of tracking GCI is that the protocol does not need to store a full capital-time history for every user. Instead, when a user’s balance changes, credits can be computed from: This is the key simplification:- GCI tracks credits earned per share globally
- each user only needs their balance and the last GCI checkpoint relevant to them
1 vTokenearns credits at the same rate as1 EPT- both contribute equally to period credit accumulation
How GCI Is Calculated
For any time interval: This is the average NAV over the interval multiplied by the duration. Equivalently: where:- = NAV at the start of the interval
- = NAV at the end of the interval
- = time elapsed in days
Constant-NAV Vaults
If a vault has no underlying APY, then: The same GCI formula reduces to: If NAV is constant at 1, user credits reduce to: This is not a separate credit model. It is the constant-NAV case of the same NAV-based GCI formula.How User Credits Are Calculated
Your credits over any interval are: More generally, whenever your balance changes, the protocol can settle the credits earned since your last checkpoint by multiplying your balance by the change in GCI over that interval. That is why GCI is useful: it turns a continuous capital-times-time problem into a simple checkpointing problem.Fresh Credits on Transfer
When tokens change hands, the new holder starts fresh from that moment.- Orderbook purchase: you buy EPT and start with zero prior credits
- Minting: you deposit the vault’s supported input token and receive freshly minted vTokens that start from zero prior credits
- No credit inheritance: the buyer does not receive the seller’s previously accumulated credits
Period-by-Period CreditToken Distribution
CreditTokens are issued automatically period by period: where:- = number of credit periods
- = your credits during period
- = all credits during period
- = the point weight submitted on-chain by the market operator for that period
Worked Example
The objective of this example is to show that an early holder can keep a large advantage even when a later user brings in enough capital to match the same total capital x time. Setup: 10-week series.- Alice holds 100 vTokens from week 1
- Bob buys 250 EPT at week 7
- Weeks 1-6 have a period weight of 800 per week
- Weeks 7-10 have a period weight of 200 per week
- Alice: 100 x 10 weeks = 1,000 token-weeks
- Bob: 250 x 4 weeks = 1,000 token-weeks
CreditTokens:
Even though Bob contributes the same total capital x time as Alice, Alice gets far more CreditTokens because the earlier weeks were richer and those periods are locked in to the early holder.
These examples use a constant NAV for clarity. For a zero-yield vault, that is the direct balance-times-time case. If vToken yield is reflected through a change in NAV, GCI accounts for that change automatically. Yield reflected in the input token’s own price does not by itself change a NAV denominated in that token.
