Robinhood Chain 주식 토큰: 하나의 API key로 승수, 보유자 및 일별 활동 조회하기

Robinhood Chain 주식 토큰 승수를 이해하고, 잔액을 주식 수로 환산하며, eth_call을 통해 uiMultiplier를 읽고, Data API를 통해 보유자 및 일별 활동을 추적하세요.

데이터는 공개된 온체인 기록 및 스마트 컨트랙트 상태에서 파생되며 정보 제공 목적으로만 사용됩니다. 투자 조언에 해당하지 않습니다. 주식 토큰에는 관할권 제한이 적용됩니다.

Robinhood Chain은 토큰화된 미국 주식 및 상장지수펀드(ETF)를 포함한 토큰화된 실물 자산(RWA)을 지원합니다. 표준 ERC-20 토큰은 잔액을 1:1로 매핑하지만, 토큰화된 주식은 지갑 잔액을 변경하지 않고 주식 분할 및 배당 조정을 반영하기 위해 기업 활동 승수(multiplier)를 도입합니다.

이 가이드에서는 주식 토큰 승수의 작동 방식, 원시 토큰 잔액을 기초 주식 수로 환산하는 방법, JSON-RPC eth_call을 사용하여 온체인에서 uiMultiplier를 쿼리하는 방법, BlockVectra Data API를 통해 일일 보유자 및 전송 활동을 검색하는 방법을 설명합니다.

광범위한 네트워크 파라미터, 메서드 정책 및 RPC 설정은 Robinhood Chain 가이드를 참조하세요. 데이터셋에 대한 포괄적인 필드 레퍼런스 및 Compute Unit(CU) 사용 모델은 토큰화 주식 가이드를 참조하세요.

주식 토큰 승수란 무엇인가

Robinhood 주식 토큰은 Robinhood Assets (Jersey) Limited(RHJ)에서 발행한 표준 ERC-20 토큰(소수점 18자리)입니다. 주식 분할 및 재투자 배당과 같은 기업 활동을 처리하기 위해 이러한 컨트랙트는 **ERC-8056 (Scaled UI Amount Extension)**을 구현합니다.

승수(uiMultiplier)는 shares-per-token(토큰당 주식 수) 비율을 정의합니다:

  • 정밀도: uiMultiplier()는 18자리 고정 소수점으로 표시되며, 1e18은 1.0과 같습니다.
  • 초기값: 토큰 발행 시 승수는 1e18로 초기화됩니다(1개 토큰이 1개의 기초 주식을 나타냄).
  • 기업 활동: 기업 활동(예: 액면분할 또는 배당 재투자)이 발생하면 토큰 컨트랙트는 uiMultiplier를 업데이트하고 UIMultiplierUpdated(uint256 oldMultiplier, uint256 newMultiplier, uint256 effectiveAtTimestamp) 이벤트를 발생시킵니다.

분할 시 고정된 토큰 잔액

주식 토큰은 리베이싱(rebasing) 토큰이 아닙니다. 기업 활동이 진행되는 동안:

  • 지갑 잔액(balanceOf(account))과 총 토큰 발행량(totalSupply())은 변경되지 않고 유지됩니다.
  • 스케일링 승수만 변경됩니다.

예를 들어 기초 주식이 2대 1 액면분할을 실행하는 경우:

  • 10개 토큰을 소유한 보유자는 balanceOf에서 계속 10개 토큰을 보유합니다.
  • 컨트랙트는 uiMultiplier를 1.0(1e18)에서 2.0(2e18)으로 업데이트합니다.
  • 이제 각 토큰은 2개의 기초 주식을 나타내므로 보유자는 20주의 실질적인 익스포저를 갖게 됩니다.

잔액을 주식 수로 환산하기

토큰 잔액이 나타내는 기초 주식 수를 계산하려면 ERC-8056 공식을 사용하세요:

underlying shares = raw token amount × uiMultiplier ÷ 1e18

