PoCs

Moralis — API로 지갑 스냅샷 조회

Moralis Wallet API로 특정 주소의 잔고·순자산 조회.

아직 만들지 않았습니다

이 페이지는 카드에 적힌 내용을 펼쳐 보여줄 뿐입니다 — 돌아가는 코드도, 열어볼 데모도 아직 없습니다. 무엇을 왜 만들려는지가 아래에 있습니다.

어떻게 보나

서비스 — 2026-08-03 서비스 탐방 트랙 (39/113: Moralis).

기술 노트

각 항목이 실제로 무엇을 보여주고 어떻게 동작하는지 — 위 카드보다 자세한 기술 설명입니다.

Moralis — API로 지갑 스냅샷 조회준비 중

목적: 크립토 도구에서 흔히 마주치는 build-vs-buy 판단을 빠르게 검증합니다 — "이 지갑이 뭘 들고 있는가"에 답하려고 이벤트 로그·잔고 변화를 직접 인덱싱하는 대신, Moralis 같은 호스팅 인덱싱 API가 호출 한 번으로 답을 줍니다.

동작 방식: 계획: 서버 라우트가 서버에 보관된 API 키로 Moralis Wallet API(순자산·토큰 잔고 엔드포인트)를 호출해, 방문자가 입력한 임의 주소에 대한 간단한 포트폴리오 스냅샷을 보여줍니다 — 읽기 전용이며 지갑 연결이 필요 없습니다. 아직 미구현.

관련 코드:
"""Moralis Wallet API: fetch a mock wallet snapshot (token balances) and
compute a simple portfolio summary using mock prices, instead of indexing
chain data yourself.
"""

def mock_moralis_get_wallet_tokens(address):
    # Simulates what Moralis's Wallet API would return for token balances.
    return {
        "address": address,
        "tokens": [
            {"symbol": "ETH", "balance": 1.85},
            {"symbol": "USDC", "balance": 2500.0},
            {"symbol": "LINK", "balance": 120.0},
        ],
    }


MOCK_PRICES_USD = {"ETH": 3200.0, "USDC": 1.0, "LINK": 14.5}


def summarize_portfolio(snapshot, prices):
    rows = []
    total = 0.0
    for token in snapshot["tokens"]:
        price = prices.get(token["symbol"], 0.0)
        value = token["balance"] * price
        total += value
        rows.append((token["symbol"], token["balance"], price, value))
    return rows, total


address = "0xA1b2C3d4E5f6789012345678901234567890AbCd"
snapshot = mock_moralis_get_wallet_tokens(address)
print(f"wallet snapshot for {snapshot['address']}:")

rows, total = summarize_portfolio(snapshot, MOCK_PRICES_USD)
for symbol, balance, price, value in rows:
    print(f"  {symbol:5s} balance={balance:>10.4f}  price=${price:>8.2f}  value=${value:>10.2f}")

print(f"\ntotal portfolio value: ${total:,.2f}")

docs/code/pocs/moralis-wallet-api.py