Skip to main content

Overview

The Vault Risk endpoints provide risk scores and due diligence data for ERC-4626 vaults across 6 EVM chains. Scores are computed by a multi-factor pipeline that evaluates vault structure, governance, liquidity, code quality, asset risk, performance, and protocol risk — producing 7 risk categories with 41 possible risk tags. Each response includes a standard risk field in the same format used by all other Webacy risk endpoints (Threat Risks, Token Analysis, Depeg Monitor), so you can consume vault risk data using the same schema.

Endpoints

List Vaults

GET /vaults — Paginated list of all rated ERC-4626 vaults with risk scores, filtering, sorting, and ecosystem aggregates

Vault Detail

GET /vaults/{address}?chain={chain} — Full risk decomposition with lending market data, vault composition, and code analysis findings.

Key Concepts

Risk Score (0-100)

You get a composite risk score for each vault, based on weighted signals across 7 categories:
CategoryDescription
Vault StructureArchitecture, upgradeability, and strategy complexity
Governance & Access ControlOwnership model, admin controls, timelock configuration
Liquidity & WithdrawalWithdrawal capacity, lockups, utilization, and bad debt
Code QualityContract verification, audits, and exploit history
Asset & MarketUnderlying asset quality, depeg risk, and oracle reliability
PerformanceReturns, TVL trends, maturity, and operational activity
Protocol RiskUnderlying protocol framework and curation status

Risk Tiers

TierScoreInterpretation
critical75-100Severe risk, immediate attention required
high50-74Elevated risk, close monitoring needed
medium25-49Moderate risk, review recommended
low0-24Normal conditions, low risk
unknownN/AVault has not been scored

Listing Verdicts

You get a listing verdict for each vault to help decide whether to surface it to users:
VerdictCondition
do_not_listHas blocking risk tags or score >= 75
review_requiredScore >= 55
cautionScore >= 30 or unscored
safe_to_listScore < 30

Standard Risk Response

The risk field on each vault follows the same structure used by all Webacy risk endpoints:
{
  "risk": {
    "score": 100,
    "count": 4,
    "medium": 2,
    "high": 2,
    "overallRisk": 100,
    "issues": [
      {
        "score": 100,
        "tags": [
          {
            "type": "vault_performance_risk",
            "key": "vault-dormant",
            "name": "Dormant Vault",
            "description": "Vault has fewer than 10 on-chain events, indicating negligible activity.",
            "severity": 10,
            "context": {
              "detected_at": "2026-03-31T16:43:01.093Z"
            }
          }
        ],
        "categories": {
          "vault_performance_risk": {
            "key": "vault_performance_risk",
            "name": "Performance",
            "description": "Risk factors related to vault returns, TVL trends, maturity, and operational activity.",
            "tags": {
              "vault-dormant": true
            }
          }
        }
      }
    ]
  }
}

Supported Chains

eth, arb, base, opt, pol, bsc

Query Parameters

Pagination

The list endpoint supports both offset-based and cursor-based pagination:
ModeParametersDescription
Offsetpage (default: 1), pageSize (default: 50, max: 500)Traditional page-based pagination
Cursorcursor, limit (default: 100, max: 500)Opaque cursor for efficient large-set traversal

Filters

ParameterTypeDescription
chainstringFilter by chain (eth, arb, base, opt, pol, bsc)
tierstringFilter by risk tier (low, medium, high, critical, unknown)
protocolstringFilter by protocol (morpho, aave, compound, euler, spark, fluid, beefy, yearn)
contractTypestringFilter by type (erc4626_vault, strategy_vault, lending_wrapper, bridge_vault)
underlyingstringFilter by underlying asset symbol (e.g., USDC)
underlyingRiskstringUnderlying risk tier (battle_tested, medium_risk, high_risk, crypto, unknown)
minTvlnumberMinimum TVL in USD
minScorenumberMinimum risk score (0-100)
maxScorenumberMaximum risk score (0-100)
attentionNeededbooleanFilter to vaults needing attention
riskFlagsstringComma-separated risk tag keys to filter by
riskFlagsModestringHow to combine risk flags: any (OR) or all (AND)
qstringSearch by vault name, symbol, or address

Sorting

Sort KeyDescription
score_desc / score_ascRisk score (highest/lowest first)
tvl_desc / tvl_ascTVL (largest/smallest first)
apy_descAPY (highest first)
looping_descLooping rate (highest first)
name_ascVault name (alphabetical)

Vault Detail

The detail endpoint (GET /vaults/{address}?chain={chain}) returns everything from the list endpoint plus:
  • Looping markets — Recursive lending positions with rates, collateral, and utilization
  • Vault composition — Underlying asset allocation breakdown
  • Lending market data — Protocol-specific metadata (curator, rewards, market allocations) with support for multiple lending markets
  • Webacy findings — Smart contract code analysis results
  • LST collateral markets — Liquid staking token redemption data

Risk Tags Reference

Vault Structure

