Multichain integration
Integrating Topaz across networks requires an explicit chain for every contract, token, position and data source. The BNB core remains the hub; xTOPAZ adds a share vault, OFT routes and local spoke voting vaults.
Updated September 12, 2026. BNB Chain, Robinhood Chain, Base, Ethereum and Arc have live DEX, xTOPAZ bridge and voting deployments. BNB hosts the vault for entry and redemption. Arc's CL Zap follows. Use the address book and the live chain registry, with per-request contract checks before writes.
Identity and deployment records
| Network | EVM chain ID | LayerZero V2 endpoint ID | Role |
|---|---|---|---|
| BNB Chain | 56 | 30102 | Hub |
| Robinhood Chain | 4663 | 30416 | Live spoke |
| Base | 8453 | 30184 | Live spoke |
| Ethereum | 1 | 30101 | Live spoke |
EVM chain IDs and LayerZero endpoint IDs are different identifiers. Use the EVM ID for wallet selection and RPC; use the endpoint ID for OFT peers and destination arguments. Arc (5042, endpoint 30417) pays gas in USDC and has no wrapped native: its routers take a reverting WETH stub, so integrate with token-only functions and never offer a native leg there.
The release supplies a frontend bundle with chain.json, addresses.json and abis/<Contract>.json. The address manifest maps contract names to address and project; deployed BNB core contracts use a Core prefix. The interface parses those into typed contract groups in its Topaz chain registry. Require verified chain identity, bytecode, immutable wiring and peers before activating each feature.
Do not copy the network-qualified addresses onto another network. Store tokens as chain plus address, and positions as chain plus contract plus ID. A spoke vote ID is a counter-issued position ID, not an address converted to an integer and not an ERC-721.
Contract groups
| Hub | Responsibility |
|---|---|
| XTopaz and VeTopazVault | Canonical shares, backing, entry, rebase synchronization and redemption |
| WrapRouter | Pool-reward claims before NFT merge, deposits and combined source entry-and-bridge calls |
| XTopazOFTAdapter | Canonical lock/unlock, peers, tracked spoke supply and route limits |
| SystemGauge and SystemGaugeStrategy | System-pool voting and immediate emission credit |
| EpochCoordinator | Finalization, budget custody and per-epoch sends |
| HubUnwrapComposer | Optional redemption after bridge delivery, with liquid-share fallback |
| Spoke | Responsibility |
|---|---|
| XTopazOFT | Local share balance, mint/burn on OFT delivery/send |
| XTopazVotingVault | Position custody, withdrawal dates and the ve-compatible voting surface |
| Voter, Gauge and voting rewards | Local allocations, LP incentives and voter claims |
| SpokeEmissionReceiver and SpokeBudgetComposer | Authenticated budget funding and notification |
| SpokeStakeComposer | Optional new position after delivery, with liquid-share fallback |
| V2 and Slipstream deployments | Local pool discovery, liquidity and routing |
The spoke Voter, reward and gauge contracts reuse the existing core logic. Managed-lock calls are not a supported spoke path; the voting vault provides the compatible read surface without creating veTOPAZ NFTs.
Read, review, then simulate the next call
Read related preconditions at a verified block. For a wrap, that includes ownership, lock type, expiry, last vote, operator approval, complete pool-reward discovery, claimable rebase and aggregate backing. Normal NFTs with lastVoted equal to zero can skip relay and voter-reward enumeration; an older vote alone cannot prove empty historical rewards. For redemption, include pause, vote, split and seed constraints. For spoke stakes, include position owner, amount, withdrawal date, local vote state and actual reward contracts.
Capture chain, account, recipient, spenders, amounts and reviewed limits. Bind the review to its owner and source chain; switch to that chain as part of confirmation. A wallet identity change or a chain change during preparation stops unsent work. Approval receipts are followed by fresh operation simulation. Keep accepted transaction handles for confirmation retries; never retry an uncertain submission as a fresh financial action.
Direct liquid xTOPAZ bridging, TOPAZ deposits, combined entry and redemption use maximum sequential ERC-20 allowance and one dapp confirmation. The runner waits for approval, reads allowance again and simulates the operation automatically; it does not explicitly simulate approvals. Wrapping retains its required NFT operator approval. Spoke staking and reward actions retain their earlier approval and interaction model. All migrated journeys preserve saved single-hash recovery; the September 12 UX refactor has not yet been signed. Local fork signatures cover BNB entry/redemption and Robinhood/Base stake, vote and reward flows. Composed destination actions, ambiguous-batch recovery, real cross-chain delivery and complete mainnet wallet lifecycles remain separate work.
Bridge and receipt evidence
Check both OFT peers and token precision, the source and destination capacity, pauses, fee and recipient. A plain send has an empty compose payload. Composed sends target a composer and encode its beneficiary; token delivery and completion of the destination action are different outcomes.
Use OFTSent and OFTReceived, the packet GUID and the originating chain to correlate delivery. For combined source entry, verify NFT custody and burn or TOPAZ funding, the actual share mint, and the actual bridge debit. Do not fill missing event values from a quote estimate. Retain the source hash so delivery can be checked after a feature is disabled.
Data and indexing
The multichain API serves chain-qualified market and account data on all five live networks. Discover networks with GET /v1/chains; follow the schema for chain-qualified endpoints. The legacy Stats API remains BNB-only. Never relabel a BNB response as spoke data.
Indexers use per-chain deployments and start blocks. Useful hub events include RateUpdated, Wrapped, Deposited, Redeemed, AggregateReplaced, EpochFinalized, ChainBudget and BudgetSent. On spokes, track position open/add/merge/withdraw, votes, claims and budget received/notified events. Preserve closed position owners for reward discovery.
The aggregate NFT ID changes after redemption. Read the current ID and follow its replacement events instead of pinning the initial NFT. The spoke receiver's exchange rate is the last delivered hub observation, not necessarily the current live rate.
Pricing and totals
Keep market price, vault backing per share, raw vote weight and reward-token amounts distinct. Do not count the same backing once as locked TOPAZ and again as freely additive xTOPAZ collateral. Canonical shares locked in the adapter and their spoke representations are the same economic shares, not independent global supply.
The shared weekly clock does not make blocks or data timestamps equal across chains. Preserve source block, timestamp, epoch and price availability when comparing opportunities. Multichain emissions · Security & Audits.