MethodologyReference Baskets

USDC Prime DeFi Vaults — Low Gas

A reference basket of pure-USDC DeFi lending vaults on product-approved low-transaction-cost EVM networks that have cleared Philidor's Prime risk tier (risk_score ≥ 8). Eligibility is based on a frozen low-gas network allowlist regardless of network architecture. Ethereum mainnet and every network outside the allowlist are excluded by construction. The basket otherwise retains the Prime risk, liquidity, age, diversification, cap, and refresh controls.

Summary

A reference basket of pure-USDC DeFi lending vaults on product-approved low-transaction-cost EVM networks that have cleared Philidor's Prime risk tier (risk_score ≥ 8). Eligibility is based on a frozen low-gas network allowlist regardless of network architecture. Ethereum mainnet and every network outside the allowlist are excluded by construction. The basket otherwise retains the Prime risk, liquidity, age, diversification, cap, and refresh controls.

Constituent Type

Vault (each constituent is a DeFi vault holding a qualifying terminal-underlying asset)

Minimum constituents are 3.

Eligibility Rule

A vault is eligible when it is deployed on a product-approved low-gas EVM network in the frozen allowlist (Optimism, Polygon, Monad, Stable, Base, Arbitrum, Avalanche, Linea, or Plume), its Philidor risk tier is Prime, its asset_components array is exactly ["USDC"], is_stablecoin = TRUE, vaults.tvl_usd is above the basket TVL floor, the vault has been live at least 60 days, the underlying protocol has been live at least 365 days, and the vault's adapter external_id is not in the exclusion list. Ethereum mainnet (chain 1) is excluded. Plasma (chain 9745) remains excluded by the existing licensed-basket hold. The allowlist is a versioned product-policy classification, not a real-time gas-price oracle; no registered or newly added chain enters automatically.

Structured form

The rebalancer reads this exact shape.

{
  "allowed_chain_ids": [10, 137, 143, 988, 8453, 42161, 43114, 59144, 98866],
  "asset_category": [],
  "excluded_external_ids": ["SparkLendEthereum"],
  "protocol_min_age_days": 365,
  "review_status": ["reviewed"],
  "terminal_underlying_category": [],
  "terminal_underlying_min_backing_offchain_pct": null,
  "tier": ["Prime"],
  "vault_asset_components": ["USDC"],
  "vault_is_stablecoin_required": true,
  "vault_min_age_days": 60,
  "vault_min_tvl_usd": 10000000
}

Weighting Rule

Each Prime constituent receives a raw weight proportional to its risk score above 8.0 (the Prime tier floor). Raw weights are then normalised so the basket sums to the full allocation. A Prime vault scoring 9.0 carries roughly ten times the raw weight of one scoring 8.1, so premium-quality names dominate.

Formula

w_i ∝ max(0, risk_score_i − 8.0); normalize so Σ w_i = 1.0

Worked Example

ConstituentRisk ScoreRaw Weight (score - pivot)Normalised Weight
Constituent A10.002.0038.10%
Constituent B9.501.5028.57%
Constituent C9.001.0019.05%
Constituent D8.500.509.52%
Constituent E8.250.254.76%
Sum-5.25100.00%

This table illustrates raw score normalisation only. Published constituent weights are authoritative after all applicable portfolio-construction controls.

Caps

CapValueMeaning
Single-name45%No constituent may exceed this share of the basket.
Issuer60%Cross-chain deduplicated; aggregate exposure to one issuer is bounded.
Protocol60%Aggregate exposure to vaults from one protocol is bounded.
Curator60%Aggregate exposure to vaults managed by one curator is bounded.
Floor2%Any constituent below the floor is dropped before final normalisation.

Refresh Schedule

Rebalances run on the last business day of March, June, September, and December at 16:00 UTC. They also fire when any constituent crosses a tier boundary, when a hard-fail flag triggers, when an active-incident clamp applies, when a constituent's score moves up by at least 1.0, or when a constituent's score moves down by at least 0.3. The asymmetric thresholds reflect the institutional client posture because routine upward APY drift should not churn the basket, but any meaningful downward move on a current member must trigger requalification so deteriorating exposures are removed promptly. Rating-triggered rebalances are throttled to at most one every 30 days. Calendar rebalances always fire and are not throttled.

Structured form

The rebalancer reads this exact shape.

