Developers

Build against it, and know where it ends

A contract written for an Arbitrum Orbit chain compiles, deploys and runs here unmodified, because every precompile answers at its real address with its real ABI. What follows is exactly where that stops being true.

Connect

Network name
RobinFork
RPC URL
https://rpc.robinhoodfork.fun
Chain ID
42019 (Robinhood Chain mainnet is 4663 and its testnet is 46630; RobinFork is sovereign and deliberately neither)
Currency
RORK
Block time
1000ms
Blob transactions
Rejected. An Orbit chain posts its data to the parent chain rather than accepting type-3 transactions itself, so accepting them here would let code work locally that fails for real.

Reproduced faithfully

Arbitrum precompiles
All fourteen at their real addresses, same ABI, same return shapes
ArbSys 0x64
arbBlockNumber, arbChainID, arbOSVersion (reports 116, meaning ArbOS 61), address aliasing
ArbGasInfo 0x6c
getPricesInWei with Nitro’s exact six-tuple, getGasAccountingParams, L1 data pricing
ArbRetryableTx 0x6e
Real ticket lifecycle: 7 day lifetime, keepalive, redeem, beneficiary-only cancel
ArbOwner 0x70 / ArbOwnerPublic 0x6b
Chain ownership and the gas knobs that actually change behaviour
ArbBLS 0x67
Reverts, exactly as the disabled precompile does on a real chain
EVM
Cancun, EIP-1559, TSTORE and MCOPY available
Tokenized equities
ERC-20 plus the ERC-8056 scaled UI amount interface Robinhood Chain’s Stock Tokens use
Market sessions
Chainlink’s marketStatus taxonomy, on chain, enforced

Where the emulation stops

No parent chain
There is no Ethereum underneath. Nothing settles, nothing is proved, and there is no outbox.
block.number
On a real Orbit chain this returns the parent chain block number and updates every ~13s. Here it is the local block number. Use ArbSys.arbBlockNumber() and you are correct on both.
sendTxToL1
Records the message and refunds the value in the same transaction. On a real chain the value is escrowed behind a 7 day challenge period.
Base fee model
geth’s EIP-1559, not Nitro’s exponential backlog pricer. Fees move differently under load.
Block time
One second. Robinhood Chain produces a block roughly every 100ms.
Sequencing
One geth dev node. No batch posting, no force inclusion, no Timeboost, no delayed inbox.
Stylus
ArbWasm and ArbWasmCache are not deployed. There is no WASM VM here.
NodeInterface 0xc8
Holds real code here. On a real chain the address is empty and the node intercepts calls to it, so a contract cannot call it at all.
Session gating
No shipping tokenized-equity protocol gates ERC-20 transfers on market hours. RobinFork does, deliberately, as its defining primitive. Do not expect a real Stock Token to behave this way.

Precompiles

AddressContract
0x0000000000000000000000000000000000000064ArbSys
0x0000000000000000000000000000000000000065ArbInfo
0x0000000000000000000000000000000000000066ArbAddressTable
0x0000000000000000000000000000000000000067ArbBLS
0x0000000000000000000000000000000000000068ArbFunctionTable
0x0000000000000000000000000000000000000069ArbosTest
0x000000000000000000000000000000000000006bArbOwnerPublic
0x000000000000000000000000000000000000006cArbGasInfo
0x000000000000000000000000000000000000006dArbAggregator
0x000000000000000000000000000000000000006eArbRetryableTx
0x000000000000000000000000000000000000006fArbStatistics
0x0000000000000000000000000000000000000070ArbOwner
0x0000000000000000000000000000000000000071ArbWasm
0x0000000000000000000000000000000000000072ArbWasmCache
0x00000000000000000000000000000000000000c8NodeInterface
0x00000000000000000000000000000000000000ffArbDebug

System contracts

AddressContract
0x5555555555555555555555555555555555555555WRORK
0x2222222222222222222222222222222222222222RorkBridge
0x1111111111111111111111111111111111111111ComplianceRegistry
0x3333333333333333333333333333333333333333AssetRegistry
0x4444444444444444444444444444444444444444MarketHours
0x6666666666666666666666666666666666666666PriceOracle
0x7777777777777777777777777777777777777777DividendDistributor

Try it

# the chain id, through ArbSys rather than eth_chainId
curl -s https://rpc.robinhoodfork.fun -H 'content-type: application/json' \
  -d '{"jsonrpc":"2.0","id":1,"method":"eth_call","params":[{"to":"0x0000000000000000000000000000000000000064","data":"0xd127f54a"},"latest"]}'

# what ArbOS version this chain claims (0x74 = 116, meaning ArbOS 61)
curl -s https://rpc.robinhoodfork.fun -H 'content-type: application/json' \
  -d '{"jsonrpc":"2.0","id":1,"method":"eth_call","params":[{"to":"0x0000000000000000000000000000000000000064","data":"0x051038f2"},"latest"]}'

# the current market session, Chainlink marketStatus codes
curl -s https://rpc.robinhoodfork.fun -H 'content-type: application/json' \
  -d '{"jsonrpc":"2.0","id":1,"method":"eth_call","params":[{"to":"0x4444444444444444444444444444444444444444","data":"0xdb8d55f1"},"latest"]}'