> ## Documentation Index
> Fetch the complete documentation index at: https://docs.blockworks.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Vault Flows

> Daily gross inflow, gross outflow and net flow, in native units and USD, for one token in one vault, split by balance subtype (vault asset or base asset). Each series is keyed by protocol, product, chain, vault, token, balance type and balance subtype. Many series per protocol, so name the vaults you need.

One row per vault flow, keyed by protocol, product, chain, vault, token, balance type and balance subtype: the vault, its curator, the token, the parent protocol and product, chain and the mapped protocol, project and network records. The id is the series key of the vault-flows timeseries model.

| | |
| - | - |
| Access | Vaults-dataset |
| Tabular model | `vault-flows`: primary key `id` |
| Timeseries model | `vault-flows`: intervals `1d`, series key `id` (Vault Flow ID), series must be named (up to 20 per call) |

## Endpoints

> **[List Vault Flows](https://docs.blockworks.com/api-reference/data-api/vaults/tabular-vault-flows.md)**
>
> One page of rows with per-column filters, sorting and pagination.

> **[Batch Get Vault Flow timeseries](https://docs.blockworks.com/api-reference/data-api/vaults/timeseries-vault-flows.md)**
>
> Up to 20 series in one request, named by Vault Flow ID in `series`.

> **[Get Vault Flow timeseries](https://docs.blockworks.com/api-reference/data-api/vaults/timeseries-vault-flows-by-id.md)**
>
> One series over a time window, keyed by its Vault Flow ID.

## Metrics

6 metrics. Use the `Field` value in `selections`; every point starts with the timestamp and continues in this order.

| Field | Name | Type | Unit | Description |
| - | - | - | - | - |
| `grossInflow` | Gross Inflow | float64 | | Gross inflow, in native units. |
| `grossOutflow` | Gross Outflow | float64 | | Gross outflow, in native units. |
| `netFlow` | Net Flow | float64 | | Net flow, in native units. |
| `grossInflowUSD` | Gross Inflow (USD) | float64 | | Gross inflow in USD. |
| `grossOutflowUSD` | Gross Outflow (USD) | float64 | | Gross outflow in USD. |
| `netFlowUSD` | Net Flow (USD) | float64 | | Net flow in USD. |

## Columns

Use the `Field` value in `selections`, `sortBy`, and as the base of a filter parameter (`Field` plus one of its `Filters` suffixes).

| Field | Type | Filters | Sort | Description |
| - | - | - | - | - |
| `id` | string | `Eq`, `IsOneOf` | | The series key of the vault-flows timeseries model, the parent slug, product slug, chain, vault key, token key, balance type and balance subtype, joined with underscores. (primary key) |
| `name` | string | `Eq`, `IsOneOf`, `Contains` | default | The display name of the flow, the vault name, token symbol and balance subtype. |
| `slug` | string | `Eq`, `IsOneOf` | yes | The project's slug, the slug used for the same project across the API. |
| `parentSlug` | string | `Eq`, `IsOneOf` | yes | The parent protocol's short name (aave, morpho). |
| `productSlug` | string | `Eq`, `IsOneOf` | | The product within the parent protocol (morpho-vault). |
| `chain` | string | `Eq`, `IsOneOf` | | The short name of the chain the vault lives on (ethereum, base, solana). |
| `vaultID` | string | `Eq`, `IsOneOf` | | The vault contract or program address; null when the protocol does not label vaults. |
| `vaultName` | string | `Eq`, `IsOneOf`, `Contains` | | The vault display name. |
| `vaultType` | string | `Eq`, `IsOneOf` | | The vault type. |
| `vaultVersion` | string | `Eq`, `IsOneOf` | | The vault version. |
| `vaultStrategy` | string | `Eq`, `IsOneOf` | | The vault strategy. |
| `curator` | string | `Eq`, `IsOneOf`, `Contains` | | The curator's display name (Steakhouse Financial, Gauntlet); Unknown when unattributed. |
| `curatorSlug` | string | `Eq`, `IsOneOf` | | The curator's slug, the id in vault-curators (steakhouse-financial, unknown). |
| `curatorProjectID` | string | `Eq`, `IsOneOf` | | The identifier of the curator's project record; null when unmapped. |
| `curatorProjectSlug` | string | `Eq`, `IsOneOf` | | The slug of the curator's project record; null when unmapped. |
| `institutionalPartner` | string | `Eq`, `IsOneOf` | | The institutional partner the vault is run for; null otherwise. |
| `tokenAddress` | string | `Eq`, `IsOneOf` | | The vault asset's contract address (the mint address on Solana); null when unlabeled. |
| `tokenSymbol` | string | `Eq`, `IsOneOf`, `Contains` | yes | The vault asset's ticker symbol. |
| `balanceType` | string | `Eq`, `IsOneOf` | | The balance type the flow is into (deposit). |
| `balanceSubtype` | string | `Eq`, `IsOneOf` | | The asset the flow is measured in (vault\_asset or base\_asset). |
| `protocolSlug` | string | `Eq`, `IsOneOf` | | The slug of the protocol record mapped to the product; null when unmapped. |
| `protocolName` | string | `Eq`, `IsOneOf` | | The name of the protocol record mapped to the product; null when unmapped. |
| `projectID` | string | `Eq`, `IsOneOf` | | The identifier of the parent protocol's project record; null when unmapped. |
| `networkID` | string | `Eq`, `IsOneOf` | | The chain's networkID in the blockchains model; null when unmapped. |

## Example

```bash curl theme={null}
curl "https://api.blockworks.com/query/timeseries/vault-flows/1d/<id>?timeframe=7d&selections=grossInflow,grossOutflow" \
  -H "X-Blockworks-API-Key: $BLOCKWORKS_API_KEY"
```

See [Get Vault Flow timeseries](https://docs.blockworks.com/api-reference/data-api/vaults/timeseries-vault-flows-by-id.md) for the response and the errors.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.