Contract addresses

Every tokenized stock address this site tracks, in plain HTML you can copy, script against or search. Each one is re-checked against its issuer's own test every time this page rebuilds.

27 listings · 1 issuer · 1 chain · updated 3 hours ago

Chains

Network Chain ID RPC URL Gas Explorer
Robinhood Chain 4663 https://rpc.mainnet.chain.robinhood.com ETH Blockscout →

Listings

Symbol Issuer Chain Contract address Supply
NVDA Robinhood Robinhood Chain 0xd0601CE157Db5bdC3162BbaC2a2C8aF5320D9EEC 17,200.51 explorer →
SPCX Robinhood Robinhood Chain 0x4a0E65A3EcceC6dBe60AE065F2e7bb85Fae35eEa 14,380.54 explorer →
TSLA Robinhood Robinhood Chain 0x322F0929c4625eD5bAd873c95208D54E1c003b2d 4,297.88 explorer →
AAPL Robinhood Robinhood Chain 0xaF3D76f1834A1d425780943C99Ea8A608f8a93f9 3,304.18 explorer →
SNDK Robinhood Robinhood Chain 0xB90A19fF0Af67f7779afF50A882A9CfF42446400 644.10 explorer →
GOOGL Robinhood Robinhood Chain 0x2e0847E8910a9732eB3fb1bb4b70a580ADAD4FE3 3,058.86 explorer →
AMD Robinhood Robinhood Chain 0x86923f96303D656E4aa86D9d42D1e57ad2023fdC 1,695.18 explorer →
SPY Robinhood Robinhood Chain 0x117cc2133c37B721F49dE2A7a74833232B3B4C0C 1,065.73 explorer →
AMZN Robinhood Robinhood Chain 0x12f190a9F9d7D37a250758b26824B97CE941bF54 3,215.08 explorer →
SGOV Robinhood Robinhood Chain 0x92FD66527192E3e61d4DDd13322Aa222DE86F9B5 7,452.37 explorer →
MSFT Robinhood Robinhood Chain 0xe93237C50D904957Cf27E7B1133b510C669c2e74 1,938.80 explorer →
MU Robinhood Robinhood Chain 0xfF080c8ce2E5feadaCa0Da81314Ae59D232d4afD 1,052.70 explorer →
PLTR Robinhood Robinhood Chain 0x894E1EC2D74FFE5AEF8Dc8A9e84686acCB964F2A 5,028.82 explorer →
META Robinhood Robinhood Chain 0xc0D6457C16Cc70d6790Dd43521C899C87ce02f35 973.63 explorer →
COIN Robinhood Robinhood Chain 0x6330D8C3178a418788dF01a47479c0ce7CCF450b 3,471.92 explorer →
USO Robinhood Robinhood Chain 0xa30FA36Db767ad9eD3f7a60fC79526fB4d56D344 3,706.68 explorer →
QQQ Robinhood Robinhood Chain 0xD5f3879160bc7c32ebb4dC785F8a4F505888de68 741.87 explorer →
SLV Robinhood Robinhood Chain 0x411eFb0E7f985935DAec3D4C3ebaEa0d0AD7D89f 8,950.27 explorer →
INTC Robinhood Robinhood Chain 0xc72b96e0E48ecd4DC75E1e45396e26300BC39681 4,431.42 explorer →
ORCL Robinhood Robinhood Chain 0xb0992820E760d836549ba69BC7598b4af75dEE03 3,644.96 explorer →
CRCL Robinhood Robinhood Chain 0xdF0992E440dD0be65BD8439b609d6D4366bf1CB5 6,918.64 explorer →
CRWV Robinhood Robinhood Chain 0x5f10A1C971B69e47e059e1dC91901B59b3fB49C3 5,300.11 explorer →
USAR Robinhood Robinhood Chain 0xd917B029C761D264c6A312BBbcDA868658eF86a6 27,210.64 explorer →
BE Robinhood Robinhood Chain 0x822CC93fFD030293E9842c30BBD678F530701867 1,781.12 explorer →
BABA Robinhood Robinhood Chain 0xad25Ac6C84D497db898fa1E8387bf6Af3532a1c4 1,843.07 explorer →
QCOM Robinhood Robinhood Chain 0x0f17206447090e464C277571124dD2688E48AEA9 91.11 explorer →
MSTR Robinhood Robinhood Chain 0xec262a75e413fAfD0dF80480274532C79D42da09 112.55 explorer →

Check before you integrate

A token with a matching name or ticker but a different address is not the same product. Each issuer publishes its own test. Robinhood tokens are EIP-1967 beacon proxies over 0xe10b6f6B275de231345c20D14Ab812db62151b00, last checked 2026-07-21. Check the issuer's test, not the ticker.

