How it works
Networks
One private core, two chains. Robinhood Chain for tokenized equities, Tempo for stablecoin payments.
- Robinhood testnet
- 46630
- Tempo testnet
- 42431
- Robinhood gas
- ETH
- Tempo gas
- Stablecoin
Two chains, one shielded pool design
Gloam is not a chain. It is a shielded-pool contract plus verifiers, deployed to the chains where the markets already are. The same circuits, the same vault design, and the same SDK run on both networks. What differs is the asset each chain leads with: tokenized equities on Robinhood Chain, stablecoins on Tempo. The app switches networks at runtime and points at the right pool for each.
Robinhood Chain
An Arbitrum Orbit L2 built for financial services and real-world assets, and the surface where tokenized stocks and onchain culture already settle. Standard EVM tooling and Uniswap-class paths exist. Gloam adds the private layer where the equities are.
- Mainnet chain ID, 4663
- Testnet chain ID, 46630
- Native gas, ETH
- Testnet RPC,
https://rpc.testnet.chain.robinhood.com - Testnet vault (sealed pool),
0x72406D9597807A46f730d8b4fDBC5aC45Dc1d740 - Official docs, docs.robinhood.com/chain
Tempo
Tempo is a payments-first, EVM-compatible L1 (Reth) built around stablecoins, incubated by Stripe and Paradigm. It is the natural home for private payments: the chain is designed for moving money, and Gloam makes the amounts and balances private while settlement stays verifiable. Gloam is live on Tempo's Moderato testnet.
- Testnet name, Tempo Moderato
- Testnet chain ID, 42431
- Native currency, USD (gas is paid in a stablecoin, not ETH)
- Testnet RPC,
https://rpc.moderato.tempo.xyz - Explorer,
https://explore.testnet.tempo.xyz - Sealed pool (hardened),
0x841DC046Ea3CC842BA3A855731472c6Eb0F2d5eb - Shieldable asset, PathUSD (6-decimal stablecoin),
0x20c0000000000000000000000000000000000000
Integration notes (what is different from an ETH chain)
Tempo is stablecoin-native, so the vault integration differs from an ETH-gas chain in a few concrete ways. If you build against Tempo, these are the things that bite:
- No native value transfers. Tempo does not carry value in
msg.value. You shield an ERC-20 stablecoin, not a native coin, so the shield path always moves a token withtransferFrom, never a payable call. - 6-decimal accounting. PathUSD uses 6 decimals, not 18. Amounts, notes, and disclosures normalize decimals per asset. Do not assume 1e18.
- 30M gas cap per transaction. Proof-verifying calls are heavy, so deploys and some calls run near the cap. Tune your gas estimate multiplier down (we deploy at ~1.12x) rather than letting an estimator overshoot the 30,000,000 limit.
- Faucet is an RPC method. Fund a testnet address with the
tempo_fundAddressRPC call rather than a web faucet. The in-app "Get testnet funds" link uses it.
On Tempo the product is private stablecoin payments, for people and for agents: shield PathUSD, pay and send to a receive tag without showing your size, prove a balance when you have to, and cash out to a public balance whenever you want it public. Tokenized-equity markets are a Robinhood Chain product and do not appear on Tempo.
Switching networks in the app
The network selector in the app header lists every Gloam network and points the app at that chain's pool, faucet, and explorer. Both networks are testnet today. The registry lives in one place (networks.ts) so the same shield, private send, cash out, and selective-disclosure flows run against whichever chain is active.
Honest status
Both deployments are testnet with play money. The proving keys are a development ceremony. A production multi-party ceremony and an external audit are the gate before any mainnet, on either chain. The contracts were self-reviewed across two multi-agent audit passes, the findings fixed, and the hardened pools redeployed on both chains.