Merge offers
A merge offer lets holders of a project's token swap into HANS at a fixed rate during a fixed window. The same contract converts UBAI to HANS.
App: joinhans.io/swap
How it works #
- Create (treasury only). The treasury escrows HANS and sets the input token, the expected input amount and a window of 1–365 days. The rate is fixed:
HANS out = tokens in × HANS escrowed ÷ tokens expected. For a merger stakers approved in a vote, the treasury opens the offer with the HANS the vote minted, on the vote's terms. Nothing on-chain enforces that step: see the trust model. - Swap (any holder except the treasury). Input tokens are retired in the contract, and HANS is paid from the escrow at the fixed rate. A swap larger than the remaining escrow reverts.
- Finalize (anyone). After the window, unswapped HANS goes to the leftover stream, which distributes it to stakers over 12 weekly releases.
Guarantees #
- Retired tokens can never leave the offer contract.
- Escrowed HANS can only go to swappers at the fixed rate, or to the leftover stream.
- No cancel, rate change, withdrawal, admin, pause or upgrade.
- ERC-20 inputs only (no native ETH).
- Only the address the HANS token names as its treasury can create offers.
Input tokens are reviewed before an offer opens. Tokens with live admin powers over balances (mint, upgrade, blocklist, forced transfer) are not eligible.
Addresses (Base Sepolia) #
| Merge offers | 0x50aE9bcbcbE77A1e3B76B452940be0cf0Dc765D6↗ |
| Leftover stream | 0x392808E735663C14C527ED284aD503368379f93b↗ |