Advertising space — 728×90 available

The ERC-8056 interface

Robinhood use the Scaled UI Amount extension: a standard ERC-20 plus one contract-level multiplier. These are the functions that matter beyond the ERC-20 basics. Other issuers do not implement this — check the issuer before you assume it is there.

interface IStockToken is IERC20 {
    // ERC-8056 Scaled UI Amount
    function uiMultiplier()        external view returns (uint256); // 1e18 == 1.0
    function balanceOfUI(address)  external view returns (uint256); // may revert on overflow
    function totalSupplyUI()       external view returns (uint256); // may revert on overflow

    // Corporate actions, announced before they take effect
    function newUIMultiplier()     external view returns (uint256);
    function effectiveAt()         external view returns (uint256); // unix seconds

    // Operational state
    function paused()              external view returns (bool);
    function tokenPaused()         external view returns (bool);
    function oraclePaused()        external view returns (bool);
    function terms()               external view returns (string memory);
    function uid()                 external view returns (bytes32);

    event UIMultiplierUpdated(uint256 oldMultiplier, uint256 newMultiplier, uint256 effectiveAt);
    event TransferWithScaledUI(address indexed from, address indexed to, uint256 value, uint256 uiValue);
}

Event topics

Event topic0
UIMultiplierUpdated 0x2205df4534432b2f60654a3fdb48737ffdaf3e9edb1a498bd985bc026b15b055
TransferWithScaledUI 0x37e7f0db430edc9dd31bc66f25f8449353aa0818f503b906747dd8f286cd3802

Reading share-equivalent balances safely

balanceOfUI and totalSupplyUI revert rather than returning a misleading zero when the scaled amount would overflow. That is deliberate in ERC-8056, so treat a revert as "compute it yourself", not as an error:

import { createPublicClient, http, parseAbi } from 'viem'

const abi = parseAbi([
  'function balanceOf(address) view returns (uint256)',
  'function balanceOfUI(address) view returns (uint256)',
  'function uiMultiplier() view returns (uint256)',
])

const client = createPublicClient({
  transport: http('https://rpc.mainnet.chain.robinhood.com'),
})

async function shareBalance(token, wallet) {
  try {
    return await client.readContract({
      address: token, abi, functionName: 'balanceOfUI', args: [wallet],
    })
  } catch {
    const [raw, mult] = await Promise.all([
      client.readContract({ address: token, abi, functionName: 'balanceOf', args: [wallet] }),
      client.readContract({ address: token, abi, functionName: 'uiMultiplier' }),
    ])
    return (raw * mult) / 10n ** 18n
  }
}

A note on event history

Robinhood Chain produces a block roughly every 0.12 seconds, so it passes a million blocks every day and a half, and eth_getLogs on the public RPC returns 429 for practically any range. If you need event history, read it from the explorer API ( https://robinhoodchain.blockscout.com/api/v2/addresses/{address}/logs), which returns decoded logs and paginates, or use a keyed RPC provider.

Free JSON API

Everything on this page is available as static JSON, no key required. Licensed CC BY 4.0 — attribution with a link back is all we ask.

GET https://stocksonchain.io/api/tokens.json          # every stock, with all its listings
GET https://stocksonchain.io/api/tokens/nvda.json     # one stock
GET https://stocksonchain.io/api/events.json          # corporate actions, scheduled and past

Embeddable widgets → · How this data is collected →

Developer FAQ

What are the RPC URLs and chain IDs?

Every chain is listed in the table above with its public RPC and chain ID. Note that eth_getLogs is heavily rate-limited on most public endpoints — read event history from the explorer API, or use a keyed provider.

How do I read a share-equivalent balance?

Only some issuers have one. Where they do, call balanceOfUI(address). It can revert by design when an extreme multiplier would overflow, so always wrap it and fall back to balanceOf(address) * uiMultiplier() / 1e18 computed in a big-integer type.

Is there an on-chain registry of stock tokens?

Not a public one, and issuers render their own token tables client-side, so the addresses are not machine-readable there. This list is maintained by hand and every entry is re-checked on each refresh, plus a daily job that scans each chain for listings we are missing. Take it as JSON from /api/tokens.json.

How do I know an address is genuine?

It depends on the issuer, because each publishes its own test. Robinhood publishes a shared beacon at 0xe10b6f6B275de231345c20D14Ab812db62151b00, and a genuine token is an EIP-1967 proxy over it. Any contract can claim a ticker. Run the issuer's test, which is exactly what our verification script does.