> ## Documentation Index
> Fetch the complete documentation index at: https://docs.etherscan.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Address Page

> The endpoints behind an address page on etherscan.io.

export const EndpointShowcase = ({image, alt, items}) => {
  const [active, setActive] = useState(null);
  const [selected, setSelected] = useState(null);
  const current = active != null ? active : selected;
  const accent = "#0784C3";
  const PAD = 7;
  const epHref = ep => ep.href || (ep.slug ? "/api-reference/endpoint/" + ep.slug : null);
  const tierBadge = tier => <span style={{
    display: "inline-block",
    verticalAlign: "middle",
    fontSize: "9px",
    fontWeight: 700,
    lineHeight: 1.35,
    letterSpacing: "0.04em",
    textTransform: "uppercase",
    padding: "0.15em 0.45em",
    borderRadius: "0.35em",
    background: "#0784C3",
    color: "#ffffff",
    whiteSpace: "nowrap"
  }}>
      {tier}
    </span>;
  const scrollToItem = i => {
    setSelected(i);
    if (typeof document !== "undefined") {
      const el = document.getElementById("eps-" + i);
      if (el && el.scrollIntoView) el.scrollIntoView({
        behavior: "smooth",
        block: "center"
      });
    }
  };
  return <div>
      {}
      <div className="not-prose">
        <div className="relative w-full overflow-hidden rounded-xl border border-zinc-950/10 dark:border-white/10">
          <img src={image} alt={alt} className="block w-full select-none" />
          {items.map((it, i) => it.region ? <button key={i} type="button" onMouseEnter={() => setActive(i)} onMouseLeave={() => setActive(null)} onClick={() => scrollToItem(i)} aria-label={it.label} className="absolute rounded-md transition-all duration-150 cursor-pointer" style={{
    left: "calc(" + it.region.x + "% - " + PAD + "px)",
    top: "calc(" + it.region.y + "% - " + PAD + "px)",
    width: "calc(" + it.region.w + "% + " + PAD * 2 + "px)",
    height: "calc(" + it.region.h + "% + " + PAD * 2 + "px)",
    border: "2px solid " + (current === i ? accent : "rgba(7,132,195,0.35)"),
    background: current === i ? "rgba(7,132,195,0.16)" : "transparent",
    boxShadow: current === i ? "0 0 0 3px rgba(7,132,195,0.25)" : "none"
  }}>
                <span className="absolute -top-2.5 -left-2.5 w-5 h-5 rounded-full text-white text-[11px] font-semibold flex items-center justify-center shadow" style={{
    background: accent,
    opacity: current === i ? 1 : 0.75
  }}>
                  {i + 1}
                </span>
              </button> : null)}
        </div>

        <p className="mt-2 text-[11px] text-zinc-400 dark:text-zinc-500">
          Hover an area to find it on the page. Select it to jump to the endpoints below.
        </p>
      </div>

      {}
      <ol>
        {items.map((it, i) => {
    const isOn = current === i;
    return <li key={i} id={"eps-" + i} onMouseEnter={() => setActive(i)} onMouseLeave={() => setActive(null)} className="scroll-mt-24">
              <strong className={isOn ? "text-[#0784C3]" : undefined}>{it.label}</strong>
              {it.note ? " (" + it.note + ")" : null}
              <ul>
                {(it.endpoints || []).map((ep, j) => <li key={j}>
                    <a href={epHref(ep)}>{ep.path}</a>
                    {ep.tier ? <> {tierBadge(ep.tier)}</> : null}
                    {ep.desc ? ": " + ep.desc : null}
                  </li>)}
                {it.explore ? <li>
                    {it.explore.pre}
                    <a href={it.explore.href}>{it.explore.linkText}</a>
                    {it.explore.post}
                  </li> : null}
              </ul>
            </li>;
  })}
      </ol>
    </div>;
};

