Robinhood Chain 株式トークン:1 つの API key で乗数、保有者、日次アクティビティを読み取る

Robinhood Chain 株式トークンの乗数の仕組みを理解し、残高を株数に換算し、eth_call 経由で uiMultiplier を読み取り、Data API を介して保有者と日次アクティビティを追跡します。

データはオンチェーンの公開記録およびスマートコントラクトの状態から取得されています。情報提供のみを目的としており、投資助言を構成するものではありません。株式トークンには管轄区域による制限があります。

Robinhood Chain は、トークン化された米国株式や上場投資信託(ETF)を含む、トークン化された現実世界資産(RWA)をサポートしています。標準的な ERC-20 トークンは残高を 1:1 でマッピングしますが、トークン化株式はコーポレートアクション乗数を導入し、ウォレット残高を変更することなく株式分割や配当調整に対応します。

このガイドでは、株式トークンの乗数がどのように動作するか、生のトークン残高を原資産の株数に換算する方法、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(1 トークンあたりの株数)の比率を定義します:

  • 精度:uiMultiplier() は 18 桁の固定小数点数として表され、1e18 は 1.0 に相当します。
  • 初期値:トークン発行時、乗数は 1e18 に初期化されます(1 トークンが原資産の 1 株を表します)。
  • コーポレートアクション:コーポレートイベント(順株式分割や配当の再投資など)が発生すると、トークンコントラクトは uiMultiplier を更新し、UIMultiplierUpdated(uint256 oldMultiplier, uint256 newMultiplier, uint256 effectiveAtTimestamp) イベントを発行します。

分割時も固定されるトークン残高

株式トークンはリベーストークンではありません。コーポレートアクションの際:

  • ウォレット残高(balanceOf(account))およびトークン総発行量(totalSupply())は変更されません。
  • スケーリング乗数のみが変更されます。

例えば、原資産の株式が 1 株を 2 株にする順株式分割(2-for-1 forward split)を実施した場合:

  • 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 オラクルを読み取るアプリケーションは、乗数調整済みの価格を直接受け取るため、乗数を重ねて適用してはいけません。
  • オフチェーンのメタデータは、Robinhood の REST エンドポイント GET https://api.robinhood.com/rhj/assets を通じても確認でき、currentMultiplier と pendingMultiplier が提供されます。

JSON-RPC eth_call による乗数の読み取り

BlockVectra の Robinhood Chain 向け JSON-RPC エンドポイントを介して、eth_call を使用して任意のトークン化株式の乗数を直接検査できます。

  • 関数:uiMultiplier()
  • 4 バイトの関数セレクター:0xa60bf13d(bytes4(keccak256("uiMultiplier()")))
  • 戻り値の形式:32 バイトの 16 進エンコードされた uint256(18 桁の固定小数点値)

BlockVectra は https://api.blockvectra.com/v1/robinhood_mainnet で Robinhood Chain の JSON-RPC リクエストを処理します。API key は x-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 を、1 つのトークンのメタデータおよび最大 30 日間の日次メトリクスには GET /v1/data/robinhood_mainnet/stocks/{token} を使用します。リクエストパラメータ、レスポンスフィールド、およびサンプルについては、トークン化株式ガイド を参照してください。

規制に関する注意事項

株式トークンは、Robinhood Assets (Jersey) Limited(RHJ)によって発行されたトークン化された債務証券です。目論見書、最終条件、および法域に関する通知については、Robinhood RHJ ドキュメント を参照してください。

次のステップ

最終更新:

このページの目次