HANS Docs
Trust

Security & audits

Every contract went through adversarial review before deployment, with proof-of-concept tests written against the actual code. The test suite stands at 90 tests across the token, timelock integration, staking, merge offers, UBAI, and the disperser — including fuzzed invariants.

Audit history #

Component Rounds Outcome
HANS token + timelock 1 Two low findings fixed (treasury validation, mainnet delay floor). Two accepted properties documented below.
Staking 2 Low findings fixed; whale penalty-recapture analysed and accepted; unannounced-funding rule adopted.
Merge offers 3 Round three: zero findings above informational. Hardening applied (old-token code check, mainnet treasury assert).
Earn API continuous A daily production audit reviews every push; findings are verified against the code and fixed the same day (recent: payout reconciliation, exact staking math, EIP-4361 sign-in).

Accepted properties (on purpose) #

  • Guardian veto deadlock. A hostile guardian can stall new mints indefinitely but can never mint. Stalling is the safe failure.
  • Renounce = permanent supply lock. If governance ever renounces token ownership, minting stops forever. Available by design.
  • Whale early-exit recapture. A very large staker who exits early recaptures part of their own penalty through the redistribution. Analysed; economically minor; accepted.
  • No clawback on merge offers. Even a mistaken offer cannot be cancelled by the treasury. This is the point.

Operating rules #

  • Distributions are funded unannounced. Because anyone can add distributions and they accrue by weight at that moment, announcing a funding time would create a snapshot to race for. Funding and offer finalization happen at unannounced times, and distributions are described as duration-weighted accruals, never announced snapshots.
  • Hot wallets hold floats, not treasuries. The bounty distributor and the finalize keeper hold only what they need. Neither has any privileged role on any contract.
  • Nothing is fire-and-forget. Backend payouts are signed with a known hash before broadcast and fully awaited, so an interrupted payout is reconciled against the chain rather than guessed.

What is deliberately absent #

No admin keys on staking or merge offers. No upgradeable contracts anywhere. No pause switches. No token blacklists. The only privileged action in the entire system is minting — and it requires a multisig, a public delay, and survives a guardian veto window.