Robinhood Chain contract addresses
Addresses of the main Robinhood Chain contracts: WETH, USDG, stock tokens, Uniswap v2/v3/v4, launchpads, LP lockers, v4 hooks, bridges. Look any up with Crius.
The Uniswap v4 PoolManager is 0x8366a39cc670b4001a1121b8f6a443a643e40951, WETH 0x0bd7d308f8e1639fab988df18a8011f41eacad73 and USDG 0x5fc5360d0400a0fd4f2af552add042d716f1d168; the tables below list the rest by protocol. To identify any other address, call GET /v1/robinhood/search?q=<address>: it returns the token, pool, hook or labeled contract at that address.
This page lists the main smart contracts on Robinhood Chain (chain id 4663): core tokens, the Uniswap v2, v3 and v4 deployments, every launchpad Crius tracks (Pons, Flap.sh, Bankr and Doppler, Long.xyz, Flywheel, King of the Markets), LP lockers and vesting contracts, verified Uniswap v4 hooks, and bridges, routers and other infrastructure. Each address comes from the Crius contract registry, built from Crius’s own Robinhood Chain archive node, with contract names from Sourcify verification where a contract is verified. Every address links to Robinhood Chain Etherscan.
To identify an address that isn’t listed, see Look up any address with Crius.
Core tokens
ETH is the native gas token. It has no contract; the API writes it as 0x0000000000000000000000000000000000000000 wherever a pool or curve is quoted in native ETH. See Robinhood Chain.
| Contract | Address | What it is |
|---|---|---|
| WETH | 0x0bd7d308f8e1639fab988df18a8011f41eacad73 |
Wrapped ETH: aeWETH, the Arbitrum bridged WETH, 18 decimals. Crius treats it as ETH for pricing. |
| USDG | 0x5fc5360d0400a0fd4f2af552add042d716f1d168 |
Global Dollar (Paxos) stablecoin, 6 decimals, behind an ERC1967 proxy. The main dollar quote; Crius counts it as $1. |
| Robinhood stock token beacon | 0xe10b6f6b275de231345c20d14ab812db62151b00 |
Beacon of the Robinhood stock tokens: every stock token is a BeaconProxy that points to it. |
Tokenized stocks
The registry lists 200 Robinhood stock tokens; those whose proxy it records are BeaconProxy contracts behind the beacon above. A selection is below; find any other by its symbol with search and check that the result carries a stock_ label.
| Contract | Address | What it is |
|---|---|---|
| AAPL | 0xaf3d76f1834a1d425780943c99ea8a608f8a93f9 |
Robinhood stock token, symbol AAPL (BeaconProxy). |
| AMZN | 0x12f190a9f9d7d37a250758b26824b97ce941bf54 |
Robinhood stock token, symbol AMZN (BeaconProxy). |
| GOOGL | 0x2e0847e8910a9732eb3fb1bb4b70a580adad4fe3 |
Robinhood stock token, symbol GOOGL (BeaconProxy). |
| META | 0xc0d6457c16cc70d6790dd43521c899c87ce02f35 |
Robinhood stock token, symbol META (BeaconProxy). |
| MSFT | 0xe93237c50d904957cf27e7b1133b510c669c2e74 |
Robinhood stock token, symbol MSFT (BeaconProxy). |
| NVDA | 0xd0601ce157db5bdc3162bbac2a2c8af5320d9eec |
Robinhood stock token, symbol NVDA (BeaconProxy). |
| TSLA | 0x322f0929c4625ed5bad873c95208d54e1c003b2d |
Robinhood stock token, symbol TSLA (BeaconProxy). |
| AMD | 0x86923f96303d656e4aa86d9d42d1e57ad2023fdc |
Robinhood stock token, symbol AMD (BeaconProxy). |
| PLTR | 0x894e1ec2d74ffe5aef8dc8a9e84686accb964f2a |
Robinhood stock token, symbol PLTR (BeaconProxy). |
| COIN | 0x6330d8c3178a418788df01a47479c0ce7ccf450b |
Robinhood stock token, symbol COIN (BeaconProxy). |
| SPY | 0x117cc2133c37b721f49de2a7a74833232b3b4c0c |
Robinhood stock token, symbol SPY (BeaconProxy). |
| QQQ | 0xd5f3879160bc7c32ebb4dc785f8a4f505888de68 |
Robinhood stock token, symbol QQQ (BeaconProxy). |
| SPCX | 0x4a0e65a3eccec6dbe60ae065f2e7bb85fae35eea |
Robinhood stock token, symbol SPCX (BeaconProxy). |
| BABA | 0xad25ac6c84d497db898fa1e8387bf6af3532a1c4 |
Robinhood stock token, symbol BABA (BeaconProxy). |
| SKHY | 0x84cab63bc87912e71ad199ff14a0ba45de68fef8 |
Robinhood stock token, symbol SKHY (BeaconProxy). |
| AMC | 0x05a3d1cd21d0c88145e82600e62e7e496e0f222b |
Robinhood stock token, symbol AMC. |
Uniswap v2
| Contract | Address | What it is |
|---|---|---|
| UniswapV2Factory | 0x8bceaa40b9acdfaedf85adf4ff01f5ad6517937f |
Uniswap v2 factory: runtime bytecode identical to the canonical Uniswap v2 factory. The fee switch is on (feeTo is the TokenJar below). |
| UniswapV2Router02 | 0x89e5db8b5aa49aa85ac63f691524311aeb649eba |
Uniswap v2 router: factory() is the factory above and WETH() is aeWETH. |
| TokenJar | 0x2ac03e14cfe755426daaee0a4994184ce81482f8 |
The v2 factory’s feeTo: receives the protocol-fee LP tokens that pairs mint. Not a locker. |
Uniswap v3
| Contract | Address | What it is |
|---|---|---|
| UniswapV3Factory | 0x1f7d7550b1b028f7571e69a784071f0205fd2efa |
Uniswap v3 factory. Fee tiers seen: 100, 500, 3000 and 10000 (0.01% to 1%). |
| NonfungiblePositionManager | 0x73991a25c818bf1f1128deaab1492d45638de0d3 |
Uniswap v3 position manager: v3 LP positions as NFTs. |
| SwapRouter02 | 0xcaf681a66d020601342297493863e78c959e5cb2 |
Uniswap v3 SwapRouter02 (verified on Sourcify). |
| Uniswap v3 factory owner | 0x05c420bc4823e039aa4da645edde743486daaa25 |
Owner of the v3 factory: sets each pool’s protocol fee (feeProtocol), which is on for some pools. |
Uniswap v4
All v4 pools share the PoolManager. Crius identifies a v4 pool by its 32-byte pool id; see Uniswap v2, v3 & v4.
| Contract | Address | What it is |
|---|---|---|
| PoolManager | 0x8366a39cc670b4001a1121b8f6a443a643e40951 |
Uniswap v4 singleton: every v4 pool lives inside this contract (pools are 32-byte ids, not contracts), so it holds the tokens of all v4 pools. |
| PositionManager | 0x58daec3116aae6d93017baaea7749052e8a04fa7 |
Uniswap v4 position manager: v4 LP positions as NFTs. |
| StateView | 0xf3334192d15450cdd385c8b70e03f9a6bd9e673b |
Read-only lens over the PoolManager: getSlot0, getLiquidity, getTickInfo, getPositionInfo and fee-growth reads. |
| V4FeeAdapter | 0x6d0009504d129cf5002dba61d9ae8575aa79314c |
Uniswap v4 protocol fee controller. |
| UniversalRouter | 0x8876789976decbfcbbbe364623c63652db8c0904 |
Uniswap UniversalRouter (verified on Sourcify). ETH it sends out in a swap transaction is the swap’s payout. |
| Permit2 | 0x000000000022d473030f116ddee9f6b43ac78ba3 |
Uniswap Permit2 at its canonical address: signature-based token approvals. |
Other DEX factories
Factories of other DEXes and Uniswap code forks deployed on Robinhood Chain.
| Contract | Address | What it is |
|---|---|---|
| DemoPancakeFactory | 0x02a84c1b3bbd7401a5f7fa98a384ebc70bb5749e |
Pancake-style v2 fork (verified). Flap’s dex 1: a few Flap tokens graduate here. |
| DemoPancakeFactory router | 0x8cfe327cec66d1c090dd72bd0ff11d690c33a2eb |
Router of DemoPancakeFactory (its factory() is that factory). |
| RamsesV3Factory | 0xe0c4ceb92d08ca985bb70fe0a22feb121a9854a8 |
Ramses v3 factory (verified). |
| GigaV3Factory | 0x221a6239e40709792b0d4bdc140fa36158cd41c7 |
Giga v3 factory (verified). |
| AbyssFactory | 0xe7fef2bc860b25bbdeb6f6ab96d88baaa77ddad7 |
Abyss factory (verified). |
| UniswapV3Factory (fork) | 0xe51960f1b45f1c9fb6d166e6a884f866fc70433b |
A separate deployment of the Uniswap v3 factory code, verified as UniswapV3Factory. Not the official factory above. |
| UniswapV3Factory (fork) | 0x4d41822c1804fff5c038e4905cfd1044121e0e85 |
Another separate deployment of the Uniswap v3 factory code. Not the official factory. |
Pons
The factory deploys each Pons token with its own bonding-curve contract (launch.curve on the token profile); Pons v2’s verified sources call the token contract PonsV2LauncherToken. See Pons.
| Contract | Address | What it is |
|---|---|---|
| PonsV2LaunchFactory | 0x7ed598bcef8bd9edd8c97a195c6d13f40801ec7e |
Pons launch factory: creates each token and its bonding curve and emits TokenLaunched (token, curve, deployer, pair token). Deployed at block 26,841,846. |
| PonsV2LaunchDeployer | 0x3711cea4feade896c913c68f01eda97cb06d1a42 |
Pons v2 launch deployer, used by the factory. |
| PonsV2LaunchAndBuy | 0xe33e9e479df8802cb0866d5d05258bec4cf62948 |
Forwarder that launches a token for its creator (launchTokenFor) and buys in the same transaction. |
| PonsV2MemeHook | 0xe5e702641ea86f4ae6cc3cdaed2b886f976be044 |
Uniswap v4 hook of graduated Pons pools (flags 0x2044): can modify swap amounts. |
Pons launch locker (RobinFunFiV2LaunchLocker) |
0x267444d099b10fb5ed7c3cc7b7c767adca574952 |
Holds the Uniswap v4 LP positions of graduated Pons tokens. |
| PonsV2FeeEscrow | 0xd3afeb2a57f70ef218aa82451c51b2fb0416ac9e |
Pons fee escrow. |
| PonsV2BuybackVault | 0x42df2a798f82289e177311362e8f5ccc45c1219c |
Pons buyback vault. |
| Pons graduation guard | 0xf5695117b99b6f6401e67d4195bd653628176c6c |
Pons contract involved in graduation (source not verified). |
Flap.sh
Flap keeps every curve inside the Portal and graduates tokens into a Uniswap v2 pair (or the DemoPancakeFactory fork) with the LP burned. See Flap.sh.
| Contract | Address | What it is |
|---|---|---|
| Flap Portal | 0x26605f322f7ff986f381bb9a6e3f5dab0beaeb09 |
TransparentUpgradeableProxy to the Portal: the single entry point and emitter for every Flap launch, curve trade and graduation (TokenCreated, TokenBought, TokenSold, LaunchedToDEX). Keeps every bonding curve. |
| Portal implementation | 0xf9209bdb1e04aca3104d5c6eed12a034451bbd99 |
Portal logic, v5.23.1 when the registry was built (verified exact match). |
| Flap VaultPortal | 0xe9f7ab7de8fb8756acbb6a1cd13316a43308197b |
Launch path for tax tokens bound to a vault, such as stock-basket vaults; it calls the Portal, so TokenCreated still comes from the Portal. |
| VaultPortal implementation | 0xe5789d9d5616dd8ec66de95bb31a29ac1c847769 |
VaultPortal logic, v1.12.1 (verified exact match). |
| ProxyAdmin | 0x21f7f9b33dfd0dbc3a94c0efa79f1546a1391ff5 |
Admin of the Portal and VaultPortal proxies. |
| FlapTaxTokenV3 | 0x7777c8743c88b3aff3cf262135bef2c8b2e83333 |
Template every Flap tax token clones (EIP-1167); clone addresses end in 7777. |
| FlapNonTaxToken | 0x88882688a067fe97e11c2185b996286e53132222 |
Template for non-tax tokens; clone addresses end in 8888. |
| Tax processor implementation | 0xc903bfdebe4dc682a10a3d8b8b8a35794ab295f2 |
Each tax token’s taxProcessor() is a clone of it: receives the bonding-curve tax (source not verified). |
| Dividend implementation | 0x915ff5f358092043dd68df27f20e670193af83a8 |
Each tax token’s dividendContract() is a clone of it: pays dividends in the quote, stock or basket token (source not verified). |
| TaxTokenHelper | 0xb10bd2672ae63735d677164a54b573a016f0203c |
Flap tax token helper (upgradeable proxy). |
| Trigger service | 0xd3421b1b616a72bb88993a0cf75709bb8d532cc1 |
Flap trigger service (upgradeable proxy; implementation not verified). |
| Fee receiver (Safe) | 0xa4a727e0918cf9b39639fc4cb7d742d39c5352a4 |
2-of-3 Safe: receives the 1% bonding-curve fee in ETH and the protocol share of tax. |
| Stocks vault factory (IndexVaultFactory) | 0xe6ca297d1d963b6f00d5b216986123caeb883af6 |
Creates the stock-basket vaults (Stocks Vault v3) most Flap vault tokens use; emits IndexVaultCreated. |
| Mirror pair factory | 0x0d1ebb179cdbca88d74c923c4255cb2b17474afd |
Display-only, v2-shaped pairs that mirror curve trades with virtual reserves and no token movement. Not a DEX; Crius doesn’t index them. |
| Flap launch farm #1 | 0x8f96447d5d15571bc18705b2f1f09aec1b376666 |
Vanity batch executor run by one operator wallet that mass-creates Flap tokens, so TokenCreated.creator is this contract. |
| Flap launch farm #2 | 0x5bbb332a7ea0bbc98424304326c3dce71d8b6666 |
Vanity batch executor run by one operator wallet that mass-creates Flap tokens, so TokenCreated.creator is this contract. |
| Flap launch farm #3 | 0x8bf8eace53982a349195c452d1a22d025fae6666 |
Vanity batch executor run by one operator wallet that mass-creates Flap tokens, so TokenCreated.creator is this contract. |
| Flap launch farm #4 | 0xb3023412cf5fe15811a158234e3fd70a7d6b6666 |
Vanity batch executor run by one operator wallet that mass-creates Flap tokens, so TokenCreated.creator is this contract. |
| Flap launch farm #5 | 0x948ed9814055e4b74c3885f2de1599600b206666 |
Vanity batch executor run by one operator wallet that mass-creates Flap tokens, so TokenCreated.creator is this contract. |
| Flap launch farm #6 | 0xcfc61f923c726a5f20dc56d8a925d31bf3e56666 |
Vanity batch executor run by one operator wallet that mass-creates Flap tokens, so TokenCreated.creator is this contract. |
Bankr and Doppler
Bankr launches through the Doppler contracts, which other integrators share. A token counts as Bankr’s when the Airlock records Bankr’s integrator for it and its address ends in ba3. See Bankr.
| Contract | Address | What it is |
|---|---|---|
| Airlock | 0xeb7c034704ef8dcd2d32324c1545f62fb4ad0862 |
Shared Doppler (Whetstone Research) launch entry point: deploys each token and pool and emits Create. Bankr, Long.xyz and other integrators launch through it. |
| DopplerHookInitializer | 0x4e3468951d49f2eea976ed0d6e75ffcb44a9a544 |
Uniswap v4 hook and Doppler multicurve initializer (flags 0x2544): owns the curve LP positions and is the hooks address of every Bankr pool. |
| RehypeDopplerHookInitializer | 0x9982538f41f2ae29ddb9d3d9307010052984fdbb |
Doppler Hook the initializer calls on initialization and on swaps: anti-snipe fees, the hook fee, buybacks and LP reinvestment. Its own swaps inside user transactions aren’t user trades. |
| Earlier Doppler hook | 0x6f02324d20cc679d0e585290caa6b16bacbc0f77 |
Doppler Hook of Bankr launches before about block 20.18 million (source not verified). |
| DopplerERC20V1Factory | 0x1b37d3a72082029c44b35b604ea473617580b69a |
Deploys each token as a clone at a deterministic address; Bankr mines the salt so its tokens end in ba3. |
| DopplerERC20V1 | 0x3be8b97fd0e713b5abe0649fa830223b6b4bc599 |
Token implementation every Bankr token clones: vesting, max-balance limit, tokenURI(). |
| NoOpMigrator | 0xba2f330edb16cd8056f5988d8ce19bbc63475a0e |
Migrator whose migrate() always reverts: why Bankr tokens never graduate. |
| LaunchpadGovernanceFactory | 0xdb036746d65dd52126b1915f1adf555e6c5237cf |
Governance factory; Bankr tokens are set up with no governance. |
| Doppler protocol owner (Safe) | 0x21e2ce70511e4fe542a97708e89520471daa7a66 |
Airlock.owner(): must be a pool-fee beneficiary with at least 5%. |
| Bankr integrator | 0xf60633d02690e2a15a54ab919925f3d038df163e |
Address (no code) Bankr passes as the integrator. Anyone can pass it, so Crius also requires the ba3 suffix. |
| Bankr protocol fee beneficiary (Safe) | 0x5f8da8f88ec81e27f2e22fcb9ca5d926c595e508 |
Receives 2/3 of the beneficiary-routed hook fee on standard Bankr launches. |
| BNKR buyback beneficiary (Safe) | 0x042455f9990098e11592be1fbd72e6dc68419b13 |
Receives the other 1/3 of that fee. |
| BNKR (Robinhood Chain) | 0x178e54df3d091ee4d0b2534742ef9e3692b76526 |
BNKR token on Robinhood Chain (source not verified); an allow-listed quote for Bankr launches. |
Long.xyz
Long.xyz launches through the Doppler Airlock listed above, which would emit Migrate if a token migrated. See Long.xyz.
| Contract | Address | What it is |
|---|---|---|
| LongLaunchFactory | 0x1eef016f22a943abc7dd11422edee9d235942104 |
Current Long.xyz launch factory (UUPS proxy, verified): launches through the Doppler Airlock and emits LaunchCreated. |
| LongLauncher | 0x22e99278308b393ea1260859b181ad7e78f5eeed |
Earlier Long.xyz launcher (verified); same LaunchCreated event. |
Flywheel
Flywheel v2 launches each token straight into a Uniswap v4 pool; there is no separate curve. Tokens from Flywheel’s older v1 deployment aren’t covered. See Flywheel.
| Contract | Address | What it is |
|---|---|---|
| Flywheel StandardLaunchFactory | 0xf05a26e92e27b8f0385f6895f5507db26a2f4b8d |
Launch entry point (TokenLaunched); 0.0005 ETH creation fee; holder and creator reward claims. |
| Flywheel StandardLaunchHook | 0x992118de23b4ebe9f527dacbbb7d8d4bbbf8e044 |
Uniswap v4 hook of every Flywheel pool (fee 0, tick spacing 200, flags 0x2044): holds the single-sided liquidity, takes a 4% tax on swaps and emits Graduated when its liquidity reaches the target. |
| Flywheel StandardFeeRouter | 0x3bb49db5a7ee80c9c132b9f7376058f11b0d9c7b |
Splits the hook tax into rewards, burn, locked liquidity and platform. |
| Flywheel StandardTokenDeployer | 0x7b9aedf3257cfebf288009b1be6def2c19f68e58 |
Deploys launch tokens for the factory. |
| Flywheel NativePlatformDistributor | 0x64c69108052c05844a459e618b168a8d4aeca96f |
Pays out the platform’s ETH: 69% to the buyback recipient, 31% to the owner. |
| Flywheel buyback recipient | 0xae6e5d2dbf09451ba4a223e24b720ec13be740c1 |
Receives 69% of platform ETH. |
| Flywheel owner / deployer | 0xf9b9b1a0b12f8aa50cbaa32628fcc07f7c0c64ab |
Deployed and owns the factory; receives 31% of platform ETH. |
| Flywheel operator | 0x7a4b26e7b0f6d8ae0402349ba52e41433cc3f965 |
Maintenance operator (finalOperator) of the factory. |
King of the Markets (Standard Reserve)
Curves are priced in a stock token (SPCX, BABA or SKHY, listed under Tokenized stocks) and graduate into a Uniswap v4 pool with permanently locked liquidity. See King of the Markets.
| Contract | Address | What it is |
|---|---|---|
| LaunchFactory (King of the Markets) | 0x3d6ea4e97b8ab9e1a1b4943febffe22d8c920091 |
Launches tokens and emits both Launched and Graduated; 0.0005 ETH launch fee. |
| BondingCurve | 0x0d6fd6f0f07c1b6caec7150966a801b7d5a991e3 |
Implementation of the per-token curves: each launch’s curve is an EIP-1167 clone of it, priced in a stock token. |
| LaunchHook | 0x048f2dc8a71a0321b5e119cd577c56d0190920cc |
Uniswap v4 hook of every graduated pool (flags 0x20cc); emits Trade for every pool swap. |
| LaunchRouter | 0x190b452d16e12e3beedd76a030ea991fe3856c33 |
The only caller allowed to trade on curves for others: converts ETH or USDG to and from the quote stock. |
| TokenDeployer | 0xf47e03bea56c4de656dc7423ebf66e503f84f7be |
Deploys launch tokens for the factory. |
| FeeEscrow | 0xcbc8f65ef158c829379472dee771cf3e7741440e |
Holds each curve’s creator fees; claim(curve) pays the curve’s fee recipient. |
| KOTM fee Safe (2-of-4) | 0x047829087f9ac81fdb05f7b750458afe3d72415f |
Receives the launch fee, the protocol share of trade fees, snipe fees and stock dust at graduation. |
| CharterDrop | 0xff4639d2369b7411e666c9b4a44dbfb2b51ba1e1 |
Receives the charter-drop tokens at graduation for $STANDARD charter holders. |
| SessionFeeHook | 0xc15b155a3094934171a15625d1a80aba267b6080 |
v4 hook on the stock/USDG pools the router converts through; its fee depends on the US market session. |
| Deployer and owner | 0xb1748f1857bef8de020982aa33f6f9cc1b9ad3c1 |
Deployed the King of the Markets contracts and owns the factory. |
Other launch contracts
| Contract | Address | What it is |
|---|---|---|
| PresaleFactory (Hoodsale) | 0x8dcc19e98713c2ec024dd337edea18bebc490942 |
Hoodsale presale factory (verified). Not tracked as a launchpad by the Crius API. |
| FablesRampETH | 0x06a889870c8f83640d6816319f72e2aa579b6080 |
Fables launch contract (verified). Not tracked as a launchpad by the Crius API. |
Lockers and vesting
The liquidity endpoint GET/token/{address}/liquidity reads locks in the Pons launch locker, UNCX v2, v3 and v4, Team Finance, Titan Locker and HoodLock: which locker, until when and who can withdraw. See Check if liquidity is locked.
| Contract | Address | What it is |
|---|---|---|
Pons launch locker (RobinFunFiV2LaunchLocker) |
0x267444d099b10fb5ed7c3cc7b7c767adca574952 |
Holds the v4 LP positions of graduated Pons tokens. |
| UniswapV2Locker (UNCX) | 0xb560307e7e02a58dbb03562aab32700255140e37 |
UNCX locker for Uniswap v2 LP tokens. |
| UNCX_LiquidityLocker_UniV3 | 0xf28704c691290547924e2129d407da36bda8ce0f |
UNCX locker for Uniswap v3 positions. |
| UniV4LiquidityLockerV3 (UNCX) | 0x128a800cbc615cc110bff16e475865c67631603a |
UNCX locker for Uniswap v4 positions. |
| Team Finance locker | 0x3a7de5f29557405f5d9fd06b570a53b966a78e8e |
Locks tokens and v3 position NFTs (lockNFT). |
| TitanLockerManagerV1 | 0x713e56cee7060f01f710bf26aff988264dcfb311 |
Titan Locker v1 manager: each lock is its own contract (count with tokenLockerCount()). |
| TitanLockerManagerV2 | 0x26b0654a0756dcd036d4e7215324f3d2be34d79e |
Titan Locker v2 manager. |
| TitanLockerManagerV2 (v2.1) | 0x102a70bda2c833b3483a2ee55c14c7ea0fb7a01b |
Titan Locker v2.1 manager. |
| Titan Locker v2.1 vault | 0x4e907349fa31f9e42f0bf0e2e2fd09e6e1e2db9d |
Holds Titan.fun launch locks. |
| RobinhoodLocker (HoodLock) | 0xd0f7d8c6e9f6d80c297bebe4f7fd1b9c8125c32f |
HoodLock token locker. |
| HoodLockLPLocker | 0x91aa2da1956c77f8448e18dcaf53383bcc658e67 |
HoodLock LP locker. |
| RobinhoodVesting (HoodLock) | 0x910e19bcc4bce46999994ed7297e0fc4431ec72e |
HoodLock vesting contract. |
Well-known Uniswap v4 hooks
Verified hooks with 10 or more pools in the registry’s scan of blocks 88,079,339 to 91,079,339, apart from the launchpad hooks listed above, ordered by pool count. A hook’s permissions are encoded in the low 14 bits of its address (the flags), and the capabilities in this table follow from them. A verified name says nothing about safety: check a hook with GET/hook/{address} and read Uniswap v4 hooks.
| Contract | Address | What it is |
|---|---|---|
| ERC1967Proxy → LunchTaxHookPair | 0x4eb1976978756bd56802d8162f2271844924e0cc |
Flags 0x20cc: can change swap amounts (a fee or tax), can block or reprice swaps. |
| ClankerHookStaticFeeV2 | 0x48b8f6ad3a1b4aa477314c9a23035b8f84dde8cc |
Clanker hook. Flags 0x28cc: can change swap amounts (a fee or tax), can block or reprice swaps. |
| RealmHook | 0xae4c0cf7c3feb79e0c244edbc6a3f8a3290940cc |
Realm hook. Flags 0xcc: can change swap amounts (a fee or tax), can block or reprice swaps. |
| UniversalKlikHook | 0x745d717620052a97a22deee2e5eba59583f3e0cc |
Klik hook. Flags 0x20cc: can change swap amounts (a fee or tax), can block or reprice swaps. |
| HookeMemeHook | 0x7e39dec0cfe5f63e80663ad96986987670cf68ec |
Flags 0x28ec: can change swap amounts (a fee or tax), can block or reprice swaps. |
| TaxHook | 0xe692d5872aacd9eff8cc07fb8791a30c1ef420cc |
Flags 0x20cc: can change swap amounts (a fee or tax), can block or reprice swaps. |
| RealmHookAnyPair | 0x24d9308561c322a603370a0c3bead39e05da00cc |
Flags 0xcc: can change swap amounts (a fee or tax), can block or reprice swaps. |
| SynthHookV2 | 0x980879a75e09662d923c99ff74bd119ac29c6aec |
Flags 0x2aec: can change swap amounts (a fee or tax), can block or reprice swaps, can gate liquidity removal. |
| FeeHook | 0x7aaed0e255d3b8cc0cca8e5130f7ab32a8a520cc |
Flags 0x20cc: can change swap amounts (a fee or tax), can block or reprice swaps. |
| PositionManager | 0x8d346f24278c5cd786309161aac0fc2bbe4c25dc |
Flags 0x25dc: can change swap amounts (a fee or tax), can block or reprice swaps. Not the Uniswap v4 PositionManager: a hook with the same contract name. |
| HookrRoot | 0x89c9fb50d1f03192230ffb1c279bb6e7d3fe6acc |
Flags 0x2acc: can change swap amounts (a fee or tax), can block or reprice swaps, can gate liquidity removal. |
| ERC1967Proxy → LunchTaxHook | 0xf7521cf0bb7c11e2d2794189412614cf2e29a0cc |
Flags 0x20cc: can change swap amounts (a fee or tax), can block or reprice swaps. |
| BasedBidHook | 0x037bf303462bb3cde80038a1945cd10af1ebdacc |
Flags 0x1acc: can change swap amounts (a fee or tax), can block or reprice swaps, can gate liquidity removal. |
| WormbookHook | 0x49d8e239878ba17ebd2ec9de5f8b25fc66d5aaec |
Flags 0x2aec: can change swap amounts (a fee or tax), can block or reprice swaps, can gate liquidity removal. |
| ArklisFeeHook | 0xbba868de24cb83dc5851fae9ec27cb905c5fa0cc |
Flags 0x20cc: can change swap amounts (a fee or tax), can block or reprice swaps. |
| PoolInitializationGuard | 0x19bec7c2e1b2aadaf67b259744751a9960d66000 |
Flags 0x2000: runs only before pool initialization. |
| CashCatHookV2 | 0x75a54357d9c78a2db19004a5fdc76c50f9242aec |
Flags 0x2aec: can change swap amounts (a fee or tax), can block or reprice swaps, can gate liquidity removal. |
| UniwallHook | 0xbef9c77ec3c1a0d92c4cb6264f8923b37a63eae0 |
Uniwall hook (verified). |
Bridges, routers and other infrastructure
| Contract | Address | What it is |
|---|---|---|
| RelayRouterV3 | 0xb92fe925dc43a0ecde6c8b1a2709c170ec4fff4f |
Relay router. |
| RelayApprovalProxyV3 | 0xccc88a9d1b4ed6b0eaba998850414b24f1c315be |
Relay approval proxy. |
| Relay solver | 0x0ec4e45f9ce3020024c0418a74cd31fbc487038f |
Relay.link solver: fills cross-chain buys on Robinhood Chain for the buyer’s wallet. Not a trader itself. |
| Relay solver | 0x4381045063b19a615a272733fa6b5f169b622646 |
Relay.link solver, same role. |
| Relay.link bridge solver | 0xf70da97812cb96acdf810712aa562db8dfa3dbef |
Relay.link bridge solver. |
| Relay.link bridge solver (hot wallet) | 0xada5bb90d0de0bd1b6f3938708f49295a8d1f7cb |
Relay.link bridge solver hot wallet. |
| Relay.link bridge | 0x56c262027e0de4aea31d2489529cb25d23e58a8b |
Relay.link bridge address. |
| Relay.link bridge | 0xa67d7eb4dc68fa6ce8e34ef8cadaf075b9893fbb |
Relay.link bridge address. |
| Across Protocol SpokePool (bridge) | 0xd29c85f15df544ba632c9e25829fd29d767d7978 |
Across bridge SpokePool. |
| MetaAggregationRouterV2 (KyberSwap) | 0x6131b5fae19ea4f9d964eac0408e4408b66337b5 |
KyberSwap aggregator router. |
| DexRouter (OKX) | 0x6e2a35a7ad683cf634d91492d73bb7ff774c6919 |
OKX DEX aggregator router. |
| GMGN swap router | 0x65050a9b7e5075a2ba5ced7b1b64ee66262c40dc |
GMGN swap router (TransparentUpgradeableProxy). |
| EntryPoint v0.7 | 0x0000000071727de22e5e9d8baf0edac6f37da032 |
ERC-4337 EntryPoint v0.7 (canonical): smart-account deployments call it. |
| EntryPoint v0.6 | 0x5ff137d4b0fdcd49dca30c7cf57e578a026d2789 |
ERC-4337 EntryPoint v0.6 (canonical). |
| EntryPoint | 0x4337084d9e255ff0702461cf8895ce9e3b5ff108 |
ERC-4337 EntryPoint (verified as EntryPoint). |
| FOMO smart wallet (EIP-7702 delegate) | 0xe6cae83bde06e4c305530e199d7217f42808555b |
Code FOMO app wallets delegate to: every account delegating here is a FOMO wallet (source not verified). |
| FOMO relayer #3 | 0xe950337f36e45c316c53c69a5f285487b54f0bad |
Submits gas-sponsored swaps for FOMO app wallets. Not a trader itself. |
| FOMO relayer #4 | 0x9a3811b1afeadf2800b499eb234a7ab8f366dfbf |
Submits gas-sponsored swaps for FOMO app wallets. Not a trader itself. |
| Multicall3 | 0xca11bde05977b3631167028862be2a173976ca11 |
Multicall3: batches calls in one transaction. |
| Disperse | 0xef57ff79e0577b2e835614478fccec5a49e17f2c |
Disperse: sends ETH or tokens to many addresses. Funding through it counts as from the transaction signer. |
| Disperse (ClipperPayout) | 0xd15fe25ed0dba12fe05e7029c88b10c25e8880e3 |
Disperse-style payout contract. |
| GasliteDrop (airdrop disperser) | 0xe68d0bbc023de3febda04f413db23ce9c5ea1934 |
GasliteDrop airdrop disperser. |
| OpenSea Seaport | 0x0000000000000068f116a894984e2db1123eb395 |
OpenSea Seaport marketplace contract. |
| KuCoin hot wallet (Robinhood Chain) | 0x88d25c861938a91af4ad57ad964a8fcc6c6351d3 |
KuCoin withdrawals on Robinhood Chain. |
| CriusPayments | 0xee4ce8614bcd9d910ae0e4f0995b26edc017a8ec |
Crius subscription payments (USDG, ETH or WETH). See Billing. |
Look up any address with Crius
The search endpoint GET/search matches token, pool, wallet and hook addresses exactly and needs no API key. A contract that isn’t a token, pool or hook comes back as type: "wallet" with its Crius label.
A labeled contract: the Pons launch locker
What is 0x267444d099b10fb5ed7c3cc7b7c767adca574952?
curl "https://api.crius.sh/v1/robinhood/search?q=0x267444d099b10fb5ed7c3cc7b7c767adca574952"const res = await fetch("https://api.crius.sh/v1/robinhood/search?q=0x267444d099b10fb5ed7c3cc7b7c767adca574952");const { data, meta } = await res.json();import requests
r = requests.get( "https://api.crius.sh/v1/robinhood/search?q=0x267444d099b10fb5ed7c3cc7b7c767adca574952",)body = r.json()print(body["data"])Real response 200 Captured Oct 28, 2026 · 18 lines (arrays trimmed)
{ "data": [ { "address": "0x267444d099b10fb5ed7c3cc7b7c767adca574952", "label": "pons_v2_launch_locker", "type": "wallet" } ], "meta": { "block": 100454326, "block_age_ms": 1049, "block_ts": 1793229947000, "chain": "robinhood", "finalized_block": 100446224, "lag_ms": 24, "safe_block": 100449754 }}What this tells you
- One result:
type: "wallet"withlabel: "pons_v2_launch_locker". The label is the contract’s key in the Crius registry, so the address is a known contract (the Pons launch locker), not a trader. - Crius uses the same label everywhere: in a token’s bubble map the locker is listed under
hidden_infrawith the taglp_locker, not as a holder.
A Uniswap v4 hook: DopplerHookInitializer
What is the hook 0x4e3468951d49f2eea976ed0d6e75ffcb44a9a544?
curl "https://api.crius.sh/v1/robinhood/search?q=0x4e3468951d49f2eea976ed0d6e75ffcb44a9a544"const res = await fetch("https://api.crius.sh/v1/robinhood/search?q=0x4e3468951d49f2eea976ed0d6e75ffcb44a9a544");const { data, meta } = await res.json();import requests
r = requests.get( "https://api.crius.sh/v1/robinhood/search?q=0x4e3468951d49f2eea976ed0d6e75ffcb44a9a544",)body = r.json()print(body["data"])Real response 200 Captured Oct 28, 2026 · 19 lines (arrays trimmed)
{ "data": [ { "address": "0x4e3468951d49f2eea976ed0d6e75ffcb44a9a544", "name": "DopplerHookInitializer", "pools": 224219, "type": "hook" } ], "meta": { "block": 100454337, "block_age_ms": 1126, "block_ts": 1793229948000, "chain": "robinhood", "finalized_block": 100446224, "lag_ms": 6, "safe_block": 100449754 }}What this tells you
type: "hook"andname: "DopplerHookInitializer": the verified contract name.pools: 224219: the hook’s pool count when the sample was captured.
For a hook, GET/hook/{address} (Free plan) adds its permissions, code and what its pools did:
How risky is the Doppler hook?
What can the hook 0x4e3468951d49f2eea976ed0d6e75ffcb44a9a544 do to swaps?
curl "https://api.crius.sh/v1/robinhood/hook/0x4e3468951d49f2eea976ed0d6e75ffcb44a9a544" \ -H "x-api-key: $CRIUS_API_KEY"const res = await fetch("https://api.crius.sh/v1/robinhood/hook/0x4e3468951d49f2eea976ed0d6e75ffcb44a9a544", { headers: { "x-api-key": process.env.CRIUS_API_KEY },});const { data, meta } = await res.json();import os, requests
r = requests.get( "https://api.crius.sh/v1/robinhood/hook/0x4e3468951d49f2eea976ed0d6e75ffcb44a9a544", headers={"x-api-key": os.environ["CRIUS_API_KEY"]},)body = r.json()print(body["data"])Real response 200 Captured Oct 28, 2026 · 124 lines (arrays trimmed)
{ "data": { "abi_events": [ "Collect(bytes32,uint256,uint256)", "Create(address,address,address)", "DelegateAuthority(address,address)" ], "address": "0x4e3468951d49f2eea976ed0d6e75ffcb44a9a544", "attribution": "unattributed", "capabilities": { "can_block_swaps": false, "can_gate_liquidity": false, "can_modify_liquidity_amounts": false, "can_modify_swap_amounts": true }, "code": { "admin_functions": [], "checked_ts": 1793207143998, "code_hash": "0xc41a91106002f15bf70ae266824317f3f3ac638ac72ca5253bae395fa47ee631", "family": "0xaa37a5a3457a", "kind": "contract", "logic": null, "owner": null, "ownership": "none", "size": 25533 }, "events": [ { "emitted_in_scan": 7796, "event": "Swap(address,(address,address,uint24,int24,address),bytes32,(bool,int256,uint160),int128,int128,bytes)", "topic0": "0x1d9f7b5e406d8c887155e1a78e070d2d41c5d0444dab8b21612f846835c27183" }, { "emitted_in_scan": 1724, "event": "ModifyLiquidity((address,address,uint24,int24,address),(int24,int24,int256,bytes32))", "topic0": "0xdb675a606e5aa8f039e93c54673258dc875053bdaa5dbb96de1670bfdece53b3" }, { "emitted_in_scan": 545, "event": "Create(address,address,address)", "topic0": "0xb224da6575b2c2ffd42454faedb236f7dbe5f92a0c96bb99c0273dbe98464c7e" } ], "family": { "honeypot_pct": 0.0318652, "hooks": 1, "id": "0xaa37a5a3457a", "liquidity_pulled_pct": 0.0389463, "pools_traded": 28244, "taxed_pct": 1.78091, "verified_hooks": 1 }, "fee_tiers_in_scan": [ { "fee": 10000, "pools": 3 }, { "fee": 15000, "pools": 2 }, { "fee": 16000, "pools": 1 } ], "flags": [], "flags_hex": "0x2544", "launchpad": null, "launchpad_name": null, "name": "DopplerHookInitializer", "observed": { "dynamic_tax_pools": 24, "first_trade_ts": 1782922953000, "honeypot_pools": 9, "last_trade_ts": 1793223683000, "liquidity_pulled_pct": 0.0389463, "liquidity_pulled_pools": 11, "max_buy_tax_pct": 99.52, "max_sell_tax_pct": 93.49, "median_pool_life_min": 2138, "pools": 224061, "pools_traded": 28244, "tax_measured_pools": 5814, "taxed_10pct_pools": 29, "taxed_pools": 503, "volume_usd": 1968346259 }, "pattern": { "description": "hooks that change swap amounts only", "honeypot_pct": 0.0696347, "id": "swap_delta_only", "liquidity_pulled_pct": 7.93603, "pools_traded": 43082, "taxed_pct": 15.7537 }, "permissions": [ "beforeInitialize", "afterAddLiquidity", "afterRemoveLiquidity" ], "pools": 224090, "risk": [ "can_modify_swap_amounts" ], "risk_level": "low", "stats": { "pools_created_24h": 1181, "trades_24h": 59387, "volume_usd_24h": 7478239 }, "verified": true }, "meta": { "block": 100406861, "block_age_ms": 985, "block_ts": 1793225084000, "chain": "robinhood", "finalized_block": 100397649, "intel_computed_ts": 1793223685333, "lag_ms": 107, "safe_block": 100401329 }}What this tells you
verified: true,flags_hex: "0x2544"andcapabilities.can_modify_swap_amounts: true, whilecan_block_swapsandcan_gate_liquidityarefalse. Crius rates itrisk_level: "low".code.ownership: "none"andadmin_functions: []: no owner and no admin functions in its code.observed.pools_traded: 28244, of whichtaxed_pools: 503andhoneypot_pools: 9. The hook is shared by many tokens, so check each token too.
Searching by name or symbol finds tokens, and anyone can copy a name:
A token named after a contract
Is the token called DopplerHookInitializer the Doppler hook?
curl "https://api.crius.sh/v1/robinhood/search?q=DopplerHookInitializer&limit=3"const res = await fetch("https://api.crius.sh/v1/robinhood/search?q=DopplerHookInitializer&limit=3");const { data, meta } = await res.json();import requests
r = requests.get( "https://api.crius.sh/v1/robinhood/search?q=DopplerHookInitializer&limit=3",)body = r.json()print(body["data"])Real response 200 Captured Oct 28, 2026 · 33 lines (arrays trimmed)
{ "data": [ { "address": "0x5d7b39c02e85f4e455ddd5555bb364ae4ee1fba3", "label": null, "launchpad": "bankr", "launchpad_name": "Bankr", "links": { "discord": null, "farcaster": null, "github": null, "telegram": null, "twitter": null, "website": null }, "liquidity_usd": 0, "logo": null, "name": "DopplerHookInitializer", "price_usd": null, "symbol": "DopplerHookInitializer", "type": "token" } ], "meta": { "block": 100454642, "block_age_ms": 792, "block_ts": 1793229979000, "chain": "robinhood", "finalized_block": 100446224, "lag_ms": 35, "safe_block": 100449754 }}What this tells you
- The only result is
type: "token"at0x5d7b39c02e85f4e455ddd5555bb364ae4ee1fba3, a Bankr launch (launchpad: "bankr") withliquidity_usd: 0. It is not the hook at0x4e3468951d49f2eea976ed0d6e75ffcb44a9a544. - Search by the address instead: an address search returns the hook itself, as in the example above.
Three tokens with the symbol NVDA
Which NVDA token is NVIDIA's Robinhood stock token?
curl "https://api.crius.sh/v1/robinhood/search?q=NVDA&limit=3"const res = await fetch("https://api.crius.sh/v1/robinhood/search?q=NVDA&limit=3");const { data, meta } = await res.json();import requests
r = requests.get( "https://api.crius.sh/v1/robinhood/search?q=NVDA&limit=3",)body = r.json()print(body["data"])Real response 200 Captured Oct 28, 2026 · 73 lines (arrays trimmed)
{ "data": [ { "address": "0xd0601ce157db5bdc3162bbac2a2c8af5320d9eec", "label": "stock_nvda", "launchpad": null, "launchpad_name": null, "links": { "discord": null, "farcaster": null, "github": null, "telegram": null, "twitter": null, "website": null }, "liquidity_usd": 5721129, "logo": null, "name": "NVIDIA • Robinhood Token", "price_usd": 214.176, "symbol": "NVDA", "type": "token" }, { "address": "0xdecf74e4aa6ff30b1612e65665aaf650bedecba3", "label": null, "launchpad": "bankr", "launchpad_name": "Bankr", "links": { "discord": null, "farcaster": null, "github": null, "telegram": null, "twitter": null, "website": null }, "liquidity_usd": 7066.22, "logo": null, "name": "NVDA", "price_usd": 0.000000282052, "symbol": "NVDA", "type": "token" }, { "address": "0xaaea5ec642e0b3ebbe7b484ad3702a408ca743c9", "label": null, "launchpad": "pons", "launchpad_name": "Pons", "links": { "discord": null, "farcaster": null, "github": null, "telegram": "https://t.me/NVDADogAsset", "twitter": "https://x.com/NVDADogAsset", "website": "https://www.nextviraldogasset.vip" }, "liquidity_usd": 4679.87, "logo": "https://api.crius.sh/v1/robinhood/logo/0xaaea5ec642e0b3ebbe7b484ad3702a408ca743c9.png?size=128", "name": "Next Viral Dog Asset", "price_usd": 0.00000270715, "symbol": "NVDA", "type": "token" } ], "meta": { "block": 100457202, "block_age_ms": 975, "block_ts": 1793230257000, "chain": "robinhood", "finalized_block": 100446224, "lag_ms": 7, "safe_block": 100449754 }}What this tells you
- The first result,
0xd0601ce157db5bdc3162bbac2a2c8af5320d9eec, is namedNVIDIA • Robinhood Token, carrieslabel: "stock_nvda"and hasliquidity_usd: 5721129atprice_usd: 214.176. - The other two,
0xdecf74e4aa6ff30b1612e65665aaf650bedecba3(Bankr) and0xaaea5ec642e0b3ebbe7b484ad3702a408ca743c9(Pons, named “Next Viral Dog Asset”), use the same symbol with no label.
Once you know what an address is, go deeper: a token address with /token/{address} (profile, creation and contract verification), a v2 or v3 pool address or a v4 pool id with /pool/{pool}, and a token’s pools with /token/{address}/pools. See Search tokens, pools and wallets.
Found a wrong or missing address? Write to support@crius.sh.
Frequently asked questions
What is 0x267444d099b10fb5ed7c3cc7b7c767adca574952?
The Pons launch locker on Robinhood Chain, verified on Sourcify as RobinFunFiV2LaunchLocker. It holds the Uniswap v4 LP positions of graduated Pons tokens: at graduation the position is minted into it. Crius labels it pons_v2_launch_locker, shows it as the lp_locker in /token/{address}/launch and counts the liquidity it holds as locked in /token/{address}/security and /token/{address}/liquidity.
What is the Doppler hook 0x4e3468951d49f2eea976ed0d6e75ffcb44a9a544?
DopplerHookInitializer, a verified Uniswap v4 hook that is also Doppler's multicurve initializer. It is the hook of every Bankr pool (Bankr launches through the shared Doppler Airlock 0xeb7c034704ef8dcd2d32324c1545f62fb4ad0862) and owns the curve LP positions. Its permission flags (0x2544) let it change swap amounts, so Crius flags it can_modify_swap_amounts and rates it risk_level: "low". On Bankr launches since about block 20.18 million, anti-snipe fees, the hook fee, buybacks and LP reinvestment run in a second contract it calls, the RehypeDopplerHookInitializer 0x9982538f41f2ae29ddb9d3d9307010052984fdbb.
What is the Uniswap v4 PoolManager address on Robinhood Chain?
0x8366a39cc670b4001a1121b8f6a443a643e40951. Every Uniswap v4 pool on Robinhood Chain lives inside this one contract, so a v4 pool is a 32-byte pool id, not an address. The v4 PositionManager is 0x58daec3116aae6d93017baaea7749052e8a04fa7 and the StateView lens 0xf3334192d15450cdd385c8b70e03f9a6bd9e673b.
What is PonsV2LauncherToken?
The token contract of Pons v2 launches. The verified Pons launch factory (0x7ed598bcef8bd9edd8c97a195c6d13f40801ec7e) takes a PonsV2LauncherToken.Socials struct (twitter, telegram, discord, website, farcaster) when it launches a token. Each Pons token has its own address; look one up with GET /v1/robinhood/token/{address}.
Is a contract with a familiar name the real one?
Not necessarily. Anyone can deploy a token or contract with any name or symbol: a search for DopplerHookInitializer finds a Bankr token with that name, and a search for NVDA finds Bankr and Pons tokens next to the Robinhood stock token. Always compare the full 40-character address with this page or with the label and type that Crius search returns.
Related
Get your free Crius API key
Every example on this page works with a free key: higher rate limits than the anonymous plan, holders, wallets and the WebSocket stream. No card needed.
- Robinhood Chain (4663) only, from our own archive nodes
- REST + WebSocket
- Pay on-chain or by card