February 27, 2024

How to Get the Net Worth of Any ERC20 Wallet via API 

Table of Contents

Do you want to get and integrate the net worth of any wallet into your decentralized applications (dapps)? With Moralis’ Wallet Net Worth endpoint, it’s now easier than ever. All you need is a single API call to get the total net worth of any ERC20 crypto wallet across most blockchains! 

If you’re eager to dive straight into the code, check out the example below, where we write a short script for calling the endpoint to get ERC20 wallet net worth data: 

import fetch from 'node-fetch';

const options = {
  method: 'GET',
  headers: {
    accept: 'application/json',
    'X-API-Key': 'YOUR_API_KEY'
  },
};

fetch('https://deep-index.moralis.io/api/v2.2/wallets/0xd8da6bf26964af9d7eed9e03e53415d37aa96045/net-worth?chains%5B0%5D=eth&chains%5B1%5D=polygon&exclude_spam=true&exclude_unverified_contracts=true', options)
  .then(response => response.json())
  .then(response => console.log(response))
  .catch(err => console.error(err));

In return for running the code above, you’ll get the total net worth of the specified ERC20 wallet. You’ll also get the individual values for each chain included as parameters of your query. Here’s an example of what the response might look like: 

{
  "total_networth_usd": "4286806.08",
  "chains": [
    {
      "chain": "eth",
      "native_balance": "1085515469813080189177",
      "native_balance_formatted": "1085.515469813080189177",
      "native_balance_usd": "3550067.16",
      "token_balance_usd": "735008.04",
      "networth_usd": "4285075.20"
    },
    {
      "chain": "polygon",
      "native_balance": "426857449018746625825",
      "native_balance_formatted": "426.857449018746625825",
      "native_balance_usd": "445.31",
      "token_balance_usd": "1285.57",
      "networth_usd": "1730.88"
    }
  ]
}

If you’d like to learn more about this premier endpoint, check out the official Wallet Net Worth documentation page, watch the video below, or join us in this guide! 

Also, if you wish to follow along in this tutorial, don’t forget to sign up with Moralis. You can create an account free of charge, and you’ll gain instant access to our top-tier Web3 API suite! 

Want to Use the Industry's
Leading Web3 APIs?

Overview 

Whether you’re building or looking to scale a cryptocurrency wallet, portfolio tracker, or any other platform integrating wallet components in some capacity, you need a seamless way to get the net worth of any address. But what is the easiest way to get the net worth of an ERC20 crypto wallet via API? 

In this tutorial, we’ll show you how to fetch the net worth of a crypto address using Moralis’ industry-leading Wallet API. With this top-tier API and the Wallet Net Worth endpoint, you can seamlessly get the data you need with only a few lines of code. So, if you want to build or scale a cryptocurrency wallet, portfolio tracker, or any other Web3 platform, join us throughout this guide. Now, let’s dive straight in! 

Exploring Crypto Wallet Net Worth

The net worth of a cryptocurrency wallet refers to the total value of all assets stored in the portfolio, including native, ERC20, and non-fungible tokens (NFTs). This is an important metric that cryptocurrency wallets, tax tools, portfolio trackers, and other projects integrate into their platforms!

Graphic art design illustration - showing multiple ERC20 wallets and their net worth balances being queried by API code

Calculating the net worth of a wallet is a tedious and time-consuming task. It typically involves manually collecting data across multiple blockchain networks, resulting in separate calls for ERC20 token balances, native balances, prices, and not to mention NFTs. The result of this is a complex workflow that demands a lot of development time and can lead to thousands of thousands of API calls.

But there has to be a better way, right? 

To streamline this process, we introduced the Wallet Net Worth endpoint to Moralis’ Wallet API. With this endpoint, you can now seamlessly and accurately get ERC20 wallet net worth data and automatically calculate the net worth with just one single API call!

So, how does this work?

Get ERC20 Wallet Net Worth with a Single API Call 

With Moralis’ Wallet Net Worth endpoint, you can now effortlessly and accurately get the wallet net worth of any address with a few lines of code. To showcase the accessibility of working with our APIs, check out the simple script below for calling the endpoint in question: 

import fetch from 'node-fetch';

