Dividends and splits on tokenized stocks
What are dividends and splits on tokenized stocks?
Dividends and splits on tokenized stocks are the underlying company’s corporate actions passed through to token holders: a cash dividend paid to each wallet in stablecoins, worked out from holdings at the record date, or a change to the token’s multiplier that scales every holder’s balance at once, for a split or a reinvested dividend.
Tokenized stock venues and the transfer agents behind them run these actions so that a token holder receives what a shareholder of record would.
Goldsky finds the record block, snapshots every holder and sends each payment or the multiplier update with retries and a logged trace, while the terms, the funding and the reconciliation stay with you.
You can build it two ways: a Compose task that snapshots holders with a one-time Turbo Pipelines job and pays them, or a Compose task that reads holders at the record block from a subgraph register.
Who handles dividends and splits on tokenized stocks?
Tokenized stock venues, brokers that issue stock tokens, and transfer agents that keep tokenized share registers.
How dividends and splits reach tokenized stock holders
The diagram follows one corporate action, from the announced terms to each payment or balance change reconciled against its holder, and shows who does each step. Your setup may differ.
Ways to pay dividends and apply splits on tokenized stocks
Each corporate action gets a fresh holder list from the one-time job, rebuilt from the chain, whereas the subgraph keeps the cap table current and the task queries it at the record block.
- Best for
- Occasional actions, with no register to maintain
- Best for
- One chain, with a cap table already in a subgraph
| Usual setupOption 1: Snapshot task | Option 2: Subgraph register | |
|---|---|---|
| Best for | Occasional actions, with no register to maintain | One chain, with a cap table already in a subgraph |
| Products | ComposeTurboFeeds | ComposeSubgraphsFeeds |
Set the terms and the record date
Every holder’s dividend or split is worked out from a few facts that have to be fixed before anything moves.
Take the dividend per share or the split ratio, the record date and the payment date from the underlying company’s announcement. If your token’s record date differs from the share’s, token holders get a different result from shareholders.
Find the record block
Handled by Goldsky FeedsThe record date is a clock time, but a chain keeps balances by block, so the time has to become a block number.
Decide which moment counts, such as the close of business in the time zone the terms use, then take the last block at or before it on the chain where the token lives. A block from just after the cutoff puts late buyers on the list.
The Feeds blocks endpoint returns the newest block at or before a time when you call it with
Turn a timestamp into a block (opens in a new tab)timestamp_lte,sort=number_descandlimit=1.Snapshot every holder at the record block
Handled by Goldsky ComposeHoldings change all the time, so you need a fixed list of who held how much at the record block.
Each balance is rebuilt from every mint, burn and transfer of the token from its first block up to the record block, then summed per wallet. Missing early history understates some balances, and counting blocks after the cutoff pays people who bought late.
With Goldsky, the task can start a one-time Turbo Pipelines job with
Start a Turbo job from a task (opens in a new tab)ctx.turbo, backfill the token’s transfers up to the record block into a table, sum them per holder in SQL, then delete the job.Fund the dividend
The cash has to be in the paying wallet before the first holder is paid, or the run stops partway.
Turn the dividend received on the shares held in custody into the stablecoin you pay in, and send it to the paying wallet. Fund the total after any tax you withhold, so the wallet doesn’t run short before the last holder.
Work out each holder’s amount
Each holder is owed the dividend per share times the tokens they held at the record block.
Apply your withholding rules per holder, then settle rounding so the amounts add up to the funded total. If every amount is rounded down and the remainder never assigned, money is left in the paying wallet with no owner.
Pay the dividend
Handled by Goldsky ComposeEach holder of record is paid in the wallet that held the tokens on the record date.
Payments are signed under your approval policy and sent one per holder. A retry must never pay the same holder twice, so the record of who has been paid has to survive a restart.
Goldsky Compose can pay each holder with
Learn about gas-sponsored wallets (opens in a new tab)writeContractfrom a gas-sponsored wallet and wait for the confirmations you set. If the task restarts, transactions that already succeeded return their saved result instead of being sent again.Update the multiplier
Handled by Goldsky ComposeA split changes how many tokens each holder has without changing what their position is worth.
Many tokenized stocks apply a split, and often a reinvested dividend, through a multiplier in the token contract: one call by the issuer scales every holder’s balance, with no mint per holder. Tokens without a multiplier mint the extra tokens to each holder of record instead. Either way, prices, open orders and any holder lists your venue keeps have to change at the same moment.
The same Compose task can send the multiplier update, or the mints, with the retries and logged trace it uses for dividend payments.
Call contracts from a task (opens in a new tab)Deliver to each holder
The action is done when the stablecoins or the new balances are in each holder’s wallet on the chain.
Once a payment, mint or multiplier update has enough blocks on top of it, anyone can check it. One that failed or was never included still shows as unpaid and has to be picked up.
Reconcile every payment
Your payout list says who should have been paid and the chain says who was; checking one against the other closes the action.
Match each transfer or mint to one line of the list by wallet and amount, follow up unpaid holders, and check the total against the amount funded. A line with no payment, or a payment with no line, is a break to explain before the books close.
What to know about snapshotting stock token holders with a one-time job
- Nothing runs between record dates: each run starts its own job and deletes it once the holder list is read.
- The list is rebuilt from the chain’s transfers every time, so it doesn’t depend on a register anyone kept in between.
- Summing transfers into balances at the record block is a SQL query in your task, run once the one-time job has finished.
- You write and own the task code; Goldsky hosts it, retries failed calls and logs each one.
Set the terms and the record date
Every holder’s dividend or split is worked out from a few facts that have to be fixed before anything moves.
Take the dividend per share or the split ratio, the record date and the payment date from the underlying company’s announcement. If your token’s record date differs from the share’s, token holders get a different result from shareholders.
Find the record block
Handled by Goldsky FeedsThe record date is a clock time, but a chain keeps balances by block, so the time has to become a block number.
Decide which moment counts, such as the close of business in the time zone the terms use, then take the last block at or before it on the chain where the token lives. A block from just after the cutoff puts late buyers on the list.
The Feeds blocks endpoint returns the newest block at or before a time when you call it with
Turn a timestamp into a block (opens in a new tab)timestamp_lte,sort=number_descandlimit=1.Read every holder at the record block
Handled by Goldsky SubgraphsHoldings change all the time, so you need each holder’s balance as it stood at the record block, not today.
The register has to return balances for a past block as well as the latest one. A register that only keeps current balances can’t say who held what on the record date once anyone has traded since.
With Goldsky Subgraphs as the holder register, the task reads each holder’s balance at the record block over GraphQL, the same way the tokenized equities guide has its dividend task read the registry at a record-date block.
Build a tokenized equities registry (opens in a new tab)Fund the dividend
The cash has to be in the paying wallet before the first holder is paid, or the run stops partway.
Turn the dividend received on the shares held in custody into the stablecoin you pay in, and send it to the paying wallet. Fund the total after any tax you withhold, so the wallet doesn’t run short before the last holder.
Work out each holder’s amount
Each holder is owed the dividend per share times the tokens they held at the record block.
Apply your withholding rules per holder, then settle rounding so the amounts add up to the funded total. If every amount is rounded down and the remainder never assigned, money is left in the paying wallet with no owner.
Pay the dividend
Handled by Goldsky ComposeEach holder of record is paid in the wallet that held the tokens on the record date.
Payments are signed under your approval policy and sent one per holder. A retry must never pay the same holder twice, so the record of who has been paid has to survive a restart.
Goldsky Compose can pay each holder with
Learn about gas-sponsored wallets (opens in a new tab)writeContractfrom a gas-sponsored wallet and wait for the confirmations you set. If the task restarts, transactions that already succeeded return their saved result instead of being sent again.Update the multiplier
Handled by Goldsky ComposeA split changes how many tokens each holder has without changing what their position is worth.
Many tokenized stocks apply a split, and often a reinvested dividend, through a multiplier in the token contract: one call by the issuer scales every holder’s balance, with no mint per holder. Tokens without a multiplier mint the extra tokens to each holder of record instead. Either way, prices, open orders and any holder lists your venue keeps have to change at the same moment.
The same Compose task can send the multiplier update, or the mints, with the retries and logged trace it uses for dividend payments.
Call contracts from a task (opens in a new tab)Deliver to each holder
The action is done when the stablecoins or the new balances are in each holder’s wallet on the chain.
Once a payment, mint or multiplier update has enough blocks on top of it, anyone can check it. One that failed or was never included still shows as unpaid and has to be picked up.
Reconcile every payment
Your payout list says who should have been paid and the chain says who was; checking one against the other closes the action.
Match each transfer or mint to one line of the list by wallet and amount, follow up unpaid holders, and check the total against the amount funded. A line with no payment, or a payment with no line, is a break to explain before the books close.
What to know about reading stock token holders from a subgraph
- The subgraph runs all the time, so the register is ready when a record date comes and also serves statements and reports.
- Your mappings keep each balance, and a mistake in them shows up in every snapshot until it’s fixed and the subgraph reindexed.
- A subgraph indexes one chain, so a token issued on several chains needs one per chain and a merge in your code.
- The task’s payment code, retries and log are the same as with a one-time job.
What you control
- Your team
- Set the terms and the record date
- Fund the dividend
- Work out each holder’s amount
- Reconcile every payment
Questions and answers
Do tokenized stocks pay dividends?
Some tokenized stocks pay dividends, when the issuer passes them through to each token holder at the record date in stablecoins. Others reinvest the dividend in more shares and raise the token’s multiplier, so every holder’s balance grows instead. Whether and how a token pays depends on how it’s built. A token backed by shares held in custody can pass on the cash the custodian receives, while a token that only tracks the share price may not. The token’s terms say which, and as of October 2026 the tokens that pay dividends are offered mostly outside the US.
Security and deployment
- SOC 2 Type IIIndependently audited security controls.
- Dedicated infrastructureSingle-tenant options for production workloads.
- Data residencyCloud, on-premises or co-located.
More use cases that run corporate actions
- Tokenized money market fund dividends paid as new tokensSnapshot holders and mint each one’s yield as new fund tokens.
- Tokenized bond coupon paymentsPay bond coupons to holders at the record date.
- Tokenized loan participation paymentsPay out loan-participation shares between banks in tokenized deposits.
- Proxy voting for tokenized securitiesRun proxy votes and corporate-action elections for tokenized holders as of a record date.
Use cases built the same way
Pay dividends and apply splits on tokenized stocks with Goldsky
We’ll map it to your systems and show you what Goldsky runs, so your team builds the product, not the pipelines underneath it.