DeFi SDK is an open-source system of smart contracts designed for precise DeFi portfolio accounting. To put it simply, DeFi SDK is the on-chain balanceOf for DeFi protocols.
If you have any questions about DeFi SDK, feel free to reach out to us on our Discord server.
💥Query user assets and debt deposited in DeFi protocols like Maker, Aave, dYdX, etc.
How much debt does
0xdead..beef
have on Compound?
📊Get the underlying components of complex derivative ERC20 tokens
How much
cUSDC
vsETH
doesETHMACOAPY
have?
✨Interact with multiple DeFi protocols in a unified way
AdapterRegistry contract is deployed to the mainnet and its source code is verified on etherscan.
All the deployed contracts' addresses are available here.
The full instructions on how to add a custom adapter to the AdapterRegistry contract may be found in our docs.
If you have questions and/or want to add your adapter to Zerion reach out to us on our Discord server.
If you discover a security vulnerability within DeFi SDK, please send us an e-mail at [email protected]. All security vulnerabilities will be promptly addressed.
This project uses Truffle and web3js for all Ethereum interactions and testing.
Rename .env.sample
file to .env
, and fill in the env variables.
MNEMONIC
and INFURA_API_KEY
are required for core
and adapters
tests.
PRIVATE_KEY
is required for interactiveAdapters
tests.
npm run compile
npm run test:core
for core
tests.
npm run test:adapters
for adapters
tests.
npm run test:interactiveAdapters
for interactiveAdapters
tests.
npm run coverage
Currently, unsupported files are ignored.
npm run lint
Currently, unsupported files are ignored.
npm run deploy:network
, network
is either development
or mainnet
.
npm run docs:serve
All smart contracts are released under GNU LGPLv3.