const options = {
  method: 'GET',
  headers: {
    accept: 'application/json',
    'X-API-Key': 'YOUR_API_KEY'
  },
};

fetch('https://deep-index.moralis.io/api/v2.2/wallets/0xd8da6bf26964af9d7eed9e03e53415d37aa96045/net-worth?chains%5B0%5D=eth&chains%5B1%5D=polygon&exclude_spam=true&exclude_unverified_contracts=true', options)
  .then(response => response.json())
  .then(response => console.log(response))
  .catch(err => console.error(err));

All you have to do before running the script above yourself is to install the required dependencies, replace YOUR_API_KEY, configure the address parameter, specify the chains you wish to include, and run the script. 

In the query above, we set both exclude_spam and exclude_unverified_contracts to true. That way, we can remove spam tokens and unverified contracts from the response. 

In return for running the script above, you’ll get a response that looks something like this:

{
  "total_networth_usd": "4286806.08",
  "chains": [
    {
      "chain": "eth",
      "native_balance": "1085515469813080189177",
      "native_balance_formatted": "1085.515469813080189177",
      "native_balance_usd": "3550067.16",
      "token_balance_usd": "735008.04",
      "networth_usd": "4285075.20"
    },
    {
      "chain": "polygon",
      "native_balance": "426857449018746625825",
      "native_balance_formatted": "426.857449018746625825",
      "native_balance_usd": "445.31",
      "token_balance_usd": "1285.57",
      "networth_usd": "1730.88"
    }
  ]
}

As you can see, this simple yet sophisticated response includes both the total net worth of the ERC20 wallet and separate metrics for each chain specified in the query. From here, you can now seamlessly integrate this data into any of your projects! 

Why Do You Need the ERC20 Wallet Net Worth Endpoint? 

Since you can leverage the Wallet Net Worth endpoint to avoid the tedious and time-consuming task of manually calculating the net worth of any wallet, it provides a lot of benefits to Web3 developers. Below, we’ll briefly explore three prominent examples:

  • Effortless Net Worth Calculations: You can now effortlessly fetch the net worth of any wallet, removing the need for manual data aggregation.
  • Accurate Price Data: Moralis provides up-to-date, real-time price data, ensuring precise portfolio assessments. 
  • Reduced Complexities: With the Wallet Net Worth endpoint, you don’t have to manually fetch and calculate the total value of a wallet. As such, this endpoint facilitates a more accessible developer experience, resulting in fewer API calls and a much simpler workflow.
Net worth of ERC20 wallet graph

By launching this endpoint, we’re empowering developers worldwide to do more faster and with fewer API calls. As such, the Wallet Net Worth endpoint frees up a lot of time, enabling you and your team to focus on what’s really important: building a compelling user experience and increasing customer value. 

In-Depth Tutorial: How to Get the Net Worth of Any ERC20 Wallet in 3 Steps 

With an overview of our premier endpoint, we’ll now show you how to get a wallet’s ERC20 net worth in three simple steps: 

  • Step 1: Fetch Your Moralis API Key
  • Step 2: Write a Script Calling the Wallet Net Worth Endpoint
  • Step 3: Run the Code

However, before we can proceed, you need to take care of a few essential prerequisites! 

Prerequisites

In today’s tutorial, we’ll be using JavaScript and Node.js. As such, if you haven’t already, make sure you have the following ready: 

  • Node.js v14+
  • Npm/Yarn

Step 1: Fetch Your Moralis API Key

The first thing you’ll need is a Moralis account. As such, start by signing up with Moralis by clicking on the sign-up button at the top right of Moralis’ homepage: 

Step 1 to get ERC20 wallet net worth: Sign up with Moralis for free

Next, go to the ”Settings” tab, find the ”API Keys” section, and copy your key: 

Step 1 Continued: Copy ERC2- Wallet Net Worth Endpoint API Key inside the Moralis admin UI

Please save it for now, as you’ll need it in the next section.

Step 2: Write a Script Calling the Wallet Net Worth Endpoint

Open your preferred IDE and set up a folder. Next, launch a new terminal and run the following command to initialize a project: 

npm init

Run the following commands in the terminal to install the required dependencies: 

npm install node-fetch --save
npm install moralis @moralisweb3/common-evm-utils

