Skip to main content
Signatures below are taken from the source. Functions marked "anyone" have no access control. Amounts in the paired asset are in that token's base units (18 decimals for WHYPE and every listed stock, 6 for USDC).

Factory

struct LaunchParams {
  string name;
  string symbol;
  string metadataURI;   // JSON: description, image, website, x, telegram
  address pair;         // zero for HYPE (WHYPE)
  uint256 minPairOut;   // minimum pair amount for the dev-buy conversion
  uint8   capPreset;    // index into capPresets()
  Genes genes;
  StageParam[] stages;  // empty for a Liqio launch
}

struct Genes {
  uint8   feeMode;          // 0 flat (Liqio)
  uint16  feeBps;           // 10..300
  uint16  snipeBps;         // 0, or feeBps+1..3000
  uint32  snipeBlocks;      // 0, or 5..7200
  uint16  buybackShareBps;  // 0, or 1..5000 (with divShareBps at most 8000 together)
  uint16  divShareBps;      // holder rewards, 0..5000
  uint16  maxWalletBps;     // 0, or 50..2000
  uint32  maxWalletSecs;    // 0, or 600..2592000
  uint128 buybackThreshold; // 0, or at least 1000 pair base units
}
Factory events: Launched(token, creator, pair, poolId, pairUsdPrice), DevBought(token, creator, ethIn, pairIn, coinOut) (ethIn is the HYPE sent), CreatorMetadataSet(token, uri), CreatorTransferStarted(token, from, to), CreatorTransferred(token, from, to), CreatorActive(token, creator), TakeoverProposed(token, proposer, newCreator), TakeoverCancelled(token, by), TakeoverExecuted(token, from, to), and, once each in the deployment sequence, ConverterSet(converter) and OwnershipRenounced(). There are no operator events. Errors: InvalidParams, BadGenes, ZeroAddress, NotCreator, TakeoverClosed.

Hook

Hook events: PoolRegistered(token, pair, id, creator), FeeTaken(token, fee, bps), CreatorPaid(token, to, amount), PlatformPaid(token, to, amount), DividendsPushed(token, amount), BuybackBurned(token, pairIn, coinsBurned), RewardsCredited(token, trader, cashback, referrer, referral), RewardsClaimed(user, pair, amount), ReferrerBound(trader, referrer), CreatorChanged(token, from, to), and, once each at deployment, RouterSet(router) and FactorySet(factory). Errors: LaunchBlockClosed, BuyCapExceeded, NotThisPool, NothingToPush, NoHolders, BadGenes, InvalidParams, NotFactory, NotDeployer, AlreadySet, ZeroAddress. The hook also carries the Evolved event and the dynamic and MEV-tax fee modes, which Liqio launches do not use.

Router

Route format: abi.encode(Hop[]) with struct Hop { uint8 dex; address pool; PoolKey key; }. dex is 1 for a Uniswap v2 pair (by pool address), 2 for a Uniswap v3 pool or a v3 fork such as PRJX (by pool address), 3 for a Uniswap v4 pool (by key; a zero currency0 means native HYPE) and 4 for an Algebra pool such as KittenSwap (by pool address). At most four hops. A buy walks the hops from WHYPE to the pair; a sell walks them backwards. The route must start at WHYPE and end at the pair or the call reverts BadRoute. Events: Bought(coin, buyer, ethIn, pairIn, coinOut), Sold(coin, seller, coinIn, pairOut, ethOut), where ethIn and ethOut are HYPE amounts, zero for a trade in the pair itself. Errors: NotListed, Slippage, ZeroAmount, BadRoute, ZeroAddress; QuoteResult(amount) is the result of a quote, not a failure.

Token deployer

Token deployer events: FactorySet(factory), CoinCreated(coin, salt, dividends). Errors: NotFactory, AlreadySet, ZeroAddress, NoSalt, NoPeers.

Coin

The rewards variant (LiqioDivToken) adds: Coin events: Transfer, Approval; the rewards variant adds DividendsDistributed(amount) and DividendsClaimed(holder, amount). Errors: NotHook, NoShares, InvalidParams, WrongInit.

Price oracle

The precompile takes abi.encode(uint32 marketIndex) and returns a uint64 with 6 − szDecimals decimals; the oracle scales it to 18 decimals per 1e18 base units, applies the multiplier and, for a wrapped xStock, the wrapper's convertToAssets(1e18) ratio. The oracle has no owner and emits no events after deployment. A token not in its list cannot be launched against (NoPrice); adding a pair token means a new Liqio version with its own factory and oracle. Errors: NoPrice, InvalidParams.
Liqio on HyperEVM