Links
Comment on page

API

The De.Fi API is the easiest way to integrate our expansive functionality into any app of your choosing. Whether you are interested in querying our audit or Rekt databases, querying a wallet's balances or details about the many blockchains we've integrated, our API is here for you.
Our API supports all the tokens, protocols and blockchains supported by our app - meaning you'll have access to data from 35+ blockchains, 300+ protocols and countless tokens.

Querying

Queries should be made to the following URL:
You can test out your queries before setting them up in your app through our handy GraphQL playground.
Before being able to perform queries, make sure you have properly authenticated them!

Available Endpoints

General endpoints

  • credits - Credit information with regards to your API key.
  • chains - Includes information about the many blockchains we have integrated into our dashboard. Please use chain_id values from the response for other calls listed below
  • assets - Paginated data about the many assets we have integrated into our dashboard.
Please be aware that the values of chain_id properties across the platform (in the response and the query params ) DON'T correspond with the absolute values (56 is for BSC, 137 is for Polygon, etc.) - the platform operates values like 1 is for Ethereum, 2 is for BNB, 3 for Polygon, etc. Please see all the values by calling chains endpoint.
Portfolio endpoints
  • assetBalances - ERC20 balances for any given wallet address
  • assetBalancesAdvanced (BETA) - ERC20 balances for any given wallet address. Allows fetching data for multiple addresses and chains through a single request
  • protocols - Includes information about the many dapps we have integrated into our dashboard (list here).
  • protocolBalance - Protocol balances for any given wallet address

Security endpoints

  • rekts - Paginated data about all hacks and exploits in our Rekt Database.
  • shields (DEPRECATED) - Safety information from De.Fi Shield regarding any given wallet address(es).
  • shieldAdvanced - Safety information from De.Fi Shield regarding any given wallet address(es).
  • shieldApprovals - The list of ERC20 approvals regarding any given wallet address(es).
  • shieldApprovalsNft - The list of ERC721 and ERC1155 approvals regarding any given wallet address(es).
  • scannerLiquidityAnalysis - The global liquidity distribution, top 10 LP holders and top 10 liquidity pairs regarding any given token address.
  • scannerHolderAnalysis - Info on the top 10 holders for any given token address.
  • scannerProject - The list of all issues found (both static and dynamic), security score, similar contracts and onchain governance info for any given smart contract address.

Opportunities endpoints

  • opportunities - Information regarding any DeFi yield opportunities available based on your preferred search terms.
  • opportunityFarms - List of DeFi yield opportunities.

Potential Use Cases

Need some ideas on how to use our API endpoints to build something cool? Check below:

Portfolio Dashboard

  • Make a call to the chains endpoint to get all the chains supported by De.Fi
  • Make calls to the assetBalances endpoint for each of the chain-wallet pairs to get ERC20 balances
  • Make a call to the protocols endpoint get all the platforms supported by De.Fi
  • Make calls to the protocolBalance endpoint for each of the chain-wallet-protocol combinations to get user positions and balances

Opportunities Dashboard

  • Make a call to the opportunityFarms endpoint to get all platforms and features supported by De.Fi's Explore Yield feature
  • Make a call to the opportunities endpoint to get all the yield opportunities available. It's possible to filter by platform, feature, chain, etc.

Security Dashboard

  • Make a call to the shieldApprovals endpoint to get all approvals given out by a wallet address
  • Make a call to the assetBalances endpoint with the tokens addresses returned by the previous call. It will return the list of tokens that are still in the wallet (helps filter out approvals for zero-balance tokens)
  • Make a call to the shieldAdvanced endpoint with the smart contract addresses received prior for more info

Scanner Dashboard

  • Make calls to the scannerProject endpoint with the smart contract addresses received from similar calls to the "Security Dashboard" idea. This will return advanced security analysis for each relevant smart contract
  • Make a call to the scannerHolderAnalysis endpoint with the tokens addresses received prior for more holder information for each contract
  • Make a call to the scannerLiquidityAnalysis endpoint with the tokens addresses received prior for more liquidity information for each contract

Authentication

In order to use our API, you must first get a valid API key. Get one by sending a request to [email protected].
You will have to use an X-Api-Key header with your key on every request. For example, on our GraphQL playground, you should test your key as follows:

Pricing & Rate Limits

In order to make queries with your API key, you must purchase credits. The more complex your queries, the more credits may be used up when requesting data from our API.
Endpoint
Credit Cost
Rate Limit (per minute)
assetBalances
10
20
assets
1
100
assetsPrices
1
100
chains
1
100
credits
1
100
opportunities
3
100
opportunityFarms
1
100
protocolBalance
10
20
protocols
1
100
rekts
3
100
shields
10
20
shieldApprovals
10
20
shieldApprovalsNft
5
20
shieldAdvanced
5
20
scannerLiquidityAnalysis
10
20
scannerHolderAnalysis
5
20
scannerProject
25
20

SDK

We also provide an SDK to facilitate our API's usage if you plan on utilizing it in a Node.js environment. Install it as follows:
npm i @de-fi/sdk
The SDK's documentation can be found here.