Gully Core launchpad
On this page
Gully Core is Gully Chain's own launchpad and DEX core, built by Gully Labs. It replaces the earlier plan to bring in an outside launchpad: launches, pools and the venues built on them all run on one core that Gully Labs maintains.
- One shared liquidity core. A single Vault with concentrated-liquidity and Bin pool managers, so every launch and every DEX built on Gully Core trades against the same core.
- One-transaction launches, liquidity locked forever. A token opens on its real pool in one transaction, tradable from the first block, with the launch liquidity locked forever. No bonding curve and no migration.
- Anti-snipe launch fee. An opening fee that decays to the pool's normal trade fee over the first minute or more, so bots that buy the first block pay for it.
- Creator tax. Optional buy and sell rates for the creator, capped and expiring on their own, frozen from the first trade.
- Launchpads and DEXes as clones. Anyone can open their own launchpad or DEX on Gully Core in one transaction, with its owner, name, brand and launch terms stored on chain.
- Limit orders and DCA. Range orders and dollar-cost averaging work directly against the core, no hook needed.
Coming soon
Gully Core is not deployed yet. It deploys to Gully Chain testnet first; this page lists its addresses after the deploy. Until then the chain runs a small bonding-curve launchpad of its own (addresses below), which the Gully Chain app uses and which Gully Core replaces.
Gully Core is derived from the DeepCore contracts (GPL-2.0-or-later).
#The chain in one table
| Setting | Value |
|---|---|
| Chain ID | 485590 (hex 0x768d6) |
| Type | Arbitrum Orbit L3 (Nitro, ArbOS 51), rollup mode, settles to Arbitrum Sepolia (421614). Mainnet will settle to Arbitrum One. |
| Gas token | ETH, 18 decimals |
| Block production | Blocks on demand, first-come-first-served sequencer, no public mempool, so no classic sandwich bots |
| EVM | Cancun opcodes; Stylus (Rust/WASM) contracts |
| Genesis | L3 block 0 at Arbitrum Sepolia block 322,568,124 |
#The two-clock rule
Heads up
block.number returns the parent chain's block number. On Gully Chain, as on every Arbitrum chain, block.number inside a contract is an L1 block number (Ethereum Sepolia's height on the testnet, Ethereum's on mainnet; see Network reference), while the JSON-RPC's eth_blockNumber and the explorer show Gully Chain's own blocks. A launchpad that uses blocks for launch windows, vesting or cooldowns must use block.timestamp or read the L3 block number with ArbSys(0x64).arbBlockNumber(). Indexers must treat the contract-side block number as the parent chain's clock (a parent-l1 block clock).
interface ArbSys { function arbBlockNumber() external view returns (uint256); }
uint256 l3Block = ArbSys(address(0x64)).arbBlockNumber();#Endpoints
| Service | URL |
|---|---|
| RPC | https://rpc.gullychain.xyz (public, rate limited; a keyed endpoint for an indexer is available on request) |
| Explorer | testnet-explorer.gullychain.xyz (contract verification supported) |
| Bridge | bridge.gullychain.xyz |
| Faucet | faucet.gullychain.xyz: 0.0005 ETH per address per day (Gully ID sign-in) |
| Bundler and paymaster | see Accounts and passkeys |
| Token list | https://gullychain.xyz/tokenlist.json |
| App | app.gullychain.xyz (the GullyChain app: swap, launch, names, arcade) |
#Addresses a launchpad needs
All on GullyChain Testnet. The full list, with explorer links, is on Contract addresses.
Liquidity layer: Uniswap v3 and Gully Swap
| Contract | Address |
|---|---|
| WETH9 (used by every pool) | 0x26aCCCb2e98ca9e067E58668Aa3B101beF432754 |
| UniswapV3Factory | 0x1787a3bA8C8D7a2439cfA2EFaFc683ECAC623950 |
| NonfungiblePositionManager | 0x90aDCE86fce80E9fACD436efBb4C8A25D3d38f75 |
| SwapRouter02 | 0xf49b65b9912fd017fDb91D21eE9bC9992F8cF05c |
| QuoterV2 | 0x808f5DE34f215712F780DB0eA91F7530f883A04e |
| GullyFeeController (owns the factory) | 0x47214e56806Daa1cdA5981E2F1AFE8FDfF19D93b |
| GullySwapRouter (app router, 0.25% interface fee) | 0x1283a251E34296675CC5130A2B02871384c0436a |
Prices. A testnet-only RedStone price feed exists for ETH, BTC and USDC (see Contract addresses); it is licensed for non-production use. There is no Chainlink feed on GullyChain. Show prices in ETH, or in USD only from a feed you trust, never a made-up dollar value.
Stablecoin. USDC.e 0x65Ba03c6FA90Ed549f465D4c8f2e784D6eEB7E76, 6 decimals (glUSD is retired). See Stablecoins.
Deployers. The Arachnid CREATE2 factory 0x4e59b44847b379578588920cA78FbF26c0B4956C, the ERC-2470 singleton factory and the Zoltu deployer are on the chain, so a deterministic deployment lands at the same address as on other chains.
The temporary Gully launchpad (to be replaced by Gully Core)
| Contract | Address | Notes |
|---|---|---|
| GullyLaunchpad v2.1 | 0xCe2c3Ac523EfF3Bec8D3894f7e5C5F519638326b | new launches; 1% trade fee; graduates at 0.05 ETH into a full-range Uniswap v3 1% pool |
| GullyLPLocker v2 | 0x272a78b26B289c50632dCB29270aa2a07dAa5709 | graduated LP locked forever; pool fees 50% creator, 50% platform |
| GullyLaunchpad v2.0 | 0x3378b659f6ddA7F13D87599B383b3995f82D0974 | earlier tokens keep trading |
#Missing contracts
| Contract | Status |
|---|---|
Multicall3 (0xcA11…CA11) |
Deployed at the canonical address (2026-10-25). Batched reads work as on any chain. |
CreateX (0xba5E…ba5Ed) |
Deployed at the canonical address (2026-10-27). CREATE2/CREATE3 deploy scripts work unchanged. |
| Safe 1.4.1 | Deployed at Gully's own addresses (the Safe singleton factory is not on the chain): see Gully Safe. |
If your deployment needs one of these, say so and it moves up the list. Details and the plan: Not deployed yet.
#How to deploy your own launchpad on GullyChain
The simplest way, once Gully Core is live: open a launchpad or DEX as a Gully Core clone. To bring your own contracts instead:
- Add the network (chain ID 485590, RPC above) to your deploy tooling. Foundry, Hardhat and viem work unchanged; see the Quickstart.
- Fund a deployer. Use the faucet, bridge Arbitrum Sepolia ETH, or send us the deployer address and we fund it for a full deployment.
- Deploy deterministically through the Arachnid CREATE2 factory, so testnet and mainnet share addresses. Estimate gas with
eth_estimateGas: gas includes the parent-chain data cost, so numbers copied from Ethereum are too low. - Graduate into Uniswap v3 through the NonfungiblePositionManager above, or deploy your own pool manager and tell us its address so the app and token list route to it.
- Use timestamps, never
block.number, for anything time-based (the two-clock rule above). - Verify your contracts on the explorer, and send us the addresses, deploy blocks and ABI. We add them to the app's and indexer's launchpad list, to the token list and to this page.
- Index with the parent-chain clock (
parent-l1) and ask for a keyed RPC endpoint if your indexer needs higher limits. - Optional: get a paymaster API key so a creator's first launch can be sponsored.
#Fee model on the chain
| Where a trade happens | Fee | Who receives it |
|---|---|---|
| Gully launchpad bonding curve | 1% per buy and sell | Gully fee recipient |
| Graduated launchpad pools (Uniswap v3, 1% tier) | the pool's LP fee | v2.1: 50% creator, 50% Gully |
| Other Uniswap v3 pools | 25% of the swap fee as the protocol fee (LPs keep 75%) | Gully treasury |
| Swaps through the Gully Swap app | 0.25% interface fee on the input (capped at 1% in the contract) | Gully treasury |
Gully Core's launch fees, creator tax caps and protocol fees are fixed in its contracts and are published here with the testnet deploy.
#Order of rollout
- Gully Core deploys on the testnet, every contract verified on verify.gullychain.xyz, and a test launch runs end to end: create, buy, alerts, holder map and launch score.
- Every launch is scanned by Gully Security, mapped by HolderMaps from its first block and given a 0 to 100 launch score.
- A production price source is chosen before any mainnet dollar values are shown.
- Mainnet: deploy at the same addresses, seed liquidity, announce on @Gully_Labs (opens in a new tab).