BrokerNetSettlement
Last updated
Was this helpful?
Last updated
Was this helpful?
Tracks broker-level net balances for a single security, allowing a clearing operator to batch-settle trades and apply global adjustments (e.g., stock splits) by physically updating all broker balances.
No DRS logic here; end users are off-chain at each broker.
No cost basis tracking for brokers.
Global splits are done by enumerating broker addresses in one transaction.
"netBalance" indicates how many shares an address holds in a fungible, nettable form.
A simple net-balance transfer, akin to ERC-20 transfer. Does NOT touch DRS shares.
*The clearing operator can apply net deltas to multiple accounts. Example usage: after end-of-day, each address's net buy or net sell is aggregated. If the user net-buys 100 shares, delta = +100. If net-sells 50 shares, delta = -50, etc. Requirements:
Address must have enough netBalance if delta is negative, or enough drsBalance if you want to allow forced adjustments from DRS (not shown here).*
Physically updates each broker's netBalance for a declared split ratio. E.g., for a 2-for-1 split, splitNum=2, splitDen=1. For a 1-for-2 reverse split, splitNum=1, splitDen=2.
Parameters
brokers
address[]
The array of broker addresses to adjust.
splitNum
uint96
Numerator of the split ratio.
splitDen
uint96
Denominator of the split ratio.
Grants each broker new shares proportional to their existing balance. e.g., a 10% stock dividend => divNum=10, divDen=100. newShares = oldBal * divNum / divDen. totalSupply is increased accordingly.
Parameters
brokers
address[]
The broker addresses to update.
divNum
uint96
Numerator of dividend ratio (e.g. 10 for 10%).
divDen
uint96
Denominator of dividend ratio (e.g. 100).