How to get Solana portfolio balance of an address
Step 1: Setup Moralis
Read the article Setting Up Moralis: Getting Started and make sure to finish all the steps. Only after that you can go ahead to complete this guide.
Step 2: Get Solana portfolio balance of an address
In order to get the Solana portfolio balance of a wallet address, Moralis provides you the getPortfolio API endpoint to do so.
Here you'll need two parameters: address and network.
Once you have obtained both the address and network, you can copy the following code:
- index.js (JavaScript)
 - index.ts (TypeScript)
 - index.py (Python)
 
const Moralis = require("moralis").default;
const { SolNetwork } = require("@moralisweb3/common-sol-utils");
const runApp = async () => {
  await Moralis.start({
    apiKey: "YOUR_API_KEY",
    // ...and any other configuration
  });
  const address = "BWeBmN8zYDXgx2tnGj72cA533GZEWAVeqR9Eu29txaen";
  const network = SolNetwork.MAINNET;
  const response = await Moralis.SolApi.account.getPortfolio({
    address,
    network,
  });
  console.log(response.toJSON());
};
runApp();
import Moralis from "moralis";
import { SolNetwork } from "@moralisweb3/common-sol-utils";
const runApp = async () => {
  await Moralis.start({
    apiKey: "YOUR_API_KEY",
    // ...and any other configuration
  });
  const address = "BWeBmN8zYDXgx2tnGj72cA533GZEWAVeqR9Eu29txaen";
  const network = SolNetwork.MAINNET;
  const response = await Moralis.SolApi.account.getPortfolio({
    address,
    network,
  });
  console.log(response.toJSON());
};
runApp();
from moralis import sol_api
api_key = "YOUR_API_KEY"
params = {
    "address": "BWeBmN8zYDXgx2tnGj72cA533GZEWAVeqR9Eu29txaen",
    "network": "mainnet",
}
result = sol_api.account.get_portfolio(
    api_key=api_key,
    params=params,
)
print(result)
Step 3: Run the script
To run the script, enter the following command:
- Shell (JavaScript)
 - Shell (TypeScript)
 - Shell (Python)
 
node index.js
ts-node index.ts
python index.py
In your terminal, you should see the following JSON response:
{
  "tokens": [
    {
      "associatedTokenAddress": "Dpmpwm93Amvj4uEFpYhjv8ZzfpgARq6zxKTi6mrj97gW",
      "mint": "BXWuzb3jEuGsGUe29xdApu8Z3jVgrFbr3wWdsZmLWYk9",
      "amountRaw": "100000000000",
      "amount": "100",
      "decimals": "9"
    }
  ],
  "nfts": [
    {
      "associatedTokenAddress": "AUmHKB9srYgzHW2E5NuEWyG9wp5g4Cbewxurr1geV1iR",
      "mint": "53kauHy6PJx9iykDV9BxpCBbXe2yPwA5tRcKcNDmfCxn",
      "amountRaw": "1",
      "amount": "1",
      "decimals": "0"
    }
  ],
  "nativeBalance": {
    "lamports": "5999980000",
    "solana": "5.99998"
  }
}
Congratulations 🥳 You just got the Solana Portfolio balance of a wallet address with just a few lines of code using the Moralis Solana API!
API Reference
If you want to know more details on the endpoint and optional parameters, check out:
YouTube Tutorial
Support
If you face any trouble following the tutorial, feel free to reach out to our community engineers in our Discord or Forum to get 24/7 developer support.