The DividendPrimitive.
StockStream is dividend infrastructure for Robinhood Chain. A protocol that captures swap fees atomically via Uniswap V4 hooks and automatically purchases tokenized stock securities, distributing them proportionally to every eligible $STREAM holder every 15 minutes. No claiming. No staking. Stocks just arrive.
Abstract
StockStream is a dividend protocol built natively on Uniswap V4 hooks on Robinhood Chain. It captures a 1% fee on every swap in the ETH/$STREAM pool atomically, inside the same transaction as the swap itself, and uses accumulated ETH to purchase tokenized stock securities (NVDA, AAPL, GOOGL, META) on-chain via Uniswap V4. These tokens are then distributed proportionally to every $STREAM holder every 15 minutes.
The protocol comprises four core contracts, StreamStockToken, StreamStockFeeHook, StockTreasury and StockDistributor, and a fifth permissionless deployment contract, StreamFactory, which enables any token on Robinhood Chain to deploy an identical dividend system in a single transaction.
The fee-capture hook is immutable and has no administrative controls: it cannot be paused, modified or redirected after deployment. The hook fires inside every swap in the ETH/$STREAM pool with no external agent required for fee capture. The distribution layer is keeper-managed, meaning distributions pause if the keeper goes offline but fees continue accumulating and are distributed when the keeper resumes.
Atomic fee capture, hook fires inside the swap transaction, zero external agents.
On-chain stock purchase, ETH buys tokenized stock securities via Uniswap V4.
Automatic distribution, stocks pushed to holder wallets every 15 minutes.
Permissionless infrastructure, StreamFactory deploys full dividend system for any token in 1 tx.
Compound yield, received stock tokens earn their own dividends via uiMultiplier().
Background
Robinhood Chain
Robinhood Chain launched on July 1, 2026 as an Ethereum Layer 2 network built on the Arbitrum stack and operated by Robinhood Markets. By September 2026 it had become one of the highest-volume DeFi networks globally, accounting for over 56% of Uniswap's total trading volume. Daily DEX volume regularly exceeds $500 million, with single-day peaks above $2 billion.
The chain's defining characteristic is the native presence of tokenized stock securities, over 190 tokenized stocks and ETFs representing companies including NVIDIA, Apple, Alphabet and Meta, trading on-chain 24 hours a day, 7 days a week via Uniswap V4 pools. At the time of writing, Robinhood Chain provides a particularly direct environment for composing tokenized equities with DeFi.
Tokenized Stock Securities
Robinhood stock tokens are tokenized debt securities issued by Robinhood Assets (Jersey) Limited, a private limited company incorporated in Jersey that is not subject to prudential supervision. Each token is backed one-to-one by the underlying share held by a US custody partner, but token holders have economic exposure only, no legal or beneficial ownership of the share, no voting rights, no direct relationship with the issuing company. Corporate actions, including dividends and stock splits, may be reflected through the issuer's on-chain multiplier, which changes the shares-per-token relationship while raw token balances remain unchanged. This is a balance-accounting mechanism maintained by the issuer, not a direct dividend payment by StockStream. These tokens are not available to US persons, UK residents, Canadians or Swiss residents. Holders bear both equity price risk and issuer credit risk.
Within these constraints, the tokens provide real economic exposure to equity prices and dividend flows. The uiMultiplier mechanism automatically adjusts token balances when the underlying company pays a dividend or undergoes a stock split, making the tokens responsive to real corporate actions. This mechanism is foundational to StockStream's "dividend on dividend" property described in Section 08.
Uniswap V4 Hooks
Uniswap V4 introduced a hook system allowing custom logic to execute inside swap transactions at specific lifecycle points. Hooks are smart contracts deployed at addresses whose final byte encodes a bitmask of permission flags. The pool manager reads the address to determine which callbacks the hook implements, eliminating a separate registry lookup.
This address encoding requires mining a CREATE2 salt until the computed address ends in the correct byte value. For StockStream, the required flags sum to 204 (0xCC), encoding four active permissions: beforeSwap, afterSwap, beforeSwapReturnDelta and afterSwapReturnDelta.
The critical implication is that fee capture is atomic: the hook fires as part of the swap transaction itself. Because fee capture executes atomically within the swap transaction, there is no separate fee-routing transaction or keeper dependency. If the hook execution reverts, the swap reverts atomically. This is a fundamental security and trust-minimization advantage over off-chain fee routing approaches.
The Problem
Robinhood Chain generates hundreds of millions of dollars in swap fees daily. Absent protocol fees or hook-based fee mechanisms, swap fees accrue to liquidity providers. Token holders, the primary participants driving price discovery and creating the network effects that attract liquidity, receive no share of this value.
Simultaneously, over 190 tokenized stock securities trade on-chain 24/7. These assets represent genuine economic value, dividend streams, price appreciation, corporate action exposure, but remain entirely disconnected from the broader token ecosystem. No mechanism exists to route swap-generated value into equity exposure for token holders.
Prior art in dividend tokens, notably $INDEX on Robinhood Chain, demonstrated that the concept is viable and market demand exists ($INDEX achieved approximately $70M market capitalization). However, existing implementations are single-token systems with no permissionless infrastructure layer. StockStream addresses both the product gap ($STREAM as the flagship dividend token) and the infrastructure gap (StreamFactory as the permissionless deployment platform).
Architecture
The StockStream protocol operates as a linear pipeline of five smart contracts. Each contract has a single well-defined responsibility and communicates with adjacent contracts through explicit, auditable interfaces. Following deployment, administrative ownership of the treasury and distributor is transferred to the integration owner. The hook itself has no owner and no administrative controls.
| Contract | Responsibility | Ownable | Upgradeable |
|---|---|---|---|
| StreamStockToken | ERC20 with on-chain holder tracking | Yes | No |
| StreamStockFeeHook | V4 hook, atomic 1% fee capture | No | No |
| StockTreasury | ETH accumulation and stock purchases | Yes | No |
| StockDistributor | Holder snapshot and stock distribution | Yes | No |
| StreamFactory | Permissionless dividend system deployment | Yes | No |
V4 Hook Engine
StreamStockFeeHook is the atomic core of the protocol. It is an immutable Uniswap V4 hook that intercepts swaps on the ETH/$STREAM pool, captures 1% of ETH involved in the swap, and forwards it to StockTreasury, within the same transaction as the swap itself.
Fee Capture Mathematics
The hook handles two directions of swap differently. Let V denote the ETH value involved in a swap (either as exact input or as output). The fee F is computed as:
For ETH-specified swaps (user inputs exact ETH), the fee is deducted in beforeSwap using BeforeSwapDelta, reducing the ETH entering the pool. For token-specified swaps where ETH is the output, the fee is deducted in afterSwap using afterSwapReturnDelta, reducing the ETH returned to the user.
Hook Address Encoding
Uniswap V4 determines hook permissions by reading the last 14 bits of the hook address. Each bit corresponds to a permission flag. The required flags for StockStream are:
The hook address must end in 0xCC. This is achieved by mining a CREATE2 salt, iterating nonce values until the predicted address satisfies the constraint. The salt is deterministic for a given deployer address, constructor arguments and bytecode hash.
StreamStockFeeHook has no owner, no admin functions and no upgrade path. The treasury address is set at construction and cannot be changed. Once deployed, the hook runs permanently as long as Robinhood Chain operates. This is an intentional design choice, the fee-capture primitive must be trustless and tamper-proof.
Stock Treasury
StockTreasury accumulates native ETH from the fee hook and executes stock purchases on behalf of the protocol. It implements IUnlockCallback, the Uniswap V4 interface required to execute swaps programmatically from within a smart contract.
Stock Purchase Mathematics
When buyStocks() is called, the treasury divides its ETH balance equally across all registered stock tokens (after deducting any protocol fee). For a treasury balance B, protocol fee rate f_p and n registered stocks:
Protocol Fee
For StreamFactory integrations, a protocol fee is deducted from treasury ETH before stock purchases. The fee is configurable within a 0–10% range (in basis points) and is set by StreamFactory at deployment time via setProtocolFee(). For the $STREAM protocol itself, no protocol fee is taken, 100% of accumulated ETH goes to stock purchases.
Stock Distributor
StockDistributor receives tokenized stock tokens from the treasury and distributes them proportionally to all eligible $STREAM holders. Distribution occurs in three explicit phases to support arbitrarily large holder sets without hitting block gas limits.
Holder Tracking
StreamStockToken maintains an on-chain packed holder set. Every transfer updates the set: addresses crossing above the minimum balance threshold (10,000 $STREAM) are added; addresses dropping below are removed. This eliminates off-chain indexing requirements at distribution time.
Distribution Mathematics
Each eligible holder receives a share of each stock token proportional to their $STREAM balance relative to total eligible supply at snapshot time. For holder h with balance b_h and stock token s with cycle amount A_s:
Minimum Balance Rationale
The 10,000 $STREAM minimum balance threshold serves two purposes. First, it prevents gas costs from exceeding distribution value for micro-holders, without a threshold, distributing 1 wei of NVDA to 100,000 addresses would cost more in gas than the tokens are worth. Second, it creates a natural demand floor for $STREAM as holders seeking dividends must maintain the minimum.
StreamFactory
StreamFactory is the platform layer of StockStream. It enables any token project on Robinhood Chain to deploy a complete dividend infrastructure system in a single transaction with minimal technical integration required. StreamFactory is the mechanism that transforms StockStream from a single token into a protocol.
Deployment Mechanics
A caller invokes StreamFactory.deploy() with their token address, stock basket and a pre-mined hook salt. The factory atomically:
- Deploys StockTreasury (factory-owned temporarily, transferred at end)
- Deploys StockDistributor (factory-owned temporarily, transferred at end)
- Deploys StreamStockFeeHook via CREATE2 with the provided salt
- Registers all specified stocks in treasury and distributor
- Wires treasury → distributor relationship
- Sets 0.5% protocol fee to StockStream treasury address
- Sets caller as keeper on both treasury and distributor
- Transfers ownership of all contracts to the caller
- Registers the deployment in the factory's on-chain registry
Salt Mining for Integrations
Because the hook is deployed by the factory contract (not the canonical Create2Deployer), the salt must be mined using the factory address as deployer. The treasury address used in the hook constructor is predictable from the factory's nonce:
Tokenomics & Math
$STREAM Token Parameters
| Parameter | Value | Notes |
|---|---|---|
| Name | StockStream | ERC-20 compliant |
| Symbol | $STREAM | |
| Total Supply | 1,000,000,000 | Fixed, no minting |
| Decimals | 18 | Standard |
| Min to earn | 10,000 $STREAM | Minimum eligible balance |
| Hook fee | 1% (100 bps) | On every ETH/$STREAM swap |
| Factory fee | 0.5% (50 bps) | On StreamFactory distributions |
| Network | Robinhood Chain | Chain ID: 4663 |
Yield Calculation for Holders
A holder's annual stock yield depends on their proportional share of eligible supply and total protocol volume. For holder h with balance b_h:
Illustrative Scenario
The following is a purely illustrative example using conservative assumptions. It is not a projection or guarantee of any returns.
Dividend on Dividend, Second Order Yield
A unique property of StockStream on Robinhood Chain is the compounding second-order yield. When $STREAM holders receive tokenized stock tokens, those tokens may reflect underlying corporate actions through the issuer's uiMultiplier() balance-accounting mechanism, which changes the shares-per-token relationship rather than paying a conventional cash dividend. This creates a yield-on-yield structure that has a compounding exposure mechanism:
Fee Structure Summary
| Fee Type | Rate | Destination | Trigger |
|---|---|---|---|
| $STREAM pool hook fee | 1% (100 bps) | StockTreasury → stocks → holders | Every swap on ETH/$STREAM pool |
| StreamFactory protocol fee | 0.5% (50 bps) | $STREAM treasury → holders | Every integration buyStocks() call |
| StreamFactory hook fee | 1–3% (configurable) | Integration treasury → their holders | Every swap on integration pool |
| Issuer redemption fee | See current Robinhood Assets terms | Robinhood Assets (Jersey) Ltd | Redeeming stock tokens with issuer — subject to change |
Protocol Flywheel
StockStream is designed as a self-reinforcing system where each component strengthens the others. The flywheel has two interconnected loops, the $STREAM loop and the StreamFactory loop.
The $STREAM Loop
The StreamFactory Loop
Switching Cost Analysis
Once a project integrates StreamFactory, their holders begin receiving tokenized stock distributions automatically. The switching cost for the project to leave is the loss of their holders' dividend stream, a tangible, quantifiable cost that increases over time as holders accumulate stock positions. This creates a sticky integration dynamic that does not depend on governance or lock-up mechanics.
Security
Trust Model
| Component | Trust Level | Mitigation |
|---|---|---|
| StreamStockFeeHook | Trustless | No owner, no upgrade, immutable on deploy |
| StockTreasury | Owner-managed | Owner can add/remove stocks, update keeper |
| StockDistributor | Keeper-managed | Keeper runs distribution cycle, resumable |
| Keeper bot | Operational dependency | Cannot steal funds. Fees accumulate if offline and distribute when resumed. |
| Uniswap V4 | External protocol dependency | Relies on the deployed PoolManager and hook architecture. An audit does not guarantee absence of risk. |
| Robinhood Chain | Trusted | L2 operator dependency, Arbitrum-based |
| Stock token issuer | Trusted | Robinhood Assets (Jersey) Ltd, issuer credit risk |
Key Risks
- Keeper downtime, if the keeper bot goes offline, fee accumulation continues but distributions pause. Keeper downtime does not by itself cause accumulated fees to be lost, assuming the treasury and distribution contracts remain operational. When the keeper restarts, accumulated fees distribute normally in the next cycle.
- Slippage on stock purchases, buyStocks() requires caller-provided minOuts for slippage protection. If any individual stock purchase exceeds slippage tolerance, the entire buyStocks() call reverts atomically and ETH remains in the treasury for the next cycle.
- Issuer risk, tokenized stock securities are debt obligations of Robinhood Assets (Jersey) Limited. Holders bear both equity price exposure and issuer credit risk. In the event of issuer insolvency, the value of stock tokens could be impaired.
- Hook salt reuse, each hook deployment requires a fresh salt mined for its specific deployer and constructor arguments. Reusing a salt produces the wrong address and breaks permission flag encoding. StreamFactory enforces unique salts per integration via the AlreadyDeployed revert.
- Concentration risk, the default stock basket (NVDA, AAPL, GOOGL, META) is correlated. A broad technology sector drawdown would reduce the USD value of all distributed stocks simultaneously.
- Treasury admin key, the treasury owner can change the stock basket, keeper address and distributor address. This power should be transferred to a multisig or on-chain governance post-launch to minimise centralisation risk.
Audit Status
The protocol has been compiled with zero errors on Solidity 0.8.26 and verified end-to-end on Robinhood Chain testnet (Chain ID: 46630). A formal security audit by a third-party firm has not been conducted as of this writing. All contracts are open source. Users should exercise appropriate caution and never deploy more capital than they are prepared to lose.
Roadmap
Phase 01, Foundation
- $STREAM token and all 4 core contracts deployed on Robinhood Chain mainnet
- StreamFactory deployed and open for permissionless integrations
- ETH/$STREAM V4 pool live with initial liquidity
- Keeper bot running, distributions confirmed end-to-end
- All 5 contracts verified on Blockscout (source code public)
- Ownership transferred to team multisig
Phase 02, Ecosystem Growth
- First 10+ StreamFactory integrations, protocol revenue flowing
- StreamFactory V2, stock-paired pool support (NVDA/TOKEN hooks skip ETH conversion step)
- Public distribution dashboard with real-time earnings tracking
- Full developer documentation and integration guides
- StreamScore, holder loyalty multiplier (longer hold = higher yield weight)
Phase 03, StreamAgent
- AI-powered stock basket optimization using Pyth oracle price feeds
- Earnings calendar integration, dynamic basket rotation around corporate reporting dates
- Volatility-adjusted allocation, defensive rotation in high-volatility regimes
- Per-integration configurable optimization, projects can opt in to StreamAgent management
Phase 04, StreamLive
- Per-block micro-distributions, stocks stream to wallets every block rather than every 15 minutes
- Real-time dashboard showing live balance increases
- Gas-optimized architecture for micro-distribution economics
- Only possible on Robinhood Chain, the combination of native stock tokens and fast block times makes per-block equity distribution economically and operationally impractical on most other networks
Appendix
Testnet Deployments (Chain ID: 46630)
| Contract | Address |
|---|---|
| StreamStockToken | 0x0E10991577e5F1C88998520D1e3c208816D9FC46 |
| StockTreasury | 0x27e94FB5c717FAB6300197A9dfBdf109268dbda8 |
| StockDistributor | 0x04AFc82D62b0017376d2101F83FeC22A87435481 |
| StreamStockFeeHook | 0xb77e331d3388C65daE62af1db5D2b50B0F0000cc |
| StreamFactory | 0x977e1b69Ca89fB9F33e56f1AcAa18Ed409FDb643 |
Key RH Chain Addresses
| Contract | Address |
|---|---|
| V4 PoolManager | 0x8366a39CC670B4001A1121B8F6A443A643e40951 |
| Create2Deployer | 0x4e59b44847b379578588920cA78FbF26c0B4956C |
| NVDA Token | 0xd0601CE157Db5bdC3162BbaC2a2C8aF5320D9EEC |
| AAPL Token | 0xaF3D76f1834A1d425780943C99Ea8A608f8a93f9 |
| GOOGL Token | 0x2e0847E8910a9732eB3fb1bb4b70a580ADAD4FE3 |
| META Token | 0xc0D6457C16Cc70d6790Dd43521C899C87ce02f35 |
| TSLA Token | 0x322F0929c4625eD5bAd873c95208D54E1c003b2d |
| MSFT Token | 0xe93237C50D904957Cf27E7B1133b510C669c2e74 |
Notation Reference
| Symbol | Definition |
|---|---|
| V | ETH value of a swap |
| F | Fee amount captured by hook |
| B | Treasury ETH balance |
| n | Number of registered stock tokens |
| b_h | $STREAM balance of holder h |
| b_min | Minimum balance to earn (10,000 × 10¹⁸) |
| S_e | Total eligible supply (Σ b_h where b_h ≥ b_min) |
| A_s | Total stock s distributed in a cycle |
| D_{h,s} | Allocation of stock s to holder h |
| f_p | Protocol fee rate (0.005 = 0.5%) |
| Y_h | Annual yield for holder h |
| R_pool | Annual protocol revenue from $STREAM pool |
| R_factory | Annual protocol revenue from StreamFactory |
| d_stock | Weighted average dividend yield of stock basket |
Resources
- Website, stockstream.site
- Blockscout Explorer, robinhoodchain.blockscout.com
- Robinhood Chain Docs, docs.robinhood.com/chain
- RHJ Product Disclosure, docs.robinhood.com/rhj/product
- Uniswap V4 Documentation, docs.uniswap.org/contracts/v4
Legal Disclaimer
This whitepaper is provided for informational purposes only and does not constitute financial, investment, legal or tax advice. StockStream is a software protocol, not a fund, investment vehicle or regulated financial product. Participation in the StockStream protocol involves substantial risk including the potential loss of all capital deployed. Tokenized stock securities referenced herein are debt securities issued by Robinhood Assets (Jersey) Limited and are subject to issuer credit risk. These securities are not available to US persons, UK residents, Canadians or Swiss residents. Nothing in this document constitutes an offer or solicitation to buy or sell any security or digital asset in any jurisdiction. All mathematical examples and illustrative scenarios in this document are for explanatory purposes only and are not projections, forecasts or guarantees of any financial outcome.