TagNameSeverityDescription
vault-upgradeableUpgradeable Contract6Proxy contract can be upgraded by admin
vault-subvaultSubvault3Vault-of-vault nested structure
vault-emergency-shutdownEmergency Shutdown10Vault in emergency shutdown mode

Governance & Access Control

TagNameSeverityDescription
vault-eoa-ownerEOA Owner6Owned by EOA (not multisig/timelock)
vault-pause-capablePause Capable4Has pause functionality
vault-pending-admin-changePending Admin Change6Governance admin change pending
vault-no-timelockNo Timelock6No timelock delay on admin actions
vault-low-timelockLow Timelock4Timelock shorter than recommended

Liquidity & Withdrawal

TagNameSeverityDescription
vault-redemption-closedRedemption Closed10Users cannot withdraw
vault-high-loopingHigh Looping Exposure7Significant recursive lending exposure
vault-lockup-7d7-Day Lockup5Lockup exceeding 7 days
vault-deposit-closedDeposit Closed5No longer accepting deposits
vault-withdrawal-delayWithdrawal Delay4Processing delay on withdrawals
vault-high-utilisationMaxed Utilization6Above 95% utilization
vault-low-utilisationIdle Utilization3Below 10% utilization
vault-bad-debtBad Debt8Outstanding bad debt exceeding $1,000
vault-morpho-low-liquidityVery Low Liquidity7Morpho market liquidity very low

Code Quality

TagNameSeverityDescription
vault-unverified-contractUnverified Contract10Source code not verified on block explorer
vault-no-auditsNo Audits6No known security audits
vault-exploit-historyExploit History8Protocol has known exploit or hack
vault-not-battle-testedNot Battle Tested4Less than 6 months on mainnet

Asset & Market

TagNameSeverityDescription
vault-share-price-depegShare Price Depeg8Share price deviated from expected peg
vault-oracle-warningOracle Warning8Oracle reliability concerns
vault-lst-redemption-lagLST Redemption Lag5LST collateral with redemption delays
vault-synth-assetSynthetic Asset5Holds synthetic or wrapped assets
vault-supply-spikeSupply Spike8Minted supply in 24h exceeds 40% of total
vault-underlying-depeggingUnderlying Depegging7Underlying asset experiencing depeg
vault-underlying-depeg-criticalUnderlying Depeg Critical9Critical depeg severity on underlying

Performance

TagNameSeverityDescription
vault-dormantDormant Vault10Fewer than 10 on-chain events
vault-negative-returnNegative Return5Negative lifetime return
vault-low-tvlLow TVL4Below minimum TVL threshold
vault-inactiveInactive Vault410-50 on-chain events
vault-newNew Vault3Recently deployed, insufficient history
vault-momentum-decliningMomentum Declining41-month CAGR below 3-month CAGR
vault-capital-outflowCapital Outflow4Net capital outflow
vault-high-feesHigh Fees4Above-average fees
vault-beefy-eolBeefy End of Life8No longer actively maintained by Beefy
vault-strategy-lossStrategy Loss7Realized loss event
vault-retiredRetired Vault8No longer generating yield

Protocol Risk

TagNameSeverityDescription
vault-morpho-not-whitelistedNot Whitelisted5Not on Morpho curated whitelist
vault-yearn-high-riskYearn High Risk7Elevated risk per Yearn framework

Common Use Cases

Use CaseEndpointParameters
Dashboard overviewGET /vaultssort=score_desc&pageSize=50
Filter by chainGET /vaultschain=eth&tier=low&sort=tvl_desc
Find USDC vaultsGET /vaultsunderlying=USDC&sort=apy_desc
High-TVL vaults onlyGET /vaultsminTvl=1000000&sort=tvl_desc
Vaults needing attentionGET /vaultsattentionNeeded=true&sort=score_desc
Search by nameGET /vaultsq=Morpho
Morpho vaults with loopingGET /vaultsprotocol=morpho&riskFlags=vault-high-looping
Single vault detailGET /vaults/{address}?chain={chain}address = 0x1234..., chain = eth

Example Workflow

Prerequisites: You need an API key (passed via the x-api-key header), the base URL https://api.webacy.com, and for detail requests, the vault’s contract address (0x...) and chain identifier (eth, arb, base, opt, pol, or bsc).

Screen a Vault Before Listing

# 1. Search for the vault
curl -X GET "https://api.webacy.com/vaults?q=USDC-WLFI&chain=eth" \
  -H "x-api-key: YOUR_API_KEY"

# 2. Get full risk detail
curl -X GET "https://api.webacy.com/vaults/0x0deFfd509197aAD5207d2A55862835b467E8128F?chain=eth" \
  -H "x-api-key: YOUR_API_KEY"

Monitor High-Risk Vaults

# Get all critical-tier vaults needing attention
curl -X GET "https://api.webacy.com/vaults?tier=critical&attentionNeeded=true&sort=tvl_desc" \
  -H "x-api-key: YOUR_API_KEY"

Depeg Monitor

Real-time depeg risk monitoring for stablecoins and pegged assets

Risk Tags Reference

Complete list of all risk tags returned by Webacy risk endpoints