Concepts · 9 min read

ERC-8056: how tokenized stocks split onchain

On Friday June 26, 2026 at 20:50 UTC, a token contract on Robinhood Chain announced that its multiplier would double, effective Monday at 13:30 UTC. That is 9:30 AM in New York, the moment the stock market opens. The announcement is a single log event, and it is the first real look at how tokenized equities handle corporate actions: not by rewriting balances, but through ERC-8056, a standard where one number scales everything. This guide explains the mechanism and reads the first multiplier changes ever recorded, straight from the robinhood-mainnet dataset.

Updated 2026-07-02 · By the SQD team

1. What a split does to a token

A tokenized stock is an ERC-20 whose supply represents shares of a real instrument, which works cleanly right up until the instrument does something shares do and tokens do not: split. In a 2:1 stock split every holder suddenly owns twice as many shares at half the price. A stock dividend adds a fractional share to every position. Nothing moved, nobody traded, but every quantity in the system changed meaning overnight.

An ERC-20 has two bad options for representing that. Mint new tokens to every holder, which costs gas per holder and floods the transfer history with fake activity. Or rebase, rewriting balanceOf in place the way stETH does, which silently breaks every contract, pool, and indexer that assumed balances only change on transfers. Tokenized equities needed a third option, and the one Robinhood shipped is ERC-8056, the Scaled UI Amount Extension. It is the EVM sibling of the scaled-UI-amount idea Solana ships in Token-2022, and it is about to matter to anyone indexing real-world assets.

2. The ERC-8056 design

The design freezes the ledger and scales the lens. Raw balances, raw transfer amounts, and totalSupply() never change for a corporate action. Instead the contract exposes one public number, uiMultiplier(), an 18-decimal fixed-point factor, and defines the effective share amount as raw amount times multiplier. A 2:1 split is one storage write: set the multiplier to 2. Every balance on the chain doubles in effective terms at the same instant, with no per-holder writes and no rewritten history.

RAW LEDGER · FROZEN AT A SPLIT 0.7404 WEEK Transfer · balanceOf · totalSupply × 2.0062 uiMultiplier() EFFECTIVE AMOUNT 1.4854 WEEK what apps and analytics must show
The two layers, with real numbers: a wallet's raw 0.7404 WEEK is 1.4854 effective units at today's 2.0062 multiplier.

The trade-off is explicit: the chain's raw numbers are no longer the user-facing numbers. That is fine for custody (raw math still balances to the wei) but it moves the burden onto everything downstream. Wallets, dashboards, and indexers must apply the multiplier, and they must know when it changed. Which is why the interesting part of ERC-8056 is not the function, it is the events.

3. The events, with real signatures

An ERC-8056 token emits three events that matter. The standard ERC-20 Transfer stays untouched, in raw units, so existing tooling keeps working. Alongside it, every movement also emits TransferWithScaledUI(from, to, value, uiValue), carrying the raw and the multiplier-adjusted amount in one log. On Robinhood Chain the pairing is exact: TSLA has emitted 50 of each, GOOGL 20 of each, NVDA 15 of each, and so on across every stock token. And when the multiplier itself moves, the contract emits the event this article is really about:

event UIMultiplierUpdated(
uint256 oldMultiplier, // 18-decimal fixed point
uint256 newMultiplier,
uint256 effectiveAtTimestamp
)
topic0 = 0x2205df4534432b2f60654a3fdb48737ffdaf3e9edb1a498bd985bc026b15b055

Because everything is a log, corporate actions are one topic filter away on SQD's Portal. This query returns every multiplier change in the chain's history, for all tokens at once:

POST https://portal.sqd.dev/datasets/robinhood-mainnet/stream
x-api-key: <your key>
{
"type": "evm",
"fromBlock": 0,
"logs": [{
"topic0": ["0x2205df4534432b2f60654a3fdb48737ffdaf3e9edb1a498bd985bc026b15b055"]
}],
"fields": {
"block": { "number": true, "timestamp": true },
"log": { "address": true, "data": true }
}
}

Run it today and exactly one contract answers: 0xc93a…099f, the tokenized Roundhill Weekly T-Bill ETF, ticker WEEK. Four events. They are, as far as the chain records, the first multiplier changes ever applied to a live tokenized instrument, and they are worth reading one by one.

4. Four multiplier updates, read from the logs

