Beefy API
Last Update: August 2023
This page provides further details about the functionality and operation of Beefy's REST API, which powers our web application, dashboard and pages on third party sites.
You can access the API at https://api.beefy.finance/, and the public repository is available on the Beefy GitHub. The API is maintained under the MIT license, with further details available on the GitHub repo.
Endpoints
Our API offers a range of public endpoints covering the full selection of data required for our web app, backend and dashboard, as well as some third party services.
Beefy Vault Endpoints
Endpoints developed for use by the Beefy Application to display vaults' live characteristics and performance to our users.
External Asset Endpoints
Endpoints developed for use by the Beefy Application to display information about the assets underlying our Beefy vaults to our users.
Other Beefy App Endpoints
Endpoints developed for use by the Beefy Application to display other information not relating to individual vaults.
Dashboard Endpoints
Endpoints developed for the Beefy Dashboard to display overarching information about the protocol.
Databarn Endpoints
Endpoints related to databarn, our historical data indexer. These endpoints are rate limited to maximum 5 requests per seconds. You may also want to try the interactive swagger ui for these endpoints.
Describes all transactions for a given investor
^0x[a-fA-F0-9]{40}$
GET /api/v1/beefy/timeline?address=text HTTP/1.1
Host:
Accept: */*
The investor timeline, list of all deposit and withdraw transaction for a given investor
[
{
"datetime": "2025-07-05T21:42:26.801Z",
"product_key": "text",
"display_name": "text",
"chain": "arbitrum",
"is_eol": true,
"is_dashboard_eol": true,
"transaction_hash": "text",
"share_to_underlying_price": 1,
"underlying_to_usd_price": 1,
"share_balance": 1,
"underlying_balance": 1,
"usd_balance": 1,
"share_diff": 1,
"underlying_diff": 1,
"usd_diff": 1
}
]
Returns the configuration accounted for in databarn
Only include produce for this chain
Include EOL (end of life) products, you probably never want to set this to true
false
GET /api/v1/beefy/product/{chain} HTTP/1.1
Host:
Accept: */*
List of all beefy products, vaults, boosts, governance vaults, etc.
[
{
"productKey": "text",
"chain": "arbitrum",
"productData": {
"type": "beefy:vault",
"dashboardEol": true,
"vault": {
"id": "text",
"chain": "arbitrum",
"token_name": "text",
"token_decimals": 1,
"contract_address": "text",
"want_address": "text",
"want_decimals": 1,
"eol": true,
"eol_date": "2025-07-05T21:42:26.801Z",
"assets": [
"text"
],
"protocol": "text",
"protocol_product": "text",
"want_price_feed_key": "text"
}
}
}
]
Find one product configuration by chain and contract address
Only include products for this chain
The product contract address
^0x[a-fA-F0-9]{40}$
GET /api/v1/beefy/product/{chain}/{contract_address} HTTP/1.1
Host:
Accept: */*
Default Response
{
"productKey": "text",
"chain": "arbitrum",
"productData": {
"type": "beefy:vault",
"dashboardEol": true,
"vault": {
"id": "text",
"chain": "arbitrum",
"token_name": "text",
"token_decimals": 1,
"contract_address": "text",
"want_address": "text",
"want_decimals": 1,
"eol": true,
"eol_date": "2025-07-05T21:42:26.801Z",
"assets": [
"text"
],
"protocol": "text",
"protocol_product": "text",
"want_price_feed_key": "text"
}
}
}
This endpoint returns snapshots of the api /tvls endpoints done every 15 minutes and can be used to request raw historical data but the time range must not exceede 1 week and the result will be truncated to 1000 elements. from_date
is inclusive and to_date
is exclusive to make is easier to use in loops
Only include products for this chain
The product contract address
^0x[a-fA-F0-9]{40}$
Inclusive date time to fetch data from, interpreted as utc tz
2023-01-01T00:00:00
Exclusive date time to fetch data to, interpreted as utc tz
2023-01-01T00:00:00
GET /api/v1/beefy/product/{chain}/{contract_address}/tvl?from_date_utc=2025-07-05T21%3A42%3A26.801Z&to_date_utc=2025-07-05T21%3A42%3A26.801Z HTTP/1.1
Host:
Accept: */*
The raw tvl time series
[
[
[
"2021-01-01T00:00:00",
1234.34
]
]
]
This endpoint is essentially used for charting and UIs as it provides a simple interface to get the most widely displayed time series.
share_to_underlying
is the ratio from share token to LP token (ppfs). underlying_to_usd
is the ratio from an LP token to USD.
Defines a bucket size and a time range like <bucket size>_<time range>
. For example, 1d_1M
means: 1 month of data aggregated by buckets of 1 day.
GET /api/v1/price/?product_key=text&price_type=share_to_underlying&time_bucket=1h_1d HTTP/1.1
Host:
Accept: */*
The price time series
[
[
[
"2021-01-01T00:00:00",
"1000.0000012123",
"1000.0000012123",
"1000.0000012123",
"1000.0000012123"
]
]
]
This endpoint can be used to request raw historical data but the time range must not exceede a week and the result will be truncated to 1000 elements. from_date
is inclusive and to_date
is exclusive to make is easier to use in loops
share_to_underlying
is the ratio from share token to LP token (ppfs). underlying_to_usd
is the ratio from an LP token to USD.
Inclusive date time to fetch data from, interpreted as utc tz
2023-01-01T00:00:00
Exclusive date time to fetch data to, interpreted as utc tz
2023-01-01T00:00:00
GET /api/v1/price/raw?product_key=text&price_type=share_to_underlying&from_date_utc=2025-07-05T21%3A42%3A26.801Z&to_date_utc=2025-07-05T21%3A42%3A26.801Z HTTP/1.1
Host:
Accept: */*
The raw price time series
[
[
[
"2021-01-01T00:00:00",
1234,
"1000.0000012123"
]
]
]
Third Party Endpoints
Endpoints required or utilised by third party platforms to display information about Beefy or its products on their sites.
Subgraph
Please note that Beefy does not currently operate or maintain any subgraphs for our protocol.
Our friends at Messari have developed a subgraph for our presence on BSC chain, which is available at https://api.thegraph.com/subgraphs/name/messari/beefy-finance-bsc, and on The Graph's website (ID: QmfEtMEgjik9FSZdqAmp2DkNFG4M9TK4Go8uyCUj8EVxY6). Beefy has had no role in the development or maintenance of this subgraph. Please direct any questions or requests for assistance in relation to this subgraph directly to Messari.
Other Data
For any readers seeking further information about Beefy and our protocol's performance, please head to the #📊-beefy-data channel in our Discord server. We'll be happy to answer any questions you may have there and you're welcome to inspect the history of our discussions in that channel for further background into our data work.
You'll also find in that channel a collection of weekly reports on the breakdown of our $BIFI token across our different chains and vaults, which are lovingly prepared by core contributor EPETE.
Last updated
Was this helpful?