You can then open your ”package.json” file and add ”type”: ”module” to the list: 

Step 2: open your ”package.json” file and add ”type”: ”module” to the list

Next, create an ”index.js” file and add this code: 

import fetch from 'node-fetch';

const options = {
  method: 'GET',
  headers: {
    accept: 'application/json',
    'X-API-Key': 'YOUR_API_KEY'
  },
};

fetch('https://deep-index.moralis.io/api/v2.2/wallets/0xd8da6bf26964af9d7eed9e03e53415d37aa96045/net-worth?chains%5B0%5D=eth&chains%5B1%5D=polygon&exclude_spam=true&exclude_unverified_contracts=true', options)
  .then(response => response.json())
  .then(response => console.log(response))
  .catch(err => console.error(err));

From here, you will need to configure the code slightly. Start by adding your Moralis API key by replacing YOUR_API_KEY:

Step 2 continued: replace the parameter with your coped API key

Then, you can also configure the parameters of your query. For instance, you can swap the address if you wish to query another wallet, and you can add additional chains if you want to include tokens from other networks:

Step 2 continued: showing examples of chains to choose from when getting the ERC20 net worth of a wallet

Also, note that we include exclude_spam and exclude_unverified_contracts as parameters and set them to true. That way, our results will exclude spam tokens and non-verified contracts. 

That’s it; you’re now ready to run the code! 

Step 3: Run the Code

Open a new terminal and run this command in the root folder of the project to execute the code: 

node index.js

In return, you’ll get a response including the total net worth of the wallet, along with the separate values for each chain included in the query. Here’s an example of what it might look like: 

{
  "total_networth_usd": "4286806.08",
  "chains": [
    {
      "chain": "eth",
      "native_balance": "1085515469813080189177",
      "native_balance_formatted": "1085.515469813080189177",
      "native_balance_usd": "3550067.16",
      "token_balance_usd": "735008.04",
      "networth_usd": "4285075.20"
    },
    {
      "chain": "polygon",
      "native_balance": "426857449018746625825",
      "native_balance_formatted": "426.857449018746625825",
      "native_balance_usd": "445.31",
      "token_balance_usd": "1285.57",
      "networth_usd": "1730.88"
    }
  ]
}

With this data, you can now seamlessly get ERC20 wallet net worth data and integrate it into your projects! 

Wallet Net Worth Use Cases: Why Do You Need to Get the Net Worth of an ERC20 Wallet?  

The Wallet Net Worth endpoint has a lot of utility and will be useful for anyone building dapps that feature some sort of wallet component. However, to give you some examples, let’s explore three prominent use cases below! 

  • Cryptocurrency Wallets: Cryptocurrency wallets are software that allows users to store their digital assets, including NFTs and fungible tokens. The most prominent wallets also provide functionality for buying, selling, and trading crypto. As such, they give users the tools to manage their assets fully. Some notable examples of cryptocurrency wallets include MetaMask, Coinbase Wallet, and Rainbow. 
Wallet Net Worth ERC20 Balances Project example
  • Crypto Tax Platforms: Crypto tax platforms are applications designed to help both individuals and businesses calculate taxes on their cryptocurrency transactions. With the complex nature of crypto transactions and evolving regulations, these tools have become quite valuable for traders and investors. A great example of a crypto tax platform is Koinly. 
ERC20 wallet net worth on a crypto tax platform
  • Data and Analytics Tools: Data and analytics tools are platforms giving users in-depth insight into the performance of cryptocurrencies. These tools can provide a wide range of features, including market analytics, portfolio tracking, blockchain analytics, and more. A prominent example of an industry-leading data and analytics tool is Moralis Money
Moralis Money platform - Example of tool that uses ERC20 Net Worth data

The use cases above are only a few prominent examples, and you’ll likely find the Wallet Net Worth endpoint useful in most of your development endeavors! 

Beyond Getting the Wallet Net Worth – Exploring the Wallet API Further 

Moralis’ Wallet API is the industry’s premier tool for anyone looking to build cryptocurrency wallets or integrate wallet functionality into dapps. This interface supports more than 300 million addresses across the most prominent blockchains, including Ethereum, Polygon, Solana, and many others! 