Block Emitted (UTC) Change Effective (UTC)
154,326Jun 23, 14:55×1 → ×2Jun 23, 14:58
154,448Jun 23, 15:10×2 → ×1Jun 23, 15:13
176,471Jun 24, 22:03×1 → ×1.003091Jun 24, 22:10
242,671Jun 26, 20:50×1.003091 → ×2.006183Jun 29, 13:30 (Mon 9:30 New York)

The sequence tells its own story. On June 23 the multiplier was doubled and rolled back within fifteen minutes, which reads like a dress rehearsal on the least-held instrument on the chain. The next day came a small one, plus 0.309 percent, the size of an income distribution rather than a split, paid by scaling every position up instead of sending cash. Then the real thing: on Friday evening the contract announced an exact doubling of the current multiplier, effective 65 hours later at Monday 13:30 UTC. That is 9:30 AM in New York. Whoever operates these tokens schedules corporate actions to land at the market open, and the schedule itself is public data the moment the event is emitted.

Here is that Friday announcement, raw. Three 32-byte words: old multiplier 1.003091262135922330, new multiplier 2.006182524271844660, effective at 1782739800:

{
"header": { "number": 242671, "timestamp": 1782507051 },
"logs": [{
"address": "0xc93a8c440cea26d7445df01729f193b27965099f",
"topics": ["0x2205df4534432b2f60654a3fdb48737ffdaf3e9edb1a498bd985bc026b15b055"],
"data": "0x0000000000000000000000000000000000000000000000000debb23034e8ee9a
0000000000000000000000000000000000000000000000001bd7646069d1dd34
000000000000000000000000000000000000000000000000000000006a427358"
}]
}
WEEK · uiMultiplier, FROM UPDATE EVENTS ALONE ×2.006182524 ×1.0 ×1.5 ×2.0 announced Friday 20:50 effective Monday 9:30 New York ×2 applied 14:55, rolled back 15:10 +0.309% Jun 23 Jun 24 Jun 25 Jun 26 Jun 27 Jun 28 Jun 29 Jun 30
The WEEK token's multiplier, reconstructed purely from UIMultiplierUpdated events. The open dot is the Friday announcement; the shaded span is the 65-hour gap before it took effect at the Monday open.

The transfer stream confirms the mechanism from the other side. WEEK transfers before June 24 carry value equal to uiValue; every transfer after the 0.309 percent adjustment carries a uiValue exactly 1.003091 times the raw value. And uiMultiplier() on the contract reads 2006182524271844660 today, the doubled value, even though no transfer has printed since it took effect. The view already scales; the history never will.

5. What breaks if you ignore it

Everything built on raw amounts silently drifts the moment a multiplier moves. The failure is already live on Robinhood Chain: WEEK's raw supply, summed from mints minus burns, is 8.64 tokens, but at today's 2.006 multiplier the effective float is 17.33 units. A wallet we profiled in the tokenized-stocks guide holds 0.7404 raw WEEK; report that number and you understate the position by half. Price a WEEK trade by dividing USDG paid by raw tokens received and the implied unit price is double the real one.

The equity tokens make the stakes obvious. TSLA and NVDA both read a multiplier of exactly 1.0 right now, so raw equals shares and every chart in the tokenized-stocks guide is exact. The first time Tesla splits, that stops being true retroactively for any pipeline that never modeled the multiplier: supply charts flatten where they should double, cost-basis math breaks at the split boundary, and holder balances disagree with the broker's app by exactly the split ratio. The fix is one factor, applied at read time: raw sums times the multiplier in effect at that timestamp, or skip the arithmetic and index uiValue from TransferWithScaledUI, where the contract has already done it. A real pair from the stream, after the 0.309 percent adjustment:

{
"header": { "number": 188118, "timestamp": 1782369974 },
"logs": [{
"address": "0xc93a8c440cea26d7445df01729f193b27965099f",
"topics": [
"0x37e7f0db430edc9dd31bc66f25f8449353aa0818f503b906747dd8f286cd3802",
"0x000000000000000000000000214753a212c0b3d6fa2445a50fe92e0b196b6434",
"0x000000000000000000000000d21b22fdf14342bee84808c23c5a40d7e525b2ac"
],
"data": "0x00000000000000000000000000000000000000000000000000038c505b56979c
00000000000000000000000000000000000000000000000000038f1f29b37b2f"
}]
}

Two words in the data: raw 998701687805852 and adjusted 1001788936518447. Divide them and the multiplier of the day falls out, 1.003091, which is a useful property in itself: the transfer stream double-checks the update stream, event by event.

6. Who implements it today

