Networks
NASDANK is deployed on two networks. Everything that differs between them — chain id, gas denomination, wrapped token, explorer, DEX venue — is listed here, and every value was read back from the chain rather than copied from a chain list.
Use the Robinhood / BNB switch — in the header on a wide screen, at the top of the menu on a phone — to change which chain this documentation describes. It also changes the accent colour, so it is never ambiguous which chain's numbers you are looking at.
Robinhood Chain
Currently selected. This is the default chain and the one with the deepest deployment.
| Field | Value |
|---|---|
| Chain id | 4663 · hex 0x1237 |
| Network name | Robinhood Chain |
| Stack | Arbitrum-based rollup, settling to Ethereum |
| Gas token | ETH |
| Wrapped gas token | WETH · 0x0Bd7D308…AcAD73 |
| Public RPC | https://rpc.mainnet.chain.robinhood.com |
| Explorer | Blockscout |
| DEX venue | Uniswap V3 (Pro) and V4 (Custom). V2 is deployed on the chain but NASDANK does not launch on it. |
| Pinned stable | USDG, 6 decimals · 0x5fc5360D…F1d168 |
| Multicall3 | 0xcA11bde0…76CA11 |
Testnet
Chain 46630, RPC https://rpc.testnet.chain.robinhood.com, explorer https://explorer.testnet.chain.robinhood.com. Useful for V2 and V3 work only — the testnet EVM is paris, and Uniswap V4 needs transient storage, which arrived in cancun. V4 contracts therefore cannot be deployed there at all and are tested against a mainnet fork instead.
It serves state at the chain head only. A pinned-block fork test survives only while Foundry's cache covers it and fails the moment the test touches an address the cache does not hold. Budget for an archive provider if you are running historical simulations.
The RPC hard-refuses a log query that matches more than ten thousand results, and times out on dense ranges well before that. Because density is unpredictable, no fixed block window is safe — split the range and recurse on failure. A naive catch => [] here reads as "no results" and will silently report an empty holder set.
This is an Arbitrum Nitro chain, so a contract reading block.number sees the Ethereum block number, not a local one. Anything that needs a monotonic local clock should use block.timestamp.
BNB Chain
Currently selected. NASDANK went live on chain 56 on 2026-08-23 with 21 deploys, all verified on-chain.
| Field | Value |
|---|---|
| Chain id | 56 · hex 0x38 |
| Network name | BNB Chain (wallets call it "BNB Smart Chain") |
| Gas token | BNB |
| Wrapped gas token | WBNB · 0xbb4CdB9C…bc095c |
| Public RPC | https://bsc-dataseed.bnbchain.org |
| Explorer | BscScan |
| DEX venue | Uniswap V4 for Custom launches, PancakeSwap V3 for Pro |
| Pinned stable | USDT, 18 decimals on BSC · 0x55d39832…197955 |
PancakeSwap V3 and a separate Uniswap V3 both exist on chain 56, and they are not interchangeable. NASDANK uses PancakeSwap V3 for launches and vault-basket buys (deeper market, and its router takes the deadline-carrying exactInputSingle), and Uniswap-V3-on-BSC for protocol fee conversion (its router matches the no-deadline shape the fee hook calls). Wiring them the other way round makes every conversion fail silently into a catch and pay the protocol leg in kind instead of in WBNB.
PancakeSwap V3 enables {100, 500, 2500, 10000}. The 3000 tier is disabled and reverts. If you carry Uniswap's {500, 3000, 10000} table over to Pancake, every 0.3% pool creation fails.
Not 6. Treating it as a 6-decimal stable scales every routed amount by a factor of 1012.
What differs, at a glance
| Robinhood Chain | BNB Chain | |
|---|---|---|
| Chain id | 4663 | 56 |
| Gas | ETH | BNB |
| Fees paid in | WETH | WBNB |
| Basic path tier | Pro (V3) | Custom (V4) — plain V3 is not deployed there |
| V3 fee tiers | 0.05 / 0.3 / 1% | 0.01 / 0.05 / 0.25 / 1% (Pancake) |
| Stable hop | USDG (6 dec) | USDT (18 dec) |
| V4 router param shape | one extra uint256 word | canonical struct |
Robinhood's UniversalRouter predates the final v4-periphery struct and decodes SWAP_EXACT_IN_SINGLE params with one extra uint256 before hookData. BNB's Uniswap-Labs router takes the canonical ExactInputSingleParams. Sending the wrong shape reverts with an empty return — no selector, no reason string, nothing to read. Both were confirmed by eth_call-ing each shape against each router on a live pool.
Adding a network to a wallet
{
2 : 3 ,
4 : 5 ,
6 : { 7 : 8 , 9 : 10 , 11 : 18 },
12 : [ 13 blockExplorerUrls 14 https: 1
}{
2 : 3 ,
4 : 5 ,
6 : { 7 : 8 , 9 : 10 , 11 : 18 },
12 : [ 13 blockExplorerUrls 14 https: 1
}Every NASDANK address on both chains is on Contract addresses.