Skip to the content
TAPEHOUSE

Documentation · Get started

Networks

The chains Tapehouse has a registry for, their chain IDs and RPC endpoints, what is deployed on each, and how to get test funds on the testnet.

Tapehouse is live on one chain, Robinhood Chain's testnet (46630). Two more chains, Robinhood Chain (4663) and Arbitrum One (42161), have a registry in the repository, and neither holds the Tapehouse contracts the SDKs need to borrow, lend or short. Everything on the testnet is unaudited.

Chains#

NetworkChain IDRPCRegistry
Robinhood Chain testnet46630https://rpc.testnet.chain.robinhood.comdeployments/46630.json
Robinhood Chain4663https://robinhood.drpc.orgdeployments/4663.json
Arbitrum One42161https://arbitrum.gateway.tenderly.codeployments/42161.json
Local dev node412346http://127.0.0.1:8547none committed

The testnet's RPC is Robinhood Chain's public endpoint. The RPCs of the other chains are the defaults the repository's Makefile uses for fork tests (public archive endpoints that need no key); set ROBINHOOD_RPC_URL, ROBINHOOD_TESTNET_RPC_URL or ARBITRUM_RPC_URL to use your own. The dev node is the local Nitro node that make devnode starts.

The block explorer of the testnet is https://explorer.testnet.chain.robinhood.com. The public indexer for the testnet is https://indexer-production-f5dc.up.railway.app (see the API).

The registry#

A registry is the file deployments/<chainId>.json in the repository. It lists every contract the repository uses on that chain, grouped by what it is. No SDK compiles in an address: each reads the registry at runtime, and a mixed-case address in it must carry its checksum. Fork tests check each entry against the chain at a pinned block.

GroupWhat it holds
tokensUSDG, WETH and the Stock Tokens, by symbol
chainlinkChainlink feeds by name, such as TSLA_USD. On Robinhood Chain they price the Stock Token, on Arbitrum One the share
chainlinkSequencerThe L2 sequencer-uptime feed, where the chain has one (.Uptime)
tapehouseThe band, the margin engine, the accounts, the vaults, the liquidator, the backstop, the auction, the shorts, the baskets, the gap cover, the sponsor paymaster, and the halt signer and owner addresses
bandFeedsEach asset's BandFeed, which serves the band's low side as a Chainlink round
uniswapV3Uniswap's factory, swap router, quoter and the pools the margin engine reads
morpho, morphoOraclesMorpho Blue, its interest rate model and markets, and each asset's oracle
erc4337The EntryPoint and the SimpleAccount factory

"chainlinkRegularHours": true says the registry's Chainlink feeds follow NYSE's regular hours. The testnet sets it, because its feeds are RedStone round feeds of the regular-hours price.

What is deployed where#

The full stack is deployed: the band and the margin engine (both Stylus programs), the margin accounts, the supply vault, the liquidator, the gap backstop, the reopening auction, a stock lending vault for TSLA and AMZN, the short positions, the basket PAIR, the gap cover and the sponsor paymaster. The assets are TSLA and AMZN. The collateral is the wrapped token: wTSLA and wAMZN wrap Robinhood's testnet TSLA and AMZN one to one and add the oraclePaused view the band reads, so .tokens.TSLA and .tokens.AMZN are the wrappers. The testnet has no Uniswap v3, so the repository deployed Uniswap's factory, a swap router, a quoter and a pool of each asset against USDG, all at 0.05%. The pools' depth is small, and so are the testnet's loans.

