Addresses
Chain details for Robinhood Chain and its testnet, the external contracts the protocol reads, and the address tables that will be filled in at deployment.
Spec v0.9.1, reviewed 2026-09-08
Risk
Nothing is deployed. No Fyber contract exists on any chain. Every Fyber cell below is empty and stays empty until a deployment transaction lands, at which point this page is filled in from the deployment report and never edited again.
Any address presented to you as Fyber's today is not Fyber's.
Chains
| Robinhood Chain | Testnet | |
|---|---|---|
| Chain id | 4663 | 46630 |
| Kind | Arbitrum Nitro rollup | The same |
| Sequencer | One, operated by the chain operator | The same |
| Uptime feed | To be confirmed before deployment | To be confirmed |
| Native settlement asset for the protocol | USDG, six decimals, normalised to eighteen on entry | The same |
The protocol is deployed once, on 4663. There is no bridge, no cross-chain message and no second deployment of the same version.
How the addresses will be established
A single script deploys every module in one transaction, places the cross-references by deterministic addressing, activates the branches whose criteria already hold, seeds the probe contracts, takes a first observation of each pool, mints the whole FBR supply to its six destinations, stakes the protocol's own lot, and then asserts the final state.
The deployer keeps no residual power. Anybody can run the script, because the bytecode and the salts are published beforehand, and the addresses are therefore computable before anything is deployed.
The deployment report published alongside will assert, contract by contract: no non-zero owner anywhere, the stablecoin's minter set is exactly the twenty branches and the peg module, twenty distinct branches on twenty distinct tokens with the remaining registry slots empty, the Closer key is the published Safe with the expected expiry, every cross-address matches, and the deployed bytecode equals the compiled bytecode of the frozen specification.
Core
| Contract | Address |
|---|---|
FYUSD | |
BranchRegistry | |
PSM | |
RedemptionRouter | |
InterestRouter | |
LiquidationEngine | |
Backstop | |
PoolIncentive | |
RateFloor | |
MarketCalendar | |
V4Observer | |
PullOracle | |
Router | |
Closer |
Per branch
Twenty rows, one per collateral. Each branch carries its own price adapter, volatility oracle, depth oracle, sorted list, Stability Pool, wrapper, collateral sale, liquidity vault and vault sale.
| Branch | Tier | Branch | OracleAdapter | VolOracle | StabilityPool | sfyUSD | LPVault |
|---|---|---|---|---|---|---|---|
| SPY | 1 | ||||||
| QQQ | 1 | ||||||
| VTI | 1 | ||||||
| GLD | 1 | ||||||
| AAPL | 2 | ||||||
| MSFT | 2 | ||||||
| GOOGL | 2 | ||||||
| AMZN | 2 | ||||||
| META | 2 | ||||||
| NVDA | 2 | ||||||
| SLV | 2 | ||||||
| AVGO | 2 | ||||||
| AMD | 2 | ||||||
| CSCO | 2 | ||||||
| LLY | 2 | ||||||
| XOM | 2 | ||||||
| NFLX | 3 | ||||||
| TSLA | 3 | ||||||
| PLTR | 3 | ||||||
| COIN | 3 |
The collateral token address of each branch is the issuer's, not Fyber's, and is published in the same report. The tier assignment is fixed at construction and is on Branches and tiers.
FBR and the vaults
| Contract | Address |
|---|---|
FBRToken | |
UsageLedger | |
FBRDistributor | |
sFBR | |
LPMining | |
FBRVote | |
LPGate | |
| Team vesting wallets |
The twenty VaultSale instances share the per-branch table above by construction: one per vault.
External contracts the protocol reads
These exist already and are not Fyber's. They are listed because every one of them is written into a constructor and can never be changed afterwards, so an integrator should verify them independently rather than trusting this page.
| Dependency | Address | Read for |
|---|---|---|
Uniswap PoolManager | 0x8366a39cc670b4001a1121b8f6a443a643e40951 | Pool state, and the vault positions |
Uniswap StateView | 0xf3334192d15450cdd385c8b70e03f9a6bd9e673b | Tick, liquidity and depth |
Uniswap PositionManager | 0x58daec3116aae6d93017baaea7749052e8a04fa7 | Custody of mined liquidity positions |
Uniswap Quoter | 0x8dc178efb8111bb0973dd9d722ebeff267c98f94 | Depth verification before deployment |
Uniswap UniversalRouter | 0x8876789976decbfcbbbe364623c63652db8c0904 | Not read by the protocol; listed for integrators |
| Exchange price feeds, per branch | The anchor of each branch's composite | |
| USDG price feed | The depeg guard, and the conversion of pool prices into dollars | |
| Signed-price verifier | Verification of attested price messages | |
| Reference borrow-rate market | The indexed part of the rate floor |
Risk
The pool manager on this chain has an owner who can enable a protocol fee of up to a tenth of a per cent per swap. Fyber cannot prevent it and does not depend on it, but it reduces what a liquidity vault collects. Verify the current setting yourself before sizing a vault position.
Verifying an address once they exist
Read the registry rather than a web page. BranchRegistry.allBranches() returns the thirty-two slots, twenty filled and the rest zero, and isBranch(address) answers for any candidate. Each branch exposes its own adapter, pool, wrapper, volatility oracle and vault. FYUSD.isMinter(address) is true for exactly the twenty branches and the peg module.
If a published address does not appear in that graph, it is not part of this protocol.
Contracts overview
The modules an integrator meets, the call order for every user path, which functions anybody may call, who supplies the signed prices, and what reverts.
Events
What each module emits, and what an indexer should do with it. Every state transition emits, which is what makes a protocol with no administrator auditable.