Get token balances with prices by wallet address
curl --request GET \
--url https://deep-index.moralis.io/api/v2.2/wallets/{address}/tokens \
--header 'X-API-Key: <api-key>'import requests
url = "https://deep-index.moralis.io/api/v2.2/wallets/{address}/tokens"
headers = {"X-API-Key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-API-Key': '<api-key>'}};
fetch('https://deep-index.moralis.io/api/v2.2/wallets/{address}/tokens', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://deep-index.moralis.io/api/v2.2/wallets/{address}/tokens",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-API-Key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://deep-index.moralis.io/api/v2.2/wallets/{address}/tokens"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-API-Key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://deep-index.moralis.io/api/v2.2/wallets/{address}/tokens")
.header("X-API-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://deep-index.moralis.io/api/v2.2/wallets/{address}/tokens")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-API-Key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"result": [
{
"name": "<string>",
"symbol": "<string>",
"decimals": 123,
"balance": "<string>",
"possible_spam": true,
"usd_price": "<string>",
"usd_price_24hr_percent_change": "<string>",
"usd_price_24hr_usd_change": "<string>",
"usd_value": 123,
"portfolio_percentage": 123,
"balance_formatted": "<string>",
"native_token": true,
"token_address": "<string>",
"logo": "<string>",
"thumbnail": "<string>",
"verified_contract": true,
"usd_value_24hr_usd_change": "<string>",
"total_supply": "<string>",
"total_supply_formatted": "<string>",
"percentage_relative_to_total_supply": 123
}
],
"page": "2",
"page_size": "100",
"block_number": "13680123",
"cursor": "<string>"
}Tokens
Token Balances
Fetch ERC20 and native token balances for a given wallet address, including their USD prices. Each token returned includes on-chain metadata, as well as off-chain metadata, logos, spam status and more. Additional options to exclude spam tokens, low-liquidity tokens and inactive tokens.
GET
/
wallets
/
{address}
/
tokens
Get token balances with prices by wallet address
curl --request GET \
--url https://deep-index.moralis.io/api/v2.2/wallets/{address}/tokens \
--header 'X-API-Key: <api-key>'import requests
url = "https://deep-index.moralis.io/api/v2.2/wallets/{address}/tokens"
headers = {"X-API-Key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-API-Key': '<api-key>'}};
fetch('https://deep-index.moralis.io/api/v2.2/wallets/{address}/tokens', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://deep-index.moralis.io/api/v2.2/wallets/{address}/tokens",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-API-Key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://deep-index.moralis.io/api/v2.2/wallets/{address}/tokens"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-API-Key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://deep-index.moralis.io/api/v2.2/wallets/{address}/tokens")
.header("X-API-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://deep-index.moralis.io/api/v2.2/wallets/{address}/tokens")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-API-Key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"result": [
{
"name": "<string>",
"symbol": "<string>",
"decimals": 123,
"balance": "<string>",
"possible_spam": true,
"usd_price": "<string>",
"usd_price_24hr_percent_change": "<string>",
"usd_price_24hr_usd_change": "<string>",
"usd_value": 123,
"portfolio_percentage": 123,
"balance_formatted": "<string>",
"native_token": true,
"token_address": "<string>",
"logo": "<string>",
"thumbnail": "<string>",
"verified_contract": true,
"usd_value_24hr_usd_change": "<string>",
"total_supply": "<string>",
"total_supply_formatted": "<string>",
"percentage_relative_to_total_supply": 123
}
],
"page": "2",
"page_size": "100",
"block_number": "13680123",
"cursor": "<string>"
}Seeing spam tokens or inflated USD values? Set
exclude_spam, min_pair_side_liquidity_usd and max_token_inactivity. They’re all off by default. See Accurate Net Worth & Token Balances for recommended values.Path Parameters
Query Parameters
The chain to query
Available options:
eth, 0x1, sepolia, 0xaa36a7, polygon, 0x89, bsc, 0x38, bsc testnet, 0x61, avalanche, 0xa86a, cronos, 0x19, arbitrum, 0xa4b1, chiliz, 0x15b38, gnosis, 0x64, base, 0x2105, base sepolia, 0x14a34, optimism, 0xa, polygon amoy, 0x13882, linea, 0xe708, moonbeam, 0x504, moonriver, 0x505, flow, 0x2eb, flow-testnet, 0x221, ronin, 0x7e4, ronin-testnet, 0x31769, lisk, 0x46f, pulse, 0x171, sei-testnet, 0x530, sei, 0x531, monad, 0x8f Example:
"eth"
Response
200 - application/json
Returns token balances with prices for a specific address

