Contracts & addresses
All contracts are deployed on Base Sepolia (chain ID 84532) with source verified on Basescan. Built with Foundry on OpenZeppelin v5.7.0, Solidity 0.8.28. None of the contracts are upgradeable.
Core contracts #
| Contract | Address | Notes |
|---|---|---|
| HANS token | 0x3DA6cdd2fa0966439C40e18ad8cb91FFA399FF7B |
ERC-20 + Permit + Burnable; owner = timelock |
| UBAI token | 0x291E557D813DdAA9A5F1e14e061860C129D5089e |
Same contract as HANS with UBAI identity; owner = timelock |
| Timelock | 0xb79827304058Ddc7425ae39425A538BDa6Ee93F2 |
OpenZeppelin TimelockController, 600s delay on testnet (72h on mainnet) |
| Staking | 0x841d33a0FB1f38090ca0b3718dbF659a96c61Ab4 |
Ownerless; locks 1–104 weeks; 5% early-exit penalty |
| sHANS | 0xB14405823527065E13f20d73F442afe1Ca9990e5 |
Stake receipt; minted/burned only by the staking contract |
| Merge offers | 0xB354eF1133645dAC81eE3B83ef26a64bc82489e1 |
Fixed-rate swaps; leftovers → staking distributions |
| UBAIDisperse | 0xB3c629A3ff908aCf2ce980E28bfb8A702dE4A7B0 |
Stateless multi-recipient payout used for referral bonuses |
Multisigs #
| Safe | Address | Role |
|---|---|---|
| Governance Safe | 0xbc768e681a06a91208247e7ee9f434fce3bd71a9 |
Proposes mints on the timelock |
| Treasury Safe | 0x74aed8787ba283fa283f875dfe76632e00e9e7b7 |
Receives all mints and swapped-in assets; creates merge offers |
Operational wallets #
These hold small floats or gas only and have no special powers on any contract.
| Wallet | Address | Purpose |
|---|---|---|
| Bounty distributor | 0x803F520c41057548590B44C85BbE66753e6B27b2 |
Pays UBAI bounty rewards from a capped float funded by the treasury |
| Finalize keeper | 0xFb62417D693ee3f1202E92D500747e33f8C8EB7a |
Calls the permissionless finalizeOffer on expired merge offers once a day |
Interfaces #
| Interface | URL |
|---|---|
| Landing | joinhans.io |
| Roadmap | whitepaper.joinhans.io |
| Phase 1 whitepaper | whitepaper.joinhans.io/phase-1 |
| Merge with HANS | joinhans.io/merge |
| Staking | joinhans.io/stake |
| Swap (merge offers) | joinhans.io/swap |
| Earn (bounties) | earn.joinhans.io |
| Docs | docs.joinhans.io |