Appearance
Contracts
All addresses below are on GIWA Sepolia (chain id 91342) and verified on the explorer. Resolve each launch's own token and curve from the factory rather than hardcoding them.
Shared contracts
| Contract | Address | Role |
|---|---|---|
HanokFactory | 0xdC93A3a88b91D3036f0851203C8C082D3F34fDe1 | Launch entry point, registry, graduation driver, admin |
HanokRouter | 0x790F80653a3eF0216A4d8bbb42a23b1723555d86 | Single trade entry point across curve and pool |
HanokHook | 0xF58ac7Ef385256bF57c2115C68f242545A39a0cC | Uniswap V4 hook charging fees on graduated pools |
HanokLiquidityLocker | 0xDA72FAFdd61706319fee2a654F5F8e13aDD99227 | Seeds pools and owns their liquidity forever |
HanokFeeEscrow | 0x132117eD0B762823C732dcACB654E9Ebf196F818 | Pull-payment ledger for all payouts |
HanokVestingVault | 0x7AD0232c935E5EF6893f309985AbCAe895c5896E | Five-year vesting of bought-back tokens |
HanokDeployer | 0x294d0BdC102c66fB0c24c978153D885190e05695 | CREATE2 deployment of tokens and curves |
PoolManager (Uniswap V4) | 0x0ee8244D9D497F4275209cc01b289E457e976775 | Testnet PoolManager instance used by graduated pools |
Per-launch contracts
Each launch creates two contracts, both readable from HanokFactory.launchOf(token):
HanokToken— the ERC-20 (withpermit).HanokCurve— its bonding curve.
Default launch config (configId = 0)
| Parameter | Value |
|---|---|
| Quote asset | ETH (address(0)) |
| Supply | 1_000_000_000e18 |
| Virtual reserve | 0.005 ether |
| Graduation target | 0.02 ether |
| Tick spacing | 60 |
Protocol parameters (current)
| Parameter | Value |
|---|---|
| Platform fee | 100 bps (constant) |
| Creator tax bounds | 100–1000 bps |
| Referral share of platform fee | 2000 bps |
| Buyback share of creator tax | 5000 bps |
| Vesting protocol share | 3000 bps |
| Buyback max price impact | 300 bps |
| Max first buy | 1000 bps of supply |
| Snipe tax | 9900 bps start, 10 s window |
| Launch fee | 0 |
| Public launching | Open |
Read live values with feePolicy(), minCreatorTaxBps(), maxCreatorTaxBps(), maxDevBuyBps(), snipeStartBps(), snipeWindow(), launchFee() and publicLaunch() on the factory.
ABIs
Every contract is verified on the GIWA Sepolia explorer. Open a contract address there and use the Contract tab to read the source, copy the ABI, or call functions directly. All contracts use custom errors; see errors.
Source
Contracts are written in Solidity 0.8.26 for the Cancun EVM and depend on OpenZeppelin 5.7 and Uniswap v4-core 4.0.0 (MIT-licensed interfaces and libraries only). The testnet PoolManager is Uniswap's BUSL-licensed code deployed for non-production use.