JSFiddle - React, Tailwind, and code Playground

CSS

body {
    font-family: Arial, sans-serif;
    margin: 20px;
  }
  h1 {
    color: #333;
  }
  .wallet-balance {
    margin-bottom: 10px;
  }
  .tag {
    background-color: #4CAF50;
    color: white;
    padding: 2px 6px;
    border-radius: 4px;
    font-size: 0.8em;
    margin-left: 10px;
  }
  .balance-value {
    font-weight: bold;
    color: #333;
  }
  .deposit-change {
    font-size: 0.9em;
    margin-left: 10px;
  }
  .kyb-total {
    margin-bottom: 20px;
    font-size: 1.2em;
    font-weight: bold;
    color: #4CAF50;
  }

JavaScript

const walletAddresses = [
  { name: "OKX", address: "GALYJFJ5SVD45FBWN2GT4IW67SEZ3IBOFSBSPUFCWV427NBNLG3PXEQU", tag: "KYB" },
  { name: "BitGet", address: "GDFNWH6ZFJVHJDLBMNOUT35X4EEKQVJAO3ZDL4NL7VQJLC4PJOQFWJ75", tag: "KYB" },
  { name: "Gate.Io", address: "GBC6NRTTQLRCABQHIR5J4R4YDJWFWRAO4ZRQIM2SVI5GSIZ2HZ42RINW", tag: "KYB" },
  { name: "Neznámá 1", address: "GDIRB4VB4PRARM27S6W3J5MCJGDUPRHCUQVBQZ4NADRGAQEUZNMRZNFL", tag: "" },
  { name: "Neznámá 2", address: "GAAVOAX7XLFJAKRMSWMJQJHJCELV6BSGK2XKPCOPMXCIVITER7NZBCPJ", tag: "" },
  { name: "TELTLK", address: "GBU7PR3VSIWZGQZYOHP6KEUEBJPX4HYN6FMHDB5VQNJ2NNVCWU4D5ANE", tag: "" },
  { name: "PionexUS", address: "GD24QVE4R42E4XRDF6T5IN6UAQLD2WN7OQGUC2FBHFUUZM7GLE4KG6YA", tag: "KYB" },
 { name: "PionexUS-2", address: "GDL66HS4YTULXZ7NY7TZRUPCVD3BMANUIZUPCXU5HG46CVMI3YHBBWB6", tag: "KYB" },
  { name: "MEXC", address: "GD5HGPHVL73EBDUD2Z4K2VDRLUBC4FFN7GOBLKPK6OPPXH6TED4TRK73", tag: "KYB" },
  { name: "Neznámá 3", address: "GDJYPX7HSZ5XZYNBJIWV6KCVV6RGMCDUBH3FTJL22TOGPNFQI6LN2JBJ", tag: "" },
{ name: "OKX-2", address: "GAAVOAX7XLFJAKRMSWMJQJHJCELV6BSGK2XKPCOPMXCIVITER7NZBCPJ", tag: "KYB" },
];

let previousBalances = {};
let totalKYBBalance = 0;

function getBalance(wallet) {
  const apiUrl = `https://api.mainnet.minepi.com/accounts/${wallet.address}`;

  fetch(apiUrl)
    .then(response => {
      if (!response.ok) {
        throw new Error(`HTTP error! status: ${response.status}`);
      }
      return response.json();
    })
    .then(data => {
      if (data && data.balances && data.balances.length > 0) {
        const nativeBalance = data.balances.find(balance => balance.asset_type === "native");
        if (nativeBalance) {
          const currentBalance = parseFloat(nativeBalance.balance);
          const previousBalance = previousBalances[wallet.address];
          const depositChange = previousBalance ? currentBalance - previousBalance : 0;
          console.log(`Balance for ${wallet.name}...