Appearance
Connect to the chain
LootFi is deployed on Robinhood Chain, an Arbitrum Nitro L2 with native ETH for gas.
Mainnet only
There is no testnet deployment. Every transaction you send is real and irreversible. Test with small amounts — gas is a fraction of a cent, so a throwaway transaction is cheap.
Chain parameters
| Chain ID | 4663 (0x1237) |
| Name | Robinhood Chain |
| Currency | ETH, 18 decimals |
| RPC | https://rpc.mainnet.chain.robinhood.com |
| Explorer | https://robinhoodchain.blockscout.com |
Add it to a wallet
js
await window.ethereum.request({
method: "wallet_addEthereumChain",
params: [{
chainId: "0x1237",
chainName: "Robinhood Chain",
nativeCurrency: { name: "Ether", symbol: "ETH", decimals: 18 },
rpcUrls: ["https://rpc.mainnet.chain.robinhood.com"],
blockExplorerUrls: ["https://robinhoodchain.blockscout.com"],
}],
});viem
ts
import { defineChain, createPublicClient, http } from "viem";
export const robinhoodChain = defineChain({
id: 4663,
name: "Robinhood Chain",
nativeCurrency: { name: "Ether", symbol: "ETH", decimals: 18 },
rpcUrls: { default: { http: ["https://rpc.mainnet.chain.robinhood.com"] } },
blockExplorers: {
default: { name: "Blockscout", url: "https://robinhoodchain.blockscout.com" },
},
});
export const publicClient = createPublicClient({
chain: robinhoodChain,
transport: http(),
});ethers v6
ts
import { JsonRpcProvider, Network } from "ethers";
const network = Network.from({ chainId: 4663, name: "robinhood" });
const provider = new JsonRpcProvider(
"https://rpc.mainnet.chain.robinhood.com",
network,
{ staticNetwork: network }, // skips a chainId round-trip per call
);Verify you are connected to the right chain
bash
curl -s -X POST https://rpc.mainnet.chain.robinhood.com \
-H 'content-type: application/json' \
-d '{"jsonrpc":"2.0","id":1,"method":"eth_chainId","params":[]}'
# → {"jsonrpc":"2.0","id":1,"result":"0x1237"}Always assert the chain id before sending a transaction. An EIP-712 order signed against the wrong chain id will never verify, because the domain separator binds it — see Sign an order.
Explorer URL patterns
https://robinhoodchain.blockscout.com/address/<address>
https://robinhoodchain.blockscout.com/tx/<txHash>
https://robinhoodchain.blockscout.com/token/<address>/instance/<tokenId>Gas
Nitro prices L2 execution and L1 data separately, so the total cost of a transaction depends on its calldata size as well as its computation.
Estimate per transaction; never hardcode a gas limit. A limit that works today can fail after a calldata change — for example burning 50 tokens instead of one. Use estimateGas and apply a modest buffer.