Contracts
Every launchpad contract on Robinhood Chain (chain id 4663), with the public reads that tie them together. Nothing on this page needs a key or an account. Any node will answer these calls.
Check an address against the chain before you send anything to it. Every address here was read from the contracts themselves on 2026-09-15 using the pins in the last section; the Gateway names the locker, the vault, the router and the position manager, and the locker names the vault. If a page and a contract ever disagree, the contract is right.
Launchpad
| Contract | Address | Source |
|---|---|---|
Gateway (WinrLaunchGateway) | 0x29f8C1833b84F1976C979Cc161fEb3d42F33D4Ea | Verified on the explorer |
| Clanker (token factory) | 0x64068B92B180f22058e46421D95533F4090064DE | Verified on the explorer |
Locker (LpLockerv2) | 0xfDf0Be1BAaD1ea8Ad003e1f488e77544Eb4a6Ce8 | Verified on the explorer |
| ClankerVault | 0x3D925b45b209e72568F3E65682A15701C2d5E25a | Verified on the explorer |
| GraduationReader | 0x54D3fF955d861F1b10f7135c7f7B0320f055dDb7 | Verified on the explorer |
| BuybackVault | 0xb7802642efD5f4C920Ba30B93DbF83254dE028d8 | Exact match on Sourcify |
The Gateway is the only contract a launch calls. It mints the token through Clanker, opens the pool, hands the position to the locker and records the launch. It has no trade function and holds no tokens.
A first Gateway at 0x31C41b11d70611F4bE9aA07acd4156259093f48e was deployed and retired before any token was launched through it. Its launch counter reads zero. It is listed so that it is not mistaken for the live one.
Uniswap V3
| Contract | Address | Source |
|---|---|---|
| SwapRouter02 | 0xCaf681a66D020601342297493863E78C959E5cb2 | Verified on the explorer |
| NonfungiblePositionManager | 0x73991a25C818Bf1f1128dEAaB1492D45638DE0D3 | Verified on the explorer |
| UniswapV3Factory | 0x1f7d7550B1b028f7571E69A784071F0205FD2EfA | Named by the reader and the vault |
| WETH (quote token) | 0x0bd7d308f8e1639fab988df18a8011f41eacad73 | Verified on the explorer |
Public Parameters
Read on 2026-09-15. Each is a view call on the contract named.
| Parameter | Value | Read from |
|---|---|---|
| Launch fee | 0.01 ETH | Gateway.launchFee() |
| Starting tick reference | −252200 | Gateway.startingTickReference() |
| Observation cardinality set at launch | 60 | Gateway.observationCardinality() |
| Creator share of pool fees | 30% | Gateway.CREATOR_REWARD() |
| Token supply | 100,000,000,000 | Clanker.TOKEN_SUPPLY() (in wei, 18 decimals) |
| Pool fee tier | 1% (10000) | GraduationReader.poolFee() |
| Graduation TWAP window | 1800 s | GraduationReader.twapWindow() |
| Minimum TWAP window | 900 s | GraduationReader.minTwapWindow() |
| Graduation threshold | 4.2 ETH of real depth | Published on winr.games; applied by the platform’s graduation policy against the reader’s depth |
| Buyback slice cap | 20% of a token’s credit per call | BuybackVault.MAX_SLICE_BPS() |
| Buyback interval | 600 s per token | BuybackVault.SLICE_INTERVAL() |
| Buyback price band | 3% to 10% below TWAP, widening over 7 days | BuybackVault.BAND_MIN_BPS(), BAND_MAX_BPS(), BAND_RAMP_SECONDS() |
| Burn address | 0x000000000000000000000000000000000000dEaD | BuybackVault.BURN() |
The Pins
These are the reads that establish that the addresses above are one system and not a list. They are what this page was checked against.
Gateway.expectedLocker() == Locker
Gateway.expectedVault() == ClankerVault
Gateway.expectedSwapRouter() == SwapRouter02
Gateway.expectedPositionManager() == NonfungiblePositionManager
Gateway.clanker() == Clanker
Locker.teamRecipient() == BuybackVault
Locker.positionManager() == NonfungiblePositionManager
Locker.factory() == Clanker
GraduationReader.locker() == Locker
GraduationReader.positionManager()== NonfungiblePositionManager
GraduationReader.weth() == WETH
BuybackVault.locker() == Locker
BuybackVault.weth() == WETH
BuybackVault.positionManager() == NonfungiblePositionManager
BuybackVault.twapWindow() == 1800
BuybackVault.minTwapWindow() == 900
SwapRouter02.WETH9() == WETHLocker.teamRecipient() is the one to watch. It is where the 20% share of every pool fee goes, and it is the BuybackVault. The locker’s owner can point it elsewhere; the address it points at today is the contract with no owner and no withdrawal.
The Gateway, the locker, Clanker and the ClankerVault share one owner(). The BuybackVault has no owner() function: the call reverts. The GraduationReader has no owner either.
Reading Them Yourself
Robinhood Chain’s public node answers these without a key:
https://rpc.mainnet.chain.robinhood.com# Gateway.launchFee() -> 0x2386f26fc10000 = 0.01 ETH
curl -s https://rpc.mainnet.chain.robinhood.com \
-H 'content-type: application/json' \
-d '{"jsonrpc":"2.0","id":1,"method":"eth_call","params":[{"to":"0x29f8C1833b84F1976C979Cc161fEb3d42F33D4Ea","data":"0xcf3cf573"},"latest"]}'The selector is the first four bytes of keccak256("launchFee()"); teamRecipient() is 0x37ad4d8b and expectedLocker() is 0x3098c602. Any ABI tool will produce the rest.