One stock. Every chain.
HoodBridge is a cross-chain protocol for tokenized stocks. A stock tokenized on one chain becomes tradable on another: the original is locked in a lockbox on its home chain, and a bridged receipt is minted on the destination chain against it. Send it back and the receipt is burned before the original is released. The backing always exists before the mirror does.
Three parts, one loop
The lockbox holds the original. Three independent verifiers attest each message and an executor delivers it. The receipt contract issues and destroys the mirror. Nothing else sits in the path of a crossing.
Robinhood Chain is the hub
Robinhood Stock Tokens live on Robinhood Chain, so it holds the lockbox. Every other chain is a destination that receives bridged receipts. Robinhood Chain ⇄ BNB Chain is live; the rest are rolling out.
The lockbox
The lockbox (RhStockOFTAdapter) sits on Robinhood Chain and does two things: it escrows SKHY on the way out and releases it against a verified message on the way back. Its ledger is public, locked(), outstanding() and isSolvent(), so anyone can check backing at any block. Net flow is capped at 10% of supply per rolling 24 hours in each direction, a guardian can pause deposits, and halting redemptions is owner-only behind a timelock.
The verifiers
Every crossing is a LayerZero message. Three independent verifiers, LayerZero Labs, Nethermind and Horizen, watch the source chain, wait for the configured block confirmations, and each attest the message. Only when all three agree is it committed on the destination, where an executor delivers it. A delivered message cannot be delivered again.
Bound to one destination endpoint and one recipient, both fixed in the message.
Carries the amount observed on the source chain, floored to 8 shared decimals; never more.
Each message has a nonce and a GUID; the endpoint consumes it once and rejects replays.
The receipt token
On BNB Chain the receipt contract (StockOFT) issues rSKHY for SKHY against a verified lock message, and burns it when a holder bridges back. It is the only contract that can change rSKHY supply, and it can only do so through the LayerZero endpoint. It mirrors the ERC-8056 share multiplier and the issuer's blocklist from Robinhood Chain, so 1 rSKHY always redeems for 1 SKHY whatever corporate actions do to the share count.
Outbound: lock & mint
Moving SKHY from Robinhood Chain to BNB Chain. Four steps, in this order, every time.
Approve and send
You approve the lockbox for the exact amount, then call send. The lockbox escrows SKHY and emits OFTSent with the message GUID.
Home chainVerify
The three DVNs wait for the configured confirmations, then each attest the message.
VerifiersCommit and execute
The attested message is committed on BNB Chain and the executor calls the receipt contract.
DestinationrSKHY mints
The receipt arrives in your wallet, backed 1:1 by SKHY still locked. OFTReceived is emitted.
DestinationInbound: burn & release
Coming back the other way, the receipt is destroyed before the backing is freed.
Send (burn)
You call send on the rSKHY contract. It burns the receipt and emits OFTSent; supply drops immediately.
DestinationVerify
The same three DVNs attest the burn message.
VerifiersCommit and execute
The message is committed on Robinhood Chain and the executor calls the lockbox.
Home chainSKHY releases
The lockbox releases SKHY to your Robinhood Chain address and emits OFTReceived.
Home chainWhere the seconds go
Almost all of a crossing is waiting for the source chain to reach the verifiers' confirmation depth, then for three attestations. Delivery is fast; confirmations are not negotiable. The figure below is measured across every delivered transfer, not a target.
If the destination leg cannot execute yet (paused, halted, rate-limited), the message is stored and retryable indefinitely. Funds are safe and nothing needs resending; the Bridge page tracks each stage from LayerZero Scan.
Interface
Both sides expose the LayerZero OFT surface. Deposit and redeem are the same call on different chains; there is no separate deposit or withdraw.
Lockbox 0xcEaC580F2356d0DE359d17DF7254F35c3842f6C0 · receipt 0x4790E23342709d853c309051ED4f58a8Dd6DcbF0 · LayerZero endpoints 0x6F475642a6e85809B1c36Fa62763669b1b48DD5B / 0x1a44076050125825900e736c501f859c50fE728c · eids 30416 / 30102.
Onchain events
Every step announces itself, so a crossing can be audited end to end from chain data alone.
Limits & risk
Crossing time depends on source-chain confirmations and executor delivery and is not fixed. Net flow is rate-limited to 10% of supply per 24 hours each way. The protocol fee is read live and can never exceed 1%. Routes go live one at a time; an unsupported pair is rejected at the contract, not queued. rSKHY tracks SKHY and inherits its issuer terms: Robinhood Assets (Jersey) can pause the token, blocklist addresses including the lockbox, and burn balances. The UI reads those powers live and blocks the button rather than letting a transfer strand.