DeFi Llama
  • List your project
    • DefiLlama and our methodology
    • How to list a DeFi project
    • How to add a new Blockchain
    • How to write an SDK adapter
    • Functions we've written so you don't have to
      • Staking and Pool2
      • Fork helpers
      • General EVM contract calls
    • What to include as TVL?
    • How to update a project
    • How to write dimensions adapters
    • Emissions dashboard
      • Protocol Files
      • Emission Sections
      • Testing
    • Oracles TVS
  • analysts
    • Data Definitions
  • Chainlist
    • How to change Ethereum's RPC
    • Add a new RPC endpoint
  • FAQs
    • Frequently Asked Questions
  • Coin Prices API
  • Pricing
Powered by GitBook
On this page

Was this helpful?

  1. List your project

How to add a new Blockchain

PreviousHow to list a DeFi projectNextHow to write an SDK adapter

Last updated 2 months ago

Was this helpful?

For non-EVM chains just follow the same steps but instead of picking the shortName from chainlist, make one up that adjusts to your chain.

1. Fork the repo

2. Add the Blockchain to chains.json

You need to add the name of the blockchain in the projects/helper/chains.json file to recognize it as a new supported chain.

Example Change:

"chains": [
  "ethereum",
  "binance-smart-chain",
  "polygon",
  "zklink",  // Add your new blockchain here. 
  "fraxtal",
  "zksync"
]

You should use the field shortName from


3. Add Token Mappings in tokenMapping.js

Add the token mappings for the new blockchain to the projects/helper/tokenMapping.js file. This file maps token addresses to their respective identifiers for accurate tracking and handling.

Example Change:

const fixBalancesTokens = {
  zklink: {
    [ADDRESSES.zklink.WETH]: { coingeckoId: "ethereum", decimals: 18 },
  },
  ozone: {
     '0x83048f0bf34feed8ced419455a4320a735a92e9d': { coingeckoId: "ozonechain", decimals: 18 }, 
  },
};

This ensures tokens on the new blockchain (zklink) are properly recognized, including their coingeckoId for price tracking and their decimals.


4. Submit a Protocol using your blockchain (e.g., projects/savmswap/index.js)

Lastly, update the project’s configuration file to add your new blockchain as a valid supported chain. If we don´t track any protocol on your blockchain, we can not add it. So make sure to add the new chain under a current project or add a new adapter to track the project on your blockchain

Example Change:

const { uniTvlExport } = require('../helper/unknownTokens')

module.exports = uniTvlExport('zklink', '0x1842c9bD09bCba88b58776c7995A9A9bD220A925') //blockchain, factory address
  1. Submit a Pull Request

DefiLlama-Adapters
https://github.com/DefiLlama/DefiLlama-Adapters
https://chainlist.org/rpcs.json