ERC-8056 토큰 컨트랙트는 온체인에서 읽기 전용 헬퍼 함수도 노출합니다:

  • balanceOfUI(address account): 기초 주식 수로 표시된 계정 잔액을 직접 반환합니다(uiMultiplier로 조정됨, 18자리 소수점).
  • totalSupplyUI(): 기초 주식 수로 표시된 총 토큰 공급량을 직접 반환합니다.

또한 토큰 전송 시 TransferWithScaledUI(address indexed from, address indexed to, uint256 value, uint256 uiValue) 이벤트가 발생하여 원시 토큰 수량과 스케일링된 기초 주식 수를 모두 기록합니다.

승수 및 오라클 가격 피드

Robinhood Chain은 각 주식 토큰에 대해 전용 Chainlink 가격 피드(AggregatorV3Interface)를 배포합니다:

  • Chainlink 가격 피드(latestRoundData())에는 이미 승수가 반영되어 있습니다. 이는 1개 토큰의 전체 시장 가격(기초 주식 가격에 승수를 곱한 값)을 반영합니다.
  • 온체인 Chainlink 오라클을 읽는 애플리케이션은 승수가 조정된 가격을 직접 수신하므로 승수를 두 번 적용해서는 안 됩니다.
  • 오프체인 메타데이터는 currentMultiplier 및 pendingMultiplier를 제공하는 Robinhood의 REST 엔드포인트 GET https://api.robinhood.com/rhj/assets를 통해 확인할 수도 있습니다.

JSON-RPC eth_call로 승수 읽기

eth_call을 사용하여 Robinhood Chain에 대한 BlockVectra의 JSON-RPC 엔드포인트를 통해 토큰화된 모든 주식의 승수를 직접 검사할 수 있습니다.

  • 함수: uiMultiplier()
  • 4바이트 함수 선택자: 0xa60bf13d (bytes4(keccak256("uiMultiplier()")))
  • 반환 형식: 32바이트 16진수 인코딩된 uint256 (18자리 고정 소수점 값)

BlockVectra는 https://api.blockvectra.com/v1/robinhood_mainnet에서 Robinhood Chain JSON-RPC 요청을 처리합니다. x-api-key 헤더를 통해 API key를 전달하거나 경로에 추가하세요(https://api.blockvectra.com/v1/robinhood_mainnet/{api_key}).

코드 예제

아래 예제는 Everpure 주식 토큰 컨트랙트(0x1Cdad396DB64BDa184d5182A97Dd9B3C62100b7D)에서 uiMultiplier()를 쿼리합니다:

curl -s "https://api.blockvectra.com/v1/robinhood_mainnet" \
  -H "Content-Type: application/json" \
  -H "x-api-key: $BLOCKVECTRA_API_KEY" \
  -d '{
    "jsonrpc": "2.0",
    "id": 1,
    "method": "eth_call",
    "params": [
      {
        "to": "0x1Cdad396DB64BDa184d5182A97Dd9B3C62100b7D",
        "data": "0xa60bf13d"
      },
      "latest"
    ]
  }'

Data API로 보유자 및 일별 활동 조회하기

BlockVectra Data API는 토큰화된 주식에 대해 사전 인덱싱된 일일 요약을 제공합니다. 일일 활동 리더보드에는 GET /v1/data/robinhood_mainnet/stocks를 사용하고, 한 토큰의 메타데이터와 최대 30일간의 일일 지표에는 GET /v1/data/robinhood_mainnet/stocks/{token}을 사용하세요. 요청 파라미터, 응답 필드 및 예제는 토큰화 주식 가이드를 참조하세요.

규제 관련 참고 사항

주식 토큰은 Robinhood Assets (Jersey) Limited(RHJ)에서 발행한 토큰화된 부채 증권입니다. 투자 설명서, 최종 조건 및 관할권 고지는 Robinhood RHJ 문서를 참조하세요.

다음 단계

최종 수정일:

이 페이지의 내용