Contracts & security

Four contracts, immutable once deployed: no proxy, no admin key over funds, no pause. Small on purpose, with no complex price logic.

ContractRole
HorkosLockerOne ERC-721 position per lock; release() when milestones pass; extend() at any time; no early withdrawal exists.
TitheFactory + TitheRouterOne router per setup; splits incoming HYPE; permissionless execute() buys in TWAP tranches.
OathRegistryRead-only score; getOath(token).
HorkosTreasuryReceives all fees; only exit is its own 100% buyback-and-burn router.

The only privileged calls

HorkosLocker.setHorkos(address) and HorkosTreasury.setHorkos(address): one-time wiring of the $HORKOS address on launch day, callable once by the deployer. The first only enables the fee discount; the second creates the treasury’s buyback router. Neither gives any power over a lock, a router or funds, and neither can be called again.

Testnet deployment

Chain id 99801, RPC https://testnet-rpc.elysium.kinetiq.xyz, explorer. Every contract below, and every Tithe router created so far, has its source verified on the explorer and on Sourcify (exact match): what you read is what runs.

One Elysium detail for indexers: inside the EVM, block.number returns the parent chain’s (HyperEVM) block, so TitheRouter.createdBlock is a HyperEVM block number. Start log queries from the deployment block instead. All timing in Horkos (cliffs, vesting, tranche delays, 30-day windows) uses timestamps and is unaffected.

ContractAddressRole
HorkosLocker0xe8E8AbB1a06B1856ceD7c78Bd15D59C4F0a181B0Locks, positions (ERC-721 “OATH”), schedules
TitheFactory0x87D6e889A881B117A3e59E3F76f8305C992bD7DBCreates and indexes Tithe routers
OathRegistry0x7f9e73a0254805bb0e224923C323966C08e55722getOath(token), read-only
HorkosTreasury0xB50DF6442199E1CCB437B2A4948B0b9d7cF5a656Receives every protocol fee
WHYPE0xAEba67024D913B73bE4d76613B4E5F381B295b4bTestnet wrapped HYPE
MiniV2Factory0xf9669fbA54312D8565AAD65f4DD4eb74EC9C91D3Testnet Uniswap-v2-compatible pools
MiniV2Router0xF159DefAd24dd95FC6A80235Cdae7fa82C9c2bcETestnet buy / sell / add liquidity
DemoLaunchpad0xF7765ae29d563648775B0AFD1D803848a0B3f10eTestnet stand-in for a graduated pad

Before mainnet

Audit of the four contracts, then a bug bounty. If a fix is ever needed, a v2 is deployed next to v1, never in its place: existing locks keep their promise.

Questions? Ask on X →