Integration
Network
Cowl runs on Robinhood Chain, an Arbitrum-based L2. The shielded pool is live on mainnet and testnet both. Point a client at a network with one command, or wire these values into your own.
Robinhood Chain mainnet
Mainnet · Live
Where the money is. Deployed once as an immutable release, every spend proof bound to chain ID
4663.| Field | Value |
|---|---|
| Chain ID | 4663 |
| RPC | https://robinhood-rpc.publicnode.com |
| Explorer | robinhoodchain.blockscout.com |
| Native asset | ETH |
| Shielded pool | 0x6f9866…6a3E |
| Relayer | https://relay.cowlprotocol.com/mainnet |
Robinhood Chain testnet
Testnet · Live
The same code with free funds. Everything in the docs is proven here first, so it is the right place to rehearse a flow before it costs anything.
| Field | Value |
|---|---|
| Chain ID | 46630 |
| RPC | https://46630.rpc.thirdweb.com |
| Explorer | explorer.testnet.chain.robinhood.com |
| Native asset | ETH |
| Shielded pool | 0xf9F825…2A59 |
| Relayer | https://relay.cowlprotocol.com |
Point the CLI
cowl network use robinhood-mainnet
cowl config set rpcUrl https://your-endpoint # optional
cowl status # confirm the pool it is talking toBoth clients carry fallback endpoints and move on when one declines a call, so a single flaky node is not an outage.
Reading logs
One thing to know before you point an indexer here: the public endpoints treat historical log queries very differently. The fast one declines them outright, and the archive one rate limits hard. Anything log-shaped wants the explorer’s REST API or your own node. Reading contract state works fine on any of them, which is why the watcher reads state rather than events.
Note
The public RPC is a starting point, not a dependency. Any Robinhood Chain endpoint works — the pool, the proofs, and your keys never trust the node with anything private.