grvt.vault
Documentation for eth_defi.grvt.vault Python module.
GRVT vault data extraction and analysis.
This module provides functionality for extracting GRVT vault data via public endpoints:
Vault discovery is done via the public GraphQL API at
https://edge.grvt.io/query, which provides vault metadata including per-vault fee percentages.Vault details (TVL, share price, performance, risk metrics, share price history) come from the public market data API at
https://market-data.grvt.io.
No authentication is required for these endpoints.
For more information about GRVT strategies see:
https://help.grvt.io/en/articles/11424324-what-is-grvt-strategies
https://help.grvt.io/en/articles/11424466-grvt-strategies-core-concepts
Functions
|
Build a merged markdown description from all GRVT vault description fields. |
|
Fetch vault detail data (TVL, share price) from the market data API. |
|
Fetch GRVT vault listing via the public GraphQL API. |
|
Fetch vault performance metrics from the market data API. |
|
Fetch vault risk metrics from the market data API. |
|
Fetch share price history for a vault from the market data API. |
Classes
Performance metrics for a GRVT vault from the market data API. |
|
Risk metrics for a GRVT vault from the market data API. |
|
Summary information for a GRVT vault. |
- class GRVTVaultSummary
Bases:
objectSummary information for a GRVT vault.
Combines data from the GRVT GraphQL API with live data from the market data API.
- risk_management_process: str
Risk management process (“How they manage risks” on the strategies page)
- create_time: datetime.datetime | None
Creation timestamp
Current share price (from market data API)
- management_fee: float | None
Annual management fee as a decimal fraction (e.g. 0.01 = 1%). From the GRVT GraphQL API
managementFeefield (PPM).
- performance_fee: float | None
Performance fee as a decimal fraction (e.g. 0.20 = 20%). From the GRVT GraphQL API
performanceFeefield (PPM).
- __init__(vault_id, chain_vault_id, name, description, manager_bio, investment_philosophy, risk_management_process, vault_type, discoverable, status, manager_name, categories, create_time=None, tvl=None, share_price=None, management_fee=None, performance_fee=None)
- Parameters
vault_id (str) –
chain_vault_id (int) –
name (str) –
description (str) –
manager_bio (str) –
investment_philosophy (str) –
risk_management_process (str) –
vault_type (str) –
discoverable (bool) –
status (str) –
manager_name (str) –
create_time (datetime.datetime | None) –
tvl (float | None) –
share_price (float | None) –
management_fee (float | None) –
performance_fee (float | None) –
- Return type
None
- class GRVTVaultPerformance
Bases:
objectPerformance metrics for a GRVT vault from the market data API.
- __init__(chain_vault_id, apr, return_30d, return_90d, return_ytd, return_since_inception, trading_volume, cumulative_pnl)
- build_vault_description(summary)
Build a merged markdown description from all GRVT vault description fields.
Combines the short description, manager bio, investment philosophy, and risk management process into a single markdown string with headings matching the GRVT strategies page layout.
Only includes sections where the text is non-empty.
- Parameters
summary (eth_defi.grvt.vault.GRVTVaultSummary) – Vault summary with description fields populated from the GraphQL API.
- Returns
Merged markdown description, or empty string if all fields are empty.
- Return type
- fetch_vault_listing_graphql(session, graphql_url='https://edge.grvt.io/query', only_discoverable=True, timeout=30.0)
Fetch GRVT vault listing via the public GraphQL API.
Returns per-vault fee data (
managementFee,performanceFee) alongside vault metadata.The GraphQL endpoint at
https://edge.grvt.io/queryis public and requires no authentication.Example:
from eth_defi.grvt.session import create_grvt_session from eth_defi.grvt.vault import fetch_vault_listing_graphql session = create_grvt_session() vaults = fetch_vault_listing_graphql(session) for v in vaults: print(f"{v.name}: mgmt={v.management_fee}, perf={v.performance_fee}")- Parameters
- Returns
List of
GRVTVaultSummaryobjects with fee data populated.- Return type
- fetch_vault_details(session, chain_vault_ids, market_data_url='https://market-data.grvt.io', timeout=30.0)
Fetch vault detail data (TVL, share price) from the market data API.
Uses
/full/v1/vault_detail. No authentication required.- Parameters
- Returns
Dict mapping chain_vault_id to detail dict with keys:
share_price,total_equity,valuation_cap,total_supply_lp_tokens.- Return type
- fetch_vault_performance(session, chain_vault_ids, market_data_url='https://market-data.grvt.io', timeout=30.0)
Fetch vault performance metrics from the market data API.
Uses
/full/v1/vault_performance. No authentication required.- Parameters
- Returns
Dict mapping chain_vault_id to
GRVTVaultPerformance.- Return type
- fetch_vault_risk_metrics(session, chain_vault_ids, market_data_url='https://market-data.grvt.io', timeout=30.0)
Fetch vault risk metrics from the market data API.
Uses
/full/v1/vault_risk_metric. No authentication required.- Parameters
- Returns
Dict mapping chain_vault_id to
GRVTVaultRiskMetric.- Return type
- fetch_vault_summary_history(session, chain_vault_id, market_data_url='https://market-data.grvt.io', timeout=30.0)
Fetch share price history for a vault from the market data API.
Uses
/full/v1/vault_summary_history. No authentication required.Returns a DataFrame with daily share prices, resampled from the ~8-hourly intervals provided by the API.
- Parameters
- Returns
DataFrame indexed by date with
share_priceanddaily_returncolumns. Empty if no data.- Return type