Graphic art illustration - Token API marketing banner

With the Wallet API, you can effortlessly query blockchain data. This includes wallet balances, profile data, transactions, and even the net worth of a wallet! Plus, you can do so with only single lines of code. As such, when using the Wallet API, you can build everything from crypto wallets to tax tools without breaking a sweat. 

To highlight the capabilities of this premier API, let’s explore some additional endpoints below: 

  • Token Balances with Prices: The Token Balances with Prices endpoint lets you fetch a wallet’s ERC20 token balances along with metadata, prices, etc. Moreover, you can do so with only a single API call. Here’s an example of what it might look like:
import fetch from 'node-fetch';

const options = {
  method: 'GET',
  headers: {
    accept: 'application/json',
    'X-API-Key': 'YOUR_API_KEY'
  },
};

fetch('https://deep-index.moralis.io/api/v2.2/wallets/0xcB1C1FdE09f811B294172696404e88E658659905/tokens?chain=eth', options)
  .then(response => response.json())
  .then(response => console.log(response))
  .catch(err => console.error(err));

In return for running the code above, you’ll get a response that looks something like this: 

{
   //...
  "result": [
    {
      "token_address": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",
      "symbol": "USDC",
      "name": "USD Coin",
      "logo": "https://cdn.moralis.io/eth/0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48.png",
      "thumbnail": "https://cdn.moralis.io/eth/0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48_thumb.png",
      "decimals": 6,
      "balance": "4553447",
      "possible_spam": false,
      "verified_contract": true,
      "balance_formatted": "4.553447",
      "usd_price": 1.001818879776249,
      "usd_price_24hr_percent_change": 0.1818879776249283,
      "usd_price_24hr_usd_change": 0.0018221880998897314,
      "usd_value": 4.561729172660522,
      "usd_value_24hr_usd_change": 0.008297236936878599,
      "native_token": false,
      "portfolio_percentage": 100
    },
    //...
  ]
}

To learn more about how this works, check out our most recent guide exploring the ultimate crypto portfolio tracker endpoint

  • getWalletNFTs(): With the getWalletNFTs() endpoint, you can seamlessly get the NFT balance of any wallet. You’ll find an example of what it might look like here: 
import Moralis from 'moralis';

try {
  await Moralis.start({
    apiKey: "YOUR_API_KEY"
  });

  const response = await Moralis.EvmApi.nft.getWalletNFTs({
    "chain": "0x1",
    "format": "decimal",
    "mediaItems": false,
    "address": "0xff3879b8a363aed92a6eaba8f61f1a96a9ec3c1e"
  });

  console.log(response.raw);
} catch (e) {
  console.error(e);
}

In return, you’ll get an array of all NFTs the wallet in question holds. It will look something like this:  

{
  //...
    {
      "amount": "1",
      "token_id": "5021",
      "token_address": "0xfff54e6fe44fd47c8814c4b1d62c924c54364ad3",
      "contract_type": "ERC721",
      "owner_of": "0xff3879b8a363aed92a6eaba8f61f1a96a9ec3c1e",
      "last_metadata_sync": null,
      "last_token_uri_sync": "2024-02-27T13:25:49.783Z",
      "metadata": null,
      "block_number": "14647390",
      "block_number_minted": "14647390",
      "name": "Youtopia",
      "symbol": "Youtopia",
      "token_hash": "d4719eaf84eabcf443065b0a463f5886",
      "token_uri": "http://api.youtopia-official.xyz/ipfs/5021",
      "minter_address": "0x13f11fd2c7c7be94674651386370d02b7aac9653",
      "verified_collection": false,
      "possible_spam": true,
      "collection_logo": "https://i.seadn.io/gae/e3uNxyaqT0FfnhcF9SuMqCZd3pdF36wgcnpRJ0VDjLOP71g_LwrFRgLweNNCMvsMqR5ZZ4dh5Wble12PBzvncmpLbtmdVdjr5zMy8w?w=500&auto=format",
      "collection_banner_image": "https://i.seadn.io/gae/n9j18OhplkvqP5SOtuYDwpUVkJSwF6WkIV6vZMWjcm0D5qCpbd12cAaVlfZS8-3gjxjYsnjL_tIlVIsjXz28KejPB3D19Jc_MZ9Z?w=500&auto=format"
    },
    //…
   ]
}
  • getWalletTransactions(): You can use the getWalletTranscactions() endpoint to query the native transaction history of any wallet. Check out the example below to see how it works: 