An [address page](https://etherscan.io/address/vitalik.eth) on etherscan.io is built from the Accounts, Stats, and Nametag endpoints. The list below maps each part of the page to the endpoint behind it. One API key works across all 60+ [supported chains](/supported-chains); set `chainid` to choose one.

export const items = [{
  label: "Name tag and labels",
  region: {
    x: 1.5,
    y: 26.5,
    w: 47,
    h: 4.5
  },
  endpoints: [{
    path: "/nametag/getaddresstag",
    slug: "getaddresstag",
    tier: "PRO",
    desc: "Entity name and labels beside the address."
  }],
  explore: {
    pre: "Explore the ",
    linkText: "Metadata CSV",
    href: "/metadata/introduction#metadata-csv-enterprise",
    post: " for the full multichain dataset of labeled addresses."
  }
}, {
  label: "ETH balance",
  region: {
    x: 2.5,
    y: 39.5,
    w: 19,
    h: 6
  },
  endpoints: [{
    path: "/account/balance",
    slug: "balance",
    desc: "Native token balance in the Overview."
  }, {
    path: "/account/balancehistory",
    slug: "balancehistory",
    tier: "PRO",
    desc: "Historical ETH balance at a given block."
  }]
}, {
  label: "ETH value",
  region: {
    x: 2.5,
    y: 48.5,
    w: 18,
    h: 6
  },
  endpoints: [{
    path: "/stats/ethprice",
    slug: "ethprice",
    desc: "ETH price behind the USD value."
  }]
}, {
  label: "Token holdings",
  region: {
    x: 2.5,
    y: 57,
    w: 30,
    h: 8.5
  },
  endpoints: [{
    path: "/account/addresstokenbalance",
    slug: "addresstokenbalance",
    tier: "PRO",
    desc: "Full ERC-20 holdings and portfolio value."
  }, {
    path: "/account/tokenbalance",
    slug: "tokenbalance",
    desc: "A single ERC-20 token balance."
  }]
}, {
  label: "Funded by",
  region: {
    x: 35,
    y: 57.5,
    w: 19,
    h: 6.5
  },
  endpoints: [{
    path: "/account/fundedby",
    slug: "fundedby",
    tier: "PRO",
    desc: "Address that first funded this account."
  }]
}, {
  label: "Transactions",
  region: {
    x: 1.5,
    y: 72,
    w: 8,
    h: 5
  },
  endpoints: [{
    path: "/account/txlist",
    slug: "txlist",
    desc: "Normal transaction history."
  }]
}, {
  label: "Internal Transactions",
  region: {
    x: 10.5,
    y: 72,
    w: 11.5,
    h: 5
  },
  endpoints: [{
    path: "/account/txlistinternal",
    slug: "txlistinternal",
    desc: "Internal, contract-driven transfers."
  }]
}, {
  label: "Token Transfers (ERC-20)",
  region: {
    x: 23,
    y: 72,
    w: 14.5,
    h: 5
  },
  endpoints: [{
    path: "/account/tokentx",
    slug: "tokentx",
    desc: "ERC-20 token transfers."
  }]
}, {
  label: "NFT Transfers",
  region: {
    x: 38.5,
    y: 72,
    w: 8,
    h: 5
  },
  endpoints: [{
    path: "/account/tokennfttx",
    slug: "tokennfttx",
    desc: "ERC-721 (NFT) transfers."
  }, {
    path: "/account/token1155tx",
    slug: "token1155tx",
    desc: "ERC-1155 token transfers."
  }]
}, {
  label: "Assets",
  region: {
    x: 66.5,
    y: 72,
    w: 5,
    h: 5
  },
  endpoints: [{
    path: "/account/addresstokennftbalance",
    slug: "addresstokennftbalance",
    tier: "PRO",
    desc: "NFT holdings for the address."
  }, {
    path: "/account/addresstokennftinventory",
    slug: "addresstokennftinventory",
    tier: "PRO",
    desc: "NFT inventory for the address."
  }]
}];

<EndpointShowcase image="https://mintcdn.com/etherscan/PrmCI8xWhLgr8YZ-/images/address-page.png?fit=max&auto=format&n=PrmCI8xWhLgr8YZ-&q=85&s=077ab5d51798e8ef44808889d83c08fb" alt="Etherscan address page" items={items} width="2268" height="1388" data-path="images/address-page.png" />
