Philidor Docs
Risk Framework

Asset Composition (40%)

v4.1 asset methodology: category-specific dimensions, evidence-backed scoring, cap cascade, hard-fail controls, and staleness penalties.

Asset quality is the irreducible risk floor. The v4.1 asset model scores assets by category and then applies non-compensatory caps.

1) Category Taxonomy

CategoryExamplesPrimary failure mode
nativeETH, WETHChain halt / liveness failure
fiat_backed_stablecoinUSDC, USDT, PYUSDIssuer insolvency, reserve shortfall
cdp_stablecoinDAI, USDS, LUSD, GHOCollateral cascade, governance attack
synthetic_stablecoinUSDe, USD0, eUSDBasis unwind, funding inversion
lstwstETH, cbETH, rETHSlashing and withdrawal risk
lrtweETH, ezETH, rsETHAVS/slashing aggregation risk
wrapped_btcWBTC, cbBTC, tBTCBridge/custodian failure
governance_tokenLINK, UNI, ARBVolatility and liquidity shock
unreviewedAny unclassified assetUnknown / insufficient assessment

2) Dimension-Based Scoring

The weighted formula depends on category. Core dimensions include:

  • peg_stability
  • issuer_custody
  • redeemability
  • reserve_transparency
  • governance_controls
  • protocol_security
  • operator_quality
  • bridge_mechanism
  • dependency_depth
  • liquidity
  • volatility

Dimension weights are defined in the active methodology configuration.

3) Cap Cascade (Non-Compensatory)

Final asset score is the minimum of weighted score and all active caps.

final_asset_score = min(
  weighted_dimension_score,
  overlay_cap,
  review_status_cap,
  hard_fail_cap,
  override_cap,
  staleness_cap
)

Review status caps

  • reviewed -> 10.0
  • provisional -> 9.0
  • unreviewed -> 8.0

For provisional or missing evidence contexts, default dimension fallback is conservative (2.5).

4) Overlays

  • yield_bearing: score constrained by wrapper/underlying dependency.
  • lockup: liquidity dimension is down-weighted.

5) Hard-Fail Controls

Hard-fail flags apply strict caps regardless of weighted dimension quality.

All flags:

  • sanctions_exposure -> cap 0.0
  • active_depeg -> cap 1.0 (7-day cooldown)
  • redemption_paused -> cap 2.0 (3-day cooldown)
  • single_signer_upgrade -> cap 3.0
  • endogenous_collateral_high -> cap 4.0 (14-day cooldown)
  • proof_of_reserve_missing -> cap 4.0 (30-day cooldown)
  • unaudited_token_contract -> cap 4.0
  • no_recent_attestation -> cap 5.0 (30-day cooldown)

Flags are event-sourced and may include trigger windows/cooldowns.

6) Staleness Penalties

Evidence freshness affects effective dimension values:

  • stale (now > fresh_until) -> value x 0.92
  • expired (now > fresh_until + 90d) -> value reduced to 75% with a minimum floor of 5.0
  • if stale/expired weighted share exceeds threshold, a global staleness cap applies

7) Unresolved Address Fallback

If an adapter cannot resolve an exposure address, scoring falls back to strict unreviewed behavior:

  • asset score constrained to conservative low cap
  • explainability includes machine-readable unresolved-address reason

8) Portfolio-Level Adjustments

After per-exposure asset scoring, portfolio penalties are applied at vault level:

  • concentration penalty
  • category correlation penalty
  • wrong-way risk penalty

These adjustments prevent concentrated portfolios from appearing safer than diversified equivalents with similar average exposure quality. Single-asset vaults are exempt from concentration and correlation penalties.

On this page

Raw