import Moralis from 'moralis';

try {
  await Moralis.start({
    apiKey: "YOUR_API_KEY"
  });

  const response = await Moralis.EvmApi.transaction.getWalletTransactions({
    "chain": "0x1",
    "address": "0x1f9090aaE28b8a3dCeaDf281B0F12828e676c326"
  });

  console.log(response.raw);
} catch (e) {
  console.error(e);
}

In return for calling the endpoint above, you’ll get a list of the wallet’s native transactions. Here’s an example of what it might look like: 

{
 //...
  "result": [
    {
      "hash": "0xc2dae4e9323e4b4daae845d56bb2b0b1963b65b4cebd232a30c600147bd0d394",
      "nonce": "516871",
      "transaction_index": "343",
      "from_address": "0x1f9090aae28b8a3dceadf281b0f12828e676c326",
      "from_address_label": "rsync-builder",
      "to_address": "0x388c818ca8b9251b393131c08a736a67ccb19297",
      "to_address_label": "Lido: Execution Layer Rewards Vault",
      "value": "126626152737137840",
      "gas": "22111",
      "gas_price": "46932278594",
      "input": "0x",
      "receipt_cumulative_gas_used": "29863868",
      "receipt_gas_used": "22111",
      "receipt_contract_address": null,
      "receipt_root": null,
      "receipt_status": "1",
      "block_timestamp": "2024-02-27T13:29:59.000Z",
      "block_number": "19319196",
      "block_hash": "0xaf38cea22f06e3d31e24dadc8cc27daa65f09c68713ce8343489536dde6ea22d",
      "transfer_index": [
        19319196,
        343
      ]
    },
    //...
  ]
}

If you’d like to explore all the endpoints of this API, please check out the official Wallet API documentation page! 

Wallet API
Fetch balances, transactions, profile data, and more with a few lines of code.

Summary: How to Get the Net Worth of Any ERC20 Wallet via API

From a conventional perspective, it has always been a tedious and time-consuming task to get the net worth of any ERC20 crypto wallet via API. Furthermore, it has typically required you to manually collect data across multiple blockchains, resulting in separate API calls for ERC20 token balances, native balances, prices, etc. The outcome of this is a complex workflow that takes up a lot of development resources and time. However, you can now circumvent this entire process using Moralis’ Wallet API and the Wallet Net Worth endpoint! 

Illustration - showing wallets and their ERC20 net worth balances

With Moralis’ Wallet Net Worth endpoint, you only need a single API call to get ERC20 wallet net worth data across the biggest blockchains. As such, when working with Moralis, it has never been easier to build cryptocurrency wallets, portfolio trackers, or any other platforms that integrate the net worth of an ERC20 wallet! 

Did you like this tutorial showing how to get the net worth of an ERC20 wallet using Moralis’ API? If so, consider checking out more content here on the blog. For instance, read one of our most recent articles that shows you how to query the Ethereum blockchain! Also, if you wish to use the Wallet API, don’t forget to sign up with Moralis. You can create an account for free, and you’ll gain instantaneous access to our premier development tools!

Token API
Supercharge your dapp with our leading-edge Token API! Real-time token prices, balances, transfers & much more.
Token API
Related Articles
December 11, 2022

Web3.js vs Ethers.js – The Full 2023 Guide to ETH JavaScript Libraries

December 23, 2022

The Best Token Price API in 2023 for Dapp Developers

November 17, 2023

How to Add the Sepolia Network to MetaMask – Full Guide

March 16, 2023

Token Allowance Checker – View Wallet Token Approvals

February 9, 2024

How to Query Blockchain Data for Transactions, Balances, and More 

December 18, 2023

How to Watch On-Chain Transactions – Monitor Crypto Transactions and Events

October 14, 2023

The Ultimate Guide to NFT Marketplace Development

January 4, 2023

Smart Contract Programming – The Ultimate 2023 Guide to Blockchain Programming