Contracts
Addresses on Robinhood Chain testnet, and which one to call.
All addresses below are testnet, chainId 46630. Explorer: explorer.testnet.chain.robinhood.com.
Testnet carries none of the mainnet assets. The Stock Tokens, USDG, WETH, price feeds and DEX at these addresses are mocks deployed alongside the protocol. They are there to exercise the mechanism, not to be worth anything.
Markets
Each market is two contracts. Write to the pool, read from the router — see how it works.
| Market | LendingPool (write) | LendingPoolRouter (read) |
|---|---|---|
| NVDA / USDG | 0x3F4ED6941F3256A19D6D183Fa0b9954CE35BF6DD | 0x1a4883edcCCa3Ec2bE5D2E9513c8778d40d0F514 |
| SPY / USDG | 0xaC0a72F42fed452f20229DeC9B3968bd5D52B9eB | 0x400D788b221132b26F33b982ebEF9A45ce1158E8 |
| WETH / USDG | 0x537bdAEbcF699EA9433dCdc3e392c2CD0b8476C1 | 0x052bfd476FEEdc6C63802A412810fFA3587A0927 |
Core
| LendingPoolFactory | 0xf9FFE01E83593d2b6A50c0130631e029cF82e8f8 |
| InterestRateModel | 0x6800DF591EB43cDaBD4B31519b650F3f8BE11D6d |
| IsHealthy | 0x4F9A425c73031Cc53859F0932CC82Ba0636bfED9 |
| TokenDataStream | 0xAb9b266f64dA601F7afb9582dE59DF9485d7e48a |
| PaboxoEmitter | 0x2520CebA903782D3AB60D9e207de2B2C4Cfa09b7 |
| HelperUtils | 0xf8765e5e3a5C5da37424D686abf5d9fC23cB97D8 |
Earn vault
| PaboxoEarnVault (USDG) | 0xF6805a2Bcd51f79e62d57097fcB91493771dbe93 |
Oracles
Each adapter wraps a Chainlink feed. NVDA and SPY are additionally bound to the market calendar; WETH and USDG are not, because they have no market hours.
| Asset | Feed adapter | Underlying feed |
|---|---|---|
| NVDA | 0xaf9842ADacB4b2fA619D45fE11579Fae5FAf1698 | 0xAE75c0638Ff015663Bf88348d4aabD2b6feE85CF |
| SPY | 0xf861c4282C68e927331F8a4AA8C8bF9AE027aC64 | 0x8ab3650f02603C97dE6DeAFF927041fC536366Ae |
| WETH | 0xC7e9CF4Bc5f6C43e1410FfA33436287968003aCE | 0x9eaA6eC9e0b55948309Eb320166312cb0807B6de |
| USDG | 0xDa5D036f51Bd6Fe5e32915a53595B71312d45f91 | 0xA5d79D3aeF96C10629a93041F31d7D4eCfD34FD5 |
| MarketCalendar | 0x249A1d049ce9C68c818eB5Afc53359F547C176A4 |
Tokens
| Address | Decimals | |
|---|---|---|
| USDG | 0x560Bd1836C348c4a10EED7008e68AE58228dD117 | 6 |
| NVDA | 0x8a105Bd6153561f48c9034623e811FC0B379dfc8 | 18 |
| SPY | 0x943fCC03799400a672a8f82907d3a320FA76eFC1 | 18 |
| WETH | 0x26991986AEc6748F439940949B74873418006383 | 18 |
USDG has 6 decimals and everything else has 18. Assuming 18 for USDG is a factor of one trillion, and it is the single most common integration mistake here.
Superseded addresses
Some contracts have been redeployed. The deployment artifact keeps the old addresses under a
previous* key so history is readable, but they are not in use:
- an earlier earn vault,
0x530F48Df8e4D60BBF9BbcFE8cF584344514af193 - an earlier set of feed adapters
- an earlier
StableEngine— see pUSD
Upgradeability
The factory, markets, routers, positions, rate model and data stream are UUPS proxies. The earn vault and the stable engine are not — fixing those means deploying new ones, which is how the superseded addresses above came to exist.
Upgrade rights are held by an EOA, not a multisig, and there is no timelock. See risks.
Chain
| Testnet | Mainnet | |
|---|---|---|
| chainId | 46630 | 4663 |
| RPC | https://rpc.testnet.chain.robinhood.com | https://rpc.mainnet.chain.robinhood.com |
| Explorer | explorer.testnet.chain.robinhood.com | robinhoodchain.blockscout.com |
Robinhood Chain charges no priority fee. Send maxPriorityFeePerGas: 0 — a tip is not merely
wasted, it prices your transaction differently from every other one on the chain.