Skip to content
StockSync
Docs · Multipliers and corporate actions

Concepts

Multipliers and corporate actions

Stock Token balances never change when a corporate action happens. The token’s multiplier does.

The multiplier

A multiplier is the number of underlying shares one token represents. Stock Tokens implement ERC-8056, which exposes it onchain as an 18-decimal fixed-point value: 1000000000000000000 means exactly one share.

FunctionMeaning
uiMultiplier()The multiplier in effect now
newUIMultiplier()The multiplier after a scheduled change
effectiveAt()When the scheduled change takes effect
oraclePaused()An advisory flag some tokens expose while a change is being applied

When nothing is pending, newUIMultiplier() equals uiMultiplier() and effectiveAt() keeps the time of the last change. StockSync therefore reports a pending change only when the new value differs and its effective time is after the block it read.

Registry and contract

The registry publishes its own currentMultiplier, and StockSync can read the contract at a single block. getMultiplierState returns both with an agreement of match, mismatch or unavailable.

  • A mismatch produces a MULTIPLIER_MISMATCH warning. One side may not reflect a recent corporate action yet.
  • A registry pending change whose effective time has passed produces PENDING_MULTIPLIER_PAST_EFFECTIVE_TIME, because the contract may already use it.

Corporate actions

getCorporateActions returns the actions Robinhood has processed, newest process date first. The live API does not sort them, so StockSync does.

TypeTerms
cash-dividendrate in USD per share
stock-dividendrate in shares per share
forward-splitoldRate → newRate
reverse-splitoldRate → newRate
spin-offSource symbol and rate to new symbol and rate
cash-mergercashRate in USD per acquiree share
stock-mergerAcquiree shares to acquirer shares
stock-and-cash-mergerAcquiree shares to acquirer shares plus cash
redemptionrate
name-changeOld symbol to new symbol
worthless-removalThe removed symbol
rights-distributionRights per source share
unit-splitOld unit to new shares plus alternate shares

Types StockSync does not recognize yet are returned as unrecognized with the original upstreamType and untouched details, plus a warning.

Status is in-progress, completed, unspecified or unrecognized.

Process date

processDate is Robinhood’s scheduling date for the action. For splits it is the date the multiplier changes. For dividends it is not the payable date. In-progress actions may have no date yet.

Identifiers

The upstream id of a corporate action is the affected asset’s uid, not a unique action id, so StockSync exposes it as assetId. Do not use it to deduplicate actions.