개발 관련 지식

🧠 Web3 지갑 하나로 모든 ERC-20 토큰 조회하는 방법 (Alchemy & Covalent API 활용)

JiriJin 2025. 7. 4. 13:02

내 이더리움 지갑 주소는 하나인데…
내가 가진 수십 개의 ERC-20 토큰을 어떻게 한 번에 조회할 수 있을까?

Metamask나 Etherscan으로 하나씩 보는 것도 한계가 있죠.
특히 Web3 기반 앱을 개발 중이라면 사용자의 지갑에서 모든 토큰 목록과 잔액을 자동으로 불러오는 기능이 필수입니다.

이번 포스트에서는 Alchemy APICovalent API를 이용해
지갑 주소 하나로 모든 ERC-20 토큰을 한 번에 조회하는 방법을 소개합니다.

 

스테이블 코인에 대해 궁금하시다면 아래 링크를 참조해주세요.

2025.07.03 - [IT 관련 지식] - 💰 스테이블 코인이란? 변동성을 잡은 암호화폐의 핵심

 


✅ 1. 왜 직접 구현하면 안 되는가?

ERC-20 토큰은 수천 개가 넘고, 각 토큰은 contract가 다릅니다.
직접 스마트 컨트랙트로 하나하나 호출해서 잔액을 조회하는 방식은 비효율적이고, Gas 비용과 속도 문제도 큽니다.

따라서 토큰 인덱싱 API를 제공하는 외부 API 서비스가 필요합니다.


✅ 2. Alchemy Token API

  • 장점: 안정적이고 빠름, Polygon 등 멀티체인 지원
  • 단점: 일부 고급 기능은 유료

📦 예제

 
GET https://dashboard.alchemy.com/api/token-balances/v2/:address
{
  "address": "0x1234...",
  "tokenBalances": [
    {
      "contractAddress": "0x6b175474e89094c44da98b954eedeac495271d0f",  // DAI
      "tokenBalance": "123456000000000000000"
    },
    ...
  ]
}

💡 팁:

  • Alchemy SDK로 쉽게 사용 가능
  • getTokenMetadata()로 심볼, 이름, 이미지까지 조회 가능

✅ 3. Covalent API

  • 장점: 쉬운 RESTful 방식, 무료 사용 가능, DeFi/NFT 정보까지 가능
  • 단점: 일부 체인 지원 제한

📦 예제

 
GET https://api.covalenthq.com/v1/1/address/0x.../balances_v2/?key=YOUR_API_KEY
 
{
  "data": {
    "items": [
      {
        "contract_name": "Tether USD",
        "contract_ticker_symbol": "USDT",
        "balance": "145000000",
        "quote": 145.0
      },
      ...
    ]
  }
}​

💡 팁:

  • API 키 발급은 무료 (covalenthq.com)
  • ERC-20, NFT, DeFi까지 한번에 조회 가능

✅ 4. 어떤 API를 선택해야 할까?

항목AlchemyCovalent
응답 속도 매우 빠름 빠름
지원 체인 Ethereum, Polygon 등 Ethereum, BSC, Avalanche 등
NFT/DeFi 지원 별도 API 필요 통합 지원
무료 사용 한도 월 300K 월 200K
추천 대상 개발자 / 대규모 서비스 개인 프로젝트 / 간단한 뷰어
 

✅ 5. React에서 ERC-20 토큰 한 번에 불러오기 예제 (Alchemy)

import { Alchemy, Network } from "alchemy-sdk";

const config = {
  apiKey: "YOUR_API_KEY",
  network: Network.ETH_MAINNET,
};

const alchemy = new Alchemy(config);

const fetchTokens = async (address) => {
  const balances = await alchemy.core.getTokenBalances(address);
  return balances.tokenBalances;
};​

✅ 마무리

Web3 지갑의 핵심은 단순히 주소를 연결하는 것이 아니라, 사용자의 자산을 정확하게 파악하는 것입니다.

지갑 하나만 있으면,

  • 모든 ERC-20 토큰의 잔액
  • 해당 토큰의 심볼, 이름, 로고
  • 심지어 현재 가격까지 조회할 수 있습니다.

📌 지금 바로 Alchemy 또는 Covalent API를 연동해 나만의 Web3 자산 뷰어를 만들어보세요!

 

반응형