Follow this guide to create an adapter and submit a PR with it.
Also, don't hesitate to send a message on our discord if we're late to merge your PR.
This repo is for TVL adapters. For other metrics such as
volume,fees,revenue,aggregators,open-interest,active-users, etc. submit the PR to DefiLlama/dimension-adapters.
pnpm-lock.yaml or pnpm-workspace.yaml files as part of your changes, that messes up our CI.Please send answers to questions there https://github.com/DefiLlama/DefiLlama-Adapters/blob/main/pull_request_template.md when creating a PR.
This repo includes an agent skill at skills/adapter-author/ for AI-assisted DefiLlama TVL adapter authoring. It helps coding agents validate whether a request belongs in DefiLlama-Adapters, choose existing adapter patterns, implement TVL adapters in repo style, run node test.js, and prepare PR metadata. See skills/adapter-author/SKILL.md for usage.
This is a work in progress. DefiLlama aims to be transparent, accurate, and open source.
If you have any suggestions, want to contribute or want to chat, please join our discord and drop a message.
node test.js projects/pangolin/index.js
# Add a timestamp at the end to run the adapter at a historical timestamp
node test.js projects/aave/v3.js 1729080692
# or using YYYY-MM-DD
node test.js projects/aave/v3.js 2024-10-16
If you want to change RPC providers because you need archive node access or because the default ones don't work well enough you can do so by creating an .env file and filling it with the env variables to overwrite:
ETHEREUM_RPC="..."
BSC_RPC="..."
POLYGON_RPC="..."
The name of each rpc is {CHAIN-NAME}_RPC, and the name we use for each chain can be found here. If you run into issues with a chain make sure to update the sdk with npm update @defillama/sdk.
$ claude mcp add DefiLlama-Adapters \
-- python -m otcore.mcp_server <graph>