Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/beefyfinance/beefy-api
Simple API for BeefyFinance
https://github.com/beefyfinance/beefy-api
api apy beefyfinance binance-smart-chain defi koa2 yield-farming
Last synced: about 1 month ago
JSON representation
Simple API for BeefyFinance
- Host: GitHub
- URL: https://github.com/beefyfinance/beefy-api
- Owner: beefyfinance
- License: mit
- Created: 2020-10-04T16:43:36.000Z (about 4 years ago)
- Default Branch: master
- Last Pushed: 2024-07-02T15:34:57.000Z (4 months ago)
- Last Synced: 2024-07-02T21:01:24.675Z (4 months ago)
- Topics: api, apy, beefyfinance, binance-smart-chain, defi, koa2, yield-farming
- Language: TypeScript
- Homepage: https://api.beefy.finance
- Size: 11.7 MB
- Stars: 117
- Watchers: 12
- Forks: 202
- Open Issues: 7
-
Metadata Files:
- Readme: readme.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
# Beefy API
API that powers [Beefy Finance](https://app.beefy.finance). You can find the repo for the frontend [here](https://github.com/beefyfinance/beefy-app).
---
## To Run.
```
yarn install-all
yarn start
```Note: After you start the API it can take a minute or two before you can fetch the APYs. We currently log `getApys()` to the console when all the data is available.
Optional environment vars:
`BSC_RPC` - A custom RPC endpoint that you want to use.
`HECO_RPC` - A custom RPC endpoint for HECO. You can just leave the default one otherwise.
`FORTUBE_API_TOKEN` - A token from Fortube to use their API. If you don't have a token you will get a console warning and the Fortube APYs will be slightly smaller than in production. Everything works fine otherwise.---
---
## Endpoints
http://localhost:3000/
---
### Consumed by the [app](https://app.beefy.finance)
#### **/apy**
The main endpoint used by the frontend. It returns the APY of all the vaults in the following format.
```
{
"bifi-maxi": 0.22448469479728606, // 22%
"cake-cake": 2.8002377054263174, // 280%
"cake-smart": 2.8002377054263174, // 280%
"cake-swingby-bnb": 21.85102752680053 // 2185%
}
```NB This is the legacy format. A new endpoint is being created at **/apy/breakdown** with a staggered migration.
#### **/apy/breakdown**
The new version of the APY endpoint, broken down into component parts when they are available. The endpoint moves to a new format, which is consistent whether or not the breakdown stats are possible to display. It has the following structure:
```json
{
"bifi-maxi": {
"totalApy": 0.07598675804818633
},
"cometh-must-eth": {
"vaultApr": 1.186973388240745,
"compoundingsPerYear": 2190,
"beefyPerformanceFee": 0.045,
"vaultApy": 2.1057844292858614,
"lpFee": 0.005,
"tradingApr": 0.22324214039526927,
"totalApy": 2.8825691266420788
}
}
```Note the endpoint exposes elements needed for the Total APY calculation. Where this is not possible, we just show the legacy Total APY. Note that the legacy Total APY -> totalApy does not include the trading fees.
Each of these fields within the structure are:
- **vaultApr** - Yearly rewards in USD divided by total staked in USD.
- **compoundingsPerYear** - The estimated compounding events. This is an internal field and references the value used within the calculation for this project.
- **beefyPerformanceFee** - The flat Beefy performance fee included in the calculation. This is an internal field for reference.
- **vaultApy** - The vaultApr compounded, using compoundingsPerYear and beefyPerformanceFee in the calculation.
- **lpFee** - The Liquidity Provider (LP) fee per trade. This is an internal field for reference.
- **tradingApr** - Annual interest from trading fees, not compounded.
- **totalApy** - The known Total APY. Where fields are available to calculate the Total APY including trading fees, this is calculated. The final calculation is totalApy = (1 + vaultApy) * (1 + tradingApr) - 1.#### **/prices** All token prices under the same endpoint (crosschain).
#### **/lps**: All liquidity pair prices under a single endpoint (crosschain).
#### **/vaults**: TBD
---
### Consumed by the [dashboard](https://dashboard.beefy.finance)
#### **/earnings**: Used to display the total and daily earnings of the platform
#### **/holders**: Used to display the total number of holders. This calc takes into account users with 0 BIFI in their wallet, but BIFI staked in the reward pool
---
### Consumed by third party platforms
#### **/cmc**: Custom endpoint required by [CoinMarketCap](https://coinmarketcap.com/) to display our vaults in their yield farming section
#### **/supply**: Used by [Coingecko](https://coingecko.com) to display BIFI's total supply and circulating supply
---
---
## Further Information
For further information on the range of endpoints currently supported by the Beefy API, check out the latest version of our [API documentation](https://docs.beefy.finance/developer-documentation/beefy-api).
---
---
## Contribute
Beefy.Finance exists thanks to its contributors. There are many ways you can participate and help build high quality software. Check out the [contribution guide](CONTRIBUTING.md)!
---
---
## License
[MIT](LICENSE).