Smart Contracts
Slops is built as a set of lightweight, modular smart contracts on the Robinhood Chain.
1. Deployed Addresses (Robinhood Chain Mainnet)
LaunchpadFactory:0x248CAaAEff655d189d6d69689d83a5055730aA68- Deployer of tokens, curves, and fee distributors. Manages protocol state configurations.
MigrationManager:0x2fc07C1c1290e8902cc3bDE0D9dc06F62301091C- Orchestrates the graduation of tokens from bonding curves into permanent Uniswap V4 pools.
GlobalFeeDistributor:0x9911cF38e7011F6977CACcD5379C632a13238122- Accumulates and splits all trading fees, launch fees, and migration fees on-chain.
ReferralRegistry:0xbF3fF955Fbf3E4c84162A54D1540261371611610- Stores mappings of referral codes to wallet addresses.
UniswapV4FeeHook:0x4589a6e848f73d87496529062fc82669fd538040- Uniswap V4 fee hook attached to graduated pools that forces fee splitting and token burns.
2. Core Contracts Architecture
LaunchpadFactory
The primary entrance point of the protocol. It handles the launch() process:
- Charges the 0.001 ETH launch fee.
- Deploys a new
LaunchTokenERC-20 contract. - Deploys a custom
BondingCurvecontract. - Deploys a dedicated
FeeDistributorcontract. - Transfers the entire 1,000,000,000 token supply to the bonding curve and immediately renounces ownership of the token.
- If
initialBuyETH > 0, it executes an initial purchase on behalf of the creator.
LaunchToken
A standard ERC-20 contract representing the launched coin. Ownership is held by the LaunchpadFactory briefly to run setMetadataURI() and is then permanently renounced.
- Token Metadata: The token saves an on-chain, immutable
metadataURIpointing to a JSON blob containing the description, logo (image), and banner. If the creator connects their X account via OAuth, the verified details are appended directly to the metadata JSON (fieldscreatorUsername,creatorName,creatorAvatar, andisXLinked) along with a cryptographicsignaturesigned by the protocol verification key (0x749Ecd533f47d3DeA8b24F7CA5f009B84A562093). This allows indexers and aggregators to verify the link directly off-chain.
BondingCurve
The trading engine. Operates the Constant Product virtual AMM (x * y = k).
- Accumulates real ETH reserves ($R_{\text{ETH}}$) up to the 6 ETH graduation threshold.
- Transition: Once the 6 ETH threshold is hit, the status updates to
GRADUATINGand all buys/sells are permanently blocked.
GlobalFeeDistributor
A pull-based fee distribution vault. Fees are split dynamically based on their sources:
- Bonding curve trading fees: Split 50% Creator, 50% Protocol.
- Migration fees: Split 50% Creator, 50% Protocol.
- Uniswap V4 hook fees: Split 50% Creator, 50% Protocol (in ETH), while 100% of the token fee is burned to
0x...dEaD. - Claims: All participants (creators, referrers, and protocol) pull their fees by calling
claim()directly on-chain.
MigrationManager
Executes token graduation. Anyone can call migrate(curveAddress) when status is GRADUATING:
- Pulls the 6 ETH and remaining tokens from the curve.
- Deducts the 0.15 ETH migration fee.
- Reimburses the caller's gas costs.
- Deploys a Uniswap V4 pool with a 1% fee.
- Adds full-range liquidity to the Uniswap V4 pool manager.
- Registers the pool with the
UniswapV4FeeHookto ensure ongoing creator and protocol fees. - Locks the LP token position inside the manager contract permanently.
UniswapV4FeeHook
A post-graduation liquidity hook. By binding to the swap lifecycle callbacks (afterSwap), it intercepts swapping fees on graduated pools, routing ETH to the distributor and sending paired token fees directly to the dead address for burning.
