HOOZ

Architecture

The rails, the courier, the Sorter, the envelopes, the two delivery modes and the order states on one page.

HOOZ is three small parts on top of rails that already run. You can read everything HOOZ wrote in an afternoon. Everything it depends on carries its own audits and its own liquidity.

The road

 Zcash (shielded)          NEAR Intents 1Click             Robinhood Chain (4663)
 ┌──────────────┐ deshield ┌──────────────────┐  ETH       ┌──────────────────┐
 │ your wallet  │ ───────▶ │ one-time t1 addr │ ─────────▶ │ your address     │  before launch
 └──────────────┘          └──────────────────┘            │ or your envelope │  after launch
                                    │ no direct quote       └────────┬─────────┘
                                    ▼                                │ sweep
                           ┌──────────────────┐  Relay, 1 block      ▼
                           │ courier, Arbitrum│ ────────────▶ ┌──────────────┐  buy  ┌───────────┐
                           └──────────────────┘               │ HOOZ Sorter  │ ────▶ │ Pons curve│
                                                              └──────────────┘       └───────────┘

Rail one: NEAR Intents, direct

NEAR Intents is an intent settlement network. You deposit at an address the network generates, market makers compete to fill the intent, and the winner pays the destination asset on the destination chain. HOOZ calls its 1Click API.

  • Origin asset nep141:zec.omft.near, destination nep141:hood.omft.near (ETH on Robinhood Chain), exact input, 1 % slippage tolerance.
  • Recipient: your address before launch, your envelope after.
  • Refund: your transparent Zcash address.
  • The answer holds a fresh transparent deposit address and a signed quote with a deadline.

On this road HOOZ touches nothing. The site asks for the quote and the solver pays you.

Rail two: Arbitrum One and Relay, fallback

When no solver quotes Robinhood Chain directly, the order rides ZEC to ETH on Arbitrum One, paid to the courier, and the courier sends one Relay deposit whose recipient is your envelope. Relay pays it on Robinhood Chain in about one block. This road adds one trusted moment, described in Security.

The Sorter

One contract on Robinhood Chain with a fee, caps, a token address and a market adapter.

  • Envelopes. envelopeOf(beneficiary) returns a CREATE2 address derived from the Sorter and the beneficiary alone. It exists as a destination before any code sits there, so a solver, Relay or a friend can pay it without knowing HOOZ.
  • Sweep. Anyone may call sweep(beneficiary, minTokensOut). The Sorter deploys the envelope if needed, pulls its ETH, sends 0.5 % to the treasury, buys $WHOZ and transfers the tokens to the beneficiary.
  • Withdraw. The beneficiary, and nobody else, calls withdraw(beneficiary) and receives the raw ETH. It works while paused and before the token exists.
  • Market adapter. PonsMarket buys on the Pons bonding curve, then on the Uniswap V4 pool after graduation. The Sorter does not care which.

Order states

created ─▶ waiting ─▶ seen ─▶ settling ─▶ delivered            (before launch)
                                   └────▶ landed ─▶ sorting ─▶ delivered   (after launch)
   └─▶ expired               └─▶ refunded | failed

The site reads these states from NEAR Intents on every request. It stores none of them.

What runs where

PartRuntimeState
siteNext.js on Vercelnone; orders live in your browser
courierone Node processorders.json on a volume, optional
Sorter and envelopesRobinhood Chaincontract storage
$WHOZPons V2curve, then Uniswap V4