{
  "calendar_day": "last_business_day",
  "calendar_months": [3, 6, 9, 12],
  "calendar_time_utc": "16:00",
  "rating_move_throttle_days": 30,
  "rating_move_triggers": [
    "tier_change",
    "score_delta_ge_1_0",
    "score_delta_down_ge_0_3",
    "hard_fail_flag",
    "active_incident_clamp",
    "new_eligible_entrant",
    "methodology_version_change"
  ]
}

Low-Gas Classification Policy

For chain admission reviews, low gas means the trailing 30-day p95 estimated fee for a native USDC ERC-20 transfer is no more than $0.25 under normal network operation. Reviews use the chain fee quote (including L1 data fees where applicable), the gas asset USD price at observation time, and a representative native-USDC transfer. Version 1.1.0 is explicitly labeled as the product-owner-approved initial baseline: its release record contains timestamped point-in-time quotes, not a retrospective 30-day p95 claim. A full policy review is due by 2026-12-02 and at least every 90 days thereafter; failure requires a methodology version that removes the chain. Fee spikes do not mutate composition intra-version. This is an admission and review standard, not a per-transaction fee guarantee.

Structured review contract

{
  "allowed_chain_ids": [10, 137, 143, 988, 8453, 42161, 43114, 59144, 98866],
  "effective_date": "2026-09-03",
  "evidence_status": "product_owner_approved_initial_baseline",
  "fee_ceiling_usd": 0.25,
  "human": "For chain admission reviews, low gas means the trailing 30-day p95 estimated fee for a native USDC ERC-20 transfer is no more than $0.25 under normal network operation. Reviews use the chain fee quote (including L1 data fees where applicable), the gas asset USD price at observation time, and a representative native-USDC transfer. Version 1.1.0 is explicitly labeled as the product-owner-approved initial baseline: its release record contains timestamped point-in-time quotes, not a retrospective 30-day p95 claim. A full policy review is due by 2026-12-02 and at least every 90 days thereafter; failure requires a methodology version that removes the chain. Fee spikes do not mutate composition intra-version. This is an admission and review standard, not a per-transaction fee guarantee.",
  "measurement_window_days": 30,
  "next_review_due": "2026-12-02",
  "review_cadence_days": 90,
  "statistic": "p95 estimated transaction fee",
  "transaction_type": "native USDC ERC-20 transfer"
}

Halt Conditions

The rebalancer enforces the following halt-closed invariants. When any of these fails the rebalance aborts and the prior published version is preserved. Alerts page the on-call.

IDDescription
I1Every constituent must have a non-null issuer_id and risk_score and review_status = "reviewed". Otherwise the constituent is rejected.
I2The eligible set must contain at least min_constituents names. If it falls below, the rebalance aborts and the prior published version is preserved.
I3Eligible-set turnover versus the prior version must not exceed 50%. A higher turnover triggers a "universe shock" abort with the prior version preserved.
I4The indexer must have a successful run within the last 6 hours. Stale ratings abort the rebalance and the prior version is preserved.
I5Cap-redistribution must converge within 50 iterations. Otherwise the rebalance aborts; equal-weight fallback only runs with an explicit operator flag.
I6The published weights must sum to 1.0 within 1e-6. The database CHECK constraint refuses to commit a version row that violates this.
I7Calendar and rating-move rebalances are mutually exclusive per basket via a Postgres advisory lock; a second concurrent rebalance exits cleanly.
I8Every published version is content-hash signed; the current_version_id pointer is moved atomically only after constituents and signature are written.
I9Every version is reproducible from frozen inputs stored in basket_version_inputs; CI replays the latest version and asserts byte-equality of canonical JSON.
I10The methodology doc_url must resolve with HTTP 200 before publish. A missing or 404 doc aborts the rebalance.

Version

Current methodology version 1.1.0

Methodology document URL docs page

Change Log

  • 1.1.0 Renamed the product from L2 to Low Gas and expanded the frozen allowlist with additional product-approved low-fee networks: Polygon, Monad, Stable, Avalanche, and Plume. Optimism, Base, Arbitrum, and Linea remain eligible. Ethereum mainnet remains excluded; Plasma remains under the existing licensed-basket hold. The basket id and documentation slug are retained for client compatibility.
  • 1.0.0 Initial L2-only release. Eligibility was restricted by positive allowlist to Optimism, Base, Arbitrum, and Linea; Ethereum mainnet and all other chains were excluded by construction.

On this page

Raw