Every tokenized instrument on Robinhood Chain ships the extension. Twenty-five contracts have live transfer activity, each pairing Transfer with TransferWithScaledUI one for one: the mega-caps (TSLA, NVDA, AAPL, MSFT, AMZN, GOOGL, META), crypto-adjacent names (COIN, CRCL), broad ETFs (SPY, QQQ), newer listings (AMD, PLTR, INTC, ORCL, BABA, MU, SNDK, CRWV, BE, USAR), commodity and income funds (SLV, USO, SGOV), and WEEK, the Roundhill Weekly T-Bill ETF whose weekly-distribution design makes it the natural first user of the multiplier. A twenty-sixth, the SpaceX token SPCX, is deployed from the same Stock implementation but has yet to record a transfer. Contract addresses for the majors are in the tokenized-stocks guide.

Nothing about the extension is Robinhood-specific. Any issuer of tokenized equities on any EVM chain faces the same corporate-action problem, and the scaled-UI answer travels: one multiplier, two transfer events, one update event with a schedule. When the next issuer adopts it, the indexing pattern in this guide carries over unchanged.

7. Corporate-action data with SQD

Everything in this guide came out of two topic filters on the robinhood-mainnet dataset: one for UIMultiplierUpdated, one for TransferWithScaledUI. SQD's Portal serves both from genesis with real-time streaming at the head, so a pipeline can hold the current multiplier per token, apply it at read time, and see the next corporate action the moment it is announced rather than when it takes effect. With the Pipes SDK that is a small state table beside the transfers you are already indexing.

Robinhood Chain is currently a private SQD dataset, available to enterprise clients with a provisioned API key. If you are building on tokenized equities and want the data, reach out to the team, and see how tokenized assets feed products on the RWA solution page.

Frequently asked questions

What is ERC-8056?
ERC-8056 is the Scaled UI Amount Extension, an ERC-20 extension used by tokenized stocks to handle corporate actions such as splits and stock dividends. The contract keeps raw balances and total supply frozen and exposes a uiMultiplier() that scales the effective share amount. Robinhood Chain's stock tokens implement it, and each token emits a TransferWithScaledUI event alongside every Transfer, carrying both the raw and the multiplier-adjusted value.
Does a stock split change my token balance?
Not the raw balance. Under ERC-8056, balanceOf() and totalSupply() do not move when a split happens. Instead the contract's uiMultiplier() changes, and every application is expected to display raw balance times multiplier. After a 2:1 split your wallet holds the same raw amount but twice the effective shares, and the onchain UIMultiplierUpdated event is the only record that anything happened.
How is ERC-8056 different from a rebasing token?
A rebasing token such as stETH rewrites every holder's balance in place, which breaks integrations that cache balances or hold tokens in pools. ERC-8056 does the opposite: raw accounting never changes, and one public number, the multiplier, scales all of them at read time. That keeps custody math, allowances, and historical Transfer events stable while still representing the corporate action.
How do I track tokenized-stock corporate actions onchain?
Subscribe to the UIMultiplierUpdated event. It carries the old multiplier, the new multiplier, and an effectiveAt timestamp, and it can be announced ahead of time: the first real 2:1 change on Robinhood Chain was emitted on a Friday evening with an effective time of Monday 13:30 UTC, exactly 9:30 AM New York, the market open. Indexing that one event stream gives you every split and dividend adjustment with its schedule.
Which tokens implement ERC-8056?
On Robinhood Chain, every tokenized equity and ETF: TSLA, NVDA, AAPL, MSFT, AMZN, GOOGL, META, COIN, SPY, QQQ, plus newer listings such as AMD, PLTR, INTC, ORCL, BABA, CRCL, SLV, USO, SGOV, and the Roundhill Weekly T-Bill ETF (WEEK). Twenty-five have live transfer activity and each pairs Transfer with TransferWithScaledUI one for one. The pattern generalizes: any future issuer of tokenized equities on an EVM chain can adopt the same extension.
Why do supply and portfolio numbers break without the multiplier?
Because raw amounts stop meaning shares the moment a multiplier changes. Summing raw mints minus burns gives token units, and dividing by them prices the wrong quantity. On Robinhood Chain the WEEK token already trades at a multiplier of about 2.006, so a raw-only indexer understates every WEEK position by half. The fix is one factor: multiply raw sums by uiMultiplier(), or index the uiValue field of TransferWithScaledUI directly.

Building on real-world assets?

See how tokenized equities, treasuries, and funds feed RWA products on the RWA solution page.