EntryAddress
.tokens.USDG0x7E955252E15c84f5768B83c41a71F9eba181802F
.tokens.WETH0x7943e237c7F95DA44E0301572D358911207852Fa
.tokens.TSLA0x588ecCac8c70cdE770b57BA9A192CfF8D636534e
.tokens.AMZN0x04D3d2Bb86BbeE4b4AeD29474fB30D7b639Aa381
.chainlink.TSLA_USD0x64C39E726207689A6cdf5E688520F850E70cE617
.chainlink.AMZN_USD0x9eF3F38921CeB70969dE21A812727A59b01dF644
.tapehouse.Band0xCAB25d6C9460BEE96997A1Df664b14daC2c49359
.tapehouse.HaltSigner0x56972f8bd78C46F782E19d8c2E09a5894356a18C
.tapehouse.Owner0x8A2631c8226D7EA5612798e6E8C34F4DC703d0ac
.tapehouse.Margin0x85cbe267eF0c5dEC5Fc2aFc0b439cc62caB94982
.tapehouse.SupplyVault0xDa62E570B6d1A038C1b3b011555BdA1fFd82038F
.tapehouse.MarginAccounts0xcE8C3CB4E1A8b944BC607353055cE5a3D07eC101
.tapehouse.Liquidator0x53579Ef2b4F36E8E84F9776239db29156e4465aE
.tapehouse.GapBackstop0x32acef0BBCB78b88d82b672DFE3F325105dAEd8E
.tapehouse.ReopeningAuction0x8fcE1e7d2D5e470A5ae7569F803d2957b3A771CB
.tapehouse.ShortPositions0xadc174ca32EBD4B27579E3759903F43b8F53D97F
.tapehouse.GapCover0x482434d135eeA48797c1d960DF0f3A01E434ad17
.tapehouse.SponsorPaymaster0x3721b8136593BCC78787943664cF9404d12Ecbd2
.tapehouse.StockLending.TSLA0xD7921e0C3D475647a384735a64aaB56C30fdEd03
.tapehouse.StockLending.AMZN0xF12432A8B6263D206D5d482ac1FA4bE29744D1A1
.tapehouse.Baskets.PAIR0x31B777cCC84236B6f53882890ABC7CD19b4c9575
.uniswapV3.Factory0x843788502e38cD2BeCf3B1A09f8CF30353f3a983
.uniswapV3.SwapRouter020x0A8c14340c3f59aF1B1e2C834135e1477bae2C64
.uniswapV3.QuoterV20x905a4ca58Fed98Bc21639DC651db2271F7E3B9e0
.uniswapV3.TSLA_USDG_5000x3B5a8161d8A352b6C2cE2f358eE3413eDbdAdAfF
.uniswapV3.AMZN_USDG_5000x951f2226CfBcc7cEC0347a7be10a78082D3078D2
.bandFeeds.TSLA0xf725e77cB02029267f38355074Da70aC8Ea2CE87
.bandFeeds.AMZN0xdAFc2dDAe8D5815468Ae2cc470bbD8674D988D2f
.references.Margin0x68B73e2c70cd61B9d94cCF7c0F3502F9DE93749c
.erc4337.EntryPoint0x0000000071727De22E5E9d8BAf0edAc6f37da032
.erc4337.SimpleAccountFactory0x91E60e0613810449d098b0b5Ec8b51A0FE8c8985

Get test funds#

The testnet needs ether for gas, test USDG and a Stock Token.

WhatWhere
Test USDGPaxos' faucet. The app links to it from its header
A Stock TokenRobinhood's testnet faucet
GasA smart account pays no gas for its creation and its first three operations through the sponsor paymaster. An externally owned account needs testnet ether

The app wraps the testnet's Stock Token into wTSLA or wAMZN when you deposit, from your wallet. With the SDK you wrap it yourself: wTSLA and wAMZN follow the interface of StockTokenWrapper, whose depositFor takes the Stock Token and mints the wrapper.

Add the testnet to a wallet#

Enter these values in your wallet's custom network form.

FieldValue
Network nameRobinhood Chain Testnet
RPC URLhttps://rpc.testnet.chain.robinhood.com
Chain ID46630
Currency symbolETH (18 decimals)
Block explorerhttps://explorer.testnet.chain.robinhood.com

In viem the same chain is robinhoodTestnet from viem/chains, and Robinhood Chain is robinhood.

Next#