This README provides instructions for third parties on how to add their vault, token, or validator to our application.
Before you begin, ensure you have:
- A GitHub account
- Basic knowledge of JSON and Git
- Details for your vault, token, or validator
Please make sure that the respective beraRewardVault is whitelisted. In order to check that please follow the guideline:
- Go to Berachef’s contract on Berascan(0xdf960E8F3F19C481dDE769edEDD439ea1a63426a) & select “Read Contract“
- Go to function 16. isWhitelistedVault
- Under receiver parameter put the beraRewardVault address
- Click “Query“
- If the boolean is “true”, the vault is yielding BGT (desired path)
- If the boolean is “false”, the vault is not yielding BGT. In this case, please refer to the Berachain team, their governance, and their documentation
When adding a new vault or token use a message such as
feat: add WBERA-HONEY vault
You only need to provide assets if they're not already in the src/assets
folder or if you're introducing new elements (e.g., a new protocol or token). For any new or missing assets:
Add any new token assets to /src/assets/tokens
and new protocol assets to src/assets/protocols
.
- You should use a high quality SVG file (no base64).
- If you absolutely do not have an SVG file add a png to
src/assets/tokens/new
orsrc/assets/protocols/new
. Ensure it is larger than 128x128 and is very high quality. This process will take more time as the team will convert the assets to svg.
-
Navigate to
src/pol-vaults/{network}.json
where{network}
is the network you're adding to (e.g., "mainnet" for the Berachain mainnet). -
Add your vault to the
vaults
array in the JSON file. Follow this structure:{ "beraRewardVault": "0x...", "depositTokenAddress": "0x...", "slug": "protocol-stake-token-name" }
-
If your protocol is not listed in the
protocols
array, add it:{ "description": "A brief description of your protocol.", "id": "your_unique_protocol_id", "imageDark": "your-protocol-image.svg", "imageLight": "your-protocol-image.svg", "name": "Protocol", "url": "https://your-protocol-url.com" }
Ensure that:
- The
id
field is lowercase. - The
name
field is a singular word in most cases.Kodiak
instead ofKodiak Finance
for example. - You've added the protocol image to the
src/assets/protocols
folder if it's not already there.
- The
-
If your vault uses tokens not in the tokens, add them to
src/tokens/{network}.json
:{ "address": "0x...", "chainId": 80094, "decimals": 18, "image": "your-token-image.svg", "mintUrl": "https://your-protocol-url.com/provide-liquidity", "name": "XYZ", "protocol": "your_protocol_id", "symbol": "XYZ", "type": "amm", "underlyingTokens": ["0x...", "0x..."] }
Ensure that:
- The
mintUrl
field is a direct link to provide liquidity for the LP token - The
name
field only uses the symbols of the underlying tokens with a dash between. Example:HONEY-WBERA
. protocol
matches anid
in theprotocols
array- You've added the token image to the
src/assets/tokens
folder if it's not already there. - All
underlyingTokens
are listed in the tokens (src/tokens/{network}.json
)
- The
-
Commit your changes and push to your forked repository.
-
Create a Pull Request (PR) from your fork to this repository.
- Ensure all addresses are valid and correctly formatted.
- Use clear, descriptive names for your vault, protocol, and tokens.
- Provide accurate and concise descriptions.
- Use appropriate tags and types.
- The
url
field for pol-vaults should be a direct link to provide liquidity for the LP token. - Make sure you're updating the correct network-specific files (replace
{network}
with the appropriate network name).
After submitting your PR:
- Our team will review your submission.
- We may request changes or clarifications if needed.
- Once approved, your changes will be merged and become visible in the app for the specified network.
Thank you for contributing to our ecosystem!
- Try to convert the image by adding it to
src/assets/tokens/new
and then using https://vectormagic.com or runningpnpm convert-new-assets-to-svg
- If that doesn't produce a good result:
- Add the image to a figma file
- Resize it down to 256px x 256px. If it is smaller, leave it
- Export the image as a png
- Use https://tinypng.com to compress the image
- Add the compressed image to figma
- Resize it to 128px x 128px
- Copy & paste as SVG
- Add the file to this repo