P10: What it Tracks
P10 is Paragon’s index token that gives you diversified exposure to the Top 10 crypto assets by free-float market capitalization, with smart exclusions and caps so a single coin can’t dominate.
It’s designed to be simple (“buy one token, get the Top 10”), transparent (composition is published on-chain), and robust (oracle guards and circuit breakers from our Pricing & Oracles module).
Scope & exclusions
P10 targets the Top 10 non-stable crypto assets, by free-float market cap.
Included
Major L1s/L2s and blue-chip assets that meet eligibility (below).
The canonical representation of an asset available on BNB Chain (e.g., wrapped/bridged form), if that is the practical way to hold it on-chain.
Excluded
Stablecoins (e.g., USDT/USDC/BUSD).
Strict pegs to other assets (rebasing stables, soft-pegs).
Pure wraps/duplicates (if both BTC and wBTC/ BTCB rank, we count it once via the canonical BNB-native representation).
Assets without reliable price feeds or sufficient on-chain liquidity.
Sanctioned or unsupported tokens per chain risk policy.
Eligibility rules
An asset can enter P10 only if all are true at the snapshot:
Free-float market cap is within the top 10 (with the duplicate/peg/stable filters above).
Oracle coverage: at least one primary oracle (Chainlink preferred) and a secondary (Pyth/Redstone) are available; both pass freshness & deviation checks.
Liquidity on BNB Chain: ≥ $2m equivalent DEX depth within 1% price impact or robust CEX/bridge routing plus an on-chain representation we can hold.
Listing age: ≥ 30 days of trading history (testnet may waive this).
No critical flags: no ongoing exploit, severe depeg, or governance freeze.
If an otherwise-eligible token fails (2) or (3) at the snapshot, we skip it and promote the next eligible asset.
Weighting method (capped free-float mcap)
Start with free-float market-cap weights for the 10 selected assets.
Apply a single-asset cap:
Mainnet target: 30% max per asset (BTC/ETH included).
Testnet default: 35% cap (to reduce churn while testing).
Redistribute any excess weight pro-rata to uncapped assets; iterate until no asset breaches the cap.
Minimum weight floor: 1%. If an asset falls below 1%, we drop it and promote the next eligible candidate (to avoid dust allocations).
Rationale: This keeps broad market exposure while preventing BTC/ETH from overwhelming the basket. It’s similar to “capped mcap” indices used in traditional finance.
Reconstitution & rebalancing cadence
Reconstitution: updates the membership (who’s in Top 10).
Testnet: weekly (published every Monday UTC).
Mainnet: monthly (first Monday each month), or ad-hoc for extreme events (depegs, delistings), via time-locked governance.
Rebalance: updates the weights given current caps & prices.
Occurs together with reconstitution (testnet weekly / mainnet monthly).
Between events, P10 price floats with the market; we do not constantly trade to micro-track weights.
Snapshot & proof: each event posts a signed composition snapshot (
symbol → weight, address, decimals, price source
) to the RankOracle;P10IndexManager
consumes it on-chain (time-locked).
Price sources (how “Top 10” and weights are computed)
Ranking source: off-chain indexer compiles free-float market caps from multiple public data sources (e.g., CoinGecko/CMC and exchange books). The ranked list is not trusted blindly; it’s turned into a signed snapshot that must pass on-chain oracle checks before activation.
Settlement prices: on-chain Pricing & Oracles module (Chainlink primary, Pyth/Redstone secondary, TWAP cross-check).
Guards: freshness limits, deviation caps, TWAP comparisons (see Pricing & Oracles page). If any component fails checks at execution, mint pauses; redeem remains open.
What you actually hold (testnet vs mainnet)
Testnet (next 3–4 weeks): Synthetic P10 with a backing-range.
P10 tracks the published Top 10 & weights.
A keeper or house rebalancer holds a basket proxy (test assets/liquidity) within a small error band (±3% backing range) for fast iteration.
Mints/redeems are priced at NAV with oracle guards; if any feed degrades, mints pause.
Mainnet (phase 2): Two deployment options (governance decides):
Basket-backed P10 (preferred): contracts hold the actual on-chain representations of constituents (or their canonical bridged forms) with permissionless arb mint/redeem.
Delta-neutral synthetic: the protocol hedges with per-constituent perpetuals/options; collateral never touches user funds; NAV proofs + auditor attestations published.
In both cases, redemptions stay open except during chain halts. Transparent NAV and composition events are emitted on-chain.
Corporate actions & special cases
Forks/airdrops: We credit the economic value to P10’s NAV. By default, we sell airdrops into the index constituents on the next rebalance, unless governance whitelists the new asset for inclusion at reconstitution.
Migrations/contract changes: We map to the new canonical token once oracles and liquidity are live and pass checks.
Severe incident (exploit/depeg): The asset is zero-weighted immediately at the next safe block; extraordinary reconstitution can be triggered (time-locked unless emergency sentinel acts within narrow powers).
Fees & limits (defaults)
Mint / Redeem fee: 10 bps / 10 bps (part funds Treasury/Shield & stXPGN share).
Per-tx mint cap: lower of $50k or 0.5% of P10 supply (testnet lower).
Daily mint cap: 2% of supply (rolling 24h).
Slippage guard: UI enforces ≤0.5% by default (user can widen to 1.0%).
Pause rules: if ≥1 component fails oracle checks, mint pauses; redeem stays on (pro-user unwind).
Transparency (what we publish)
Composition JSON:
[{symbol, address, weight, priceFeed, decimals}]
with signer, block number, and IPFS hash.On-chain events:
P10SnapshotProposed
,P10SnapshotActivated
,MintPaused(reason)
,MintResumed()
.UI badges: “Oracle OK”, “Freshness”, “Deviation”, “TWAP delta”, plus “Expected spread & fees”.
TL;DR
P10 tracks the Top 10 crypto (ex-stables) by free-float mcap, capped so no name dominates.
Weekly (testnet) / monthly (mainnet) updates with signed snapshots and on-chain oracle guards.
Mint/redemptions at NAV with pause-on-degrade logic; redeem stays open.
Testnet: synthetic with tight backing-range to ship fast.
Mainnet: move to basket-backed (or hedge-backed) with permissionless arb.
Last updated