Buy, sell & redeem

There are two ways in and out of a basket: one-click zap (using the USDG stablecoin) and in-kind (using the underlying tokens directly). Zap is convenient; in-kind always works.

Before you start

  1. Connect a wallet on Robinhood Chain (chain id 4663). The app auto-switches/adds the network.
  2. For personalized features you'll sign in with SIWE (a gasless signature).
  3. The first time you try to transact, you accept a one-time risk attestation (per wallet). This gates transactions, not browsing.

Buying with one-click (zap in)

Best when you just want exposure and hold USDG.

  1. On a basket's page, choose Buy, enter a USDG amount, and set your slippage tolerance (default 0.5%).
  2. The app requests a quote from POST /v1/zap/quote. The backend splits your USDG across the constituents by on-chain value, finds the best swap route per leg, and returns a ready transaction plus expectedShares and a minShares floor.
  3. Approve USDG for the HoodZapRouter if needed, then submit. In one transaction the router swaps your USDG into every constituent, deposits them into the basket, and mints shares to you. Leftover USDG is swept back.

The minSharesOut floor is enforced on-chain by the basket — if the market moves past your slippage, the transaction reverts rather than filling at a bad price. Quotes expire after ~5 seconds; refresh if it lapses.

One-click buy is only offered when every constituent has a usable swap route. Baskets with a thin/illiquid constituent show as in-kind only.

Buying in-kind

Best when you already hold the underlying tokens, or when a basket isn't zappable.

  1. Choose the in-kind (advanced) flow. The app shows the exact units of each constituent required for the shares you want, in the vault's current ratio.
  2. Approve each token for the basket, then call mintInKind(sharesOut, to).
  3. You receive sharesOut shares minus the entry fee.

In-kind mint is oracle-free — it works even when price feeds are stale.

Selling / redeeming

Redeem in-kind

Burn shares and receive your proportional slice of every constituent back.

  • Call redeemInKind(sharesIn, to). You receive each constituent minus the exit fee's share.
  • This path is permissionless and can never be paused — it's the vault's solvency guarantee. It never depends on an oracle.

Zap out to USDG

Burn shares and get USDG in one transaction.

  • Request a direction: "out" quote (the usdgAmount field carries your share amount here). Approve the router for your shares, then submit zapOut.
  • The router redeems in-kind, swaps every constituent to USDG, and enforces your minUsdgOut floor on-chain.

Fees you'll pay

Fee Typical Charged
Entry ≤ 3% when you buy (zap or in-kind)
Exit ≤ 1% when you redeem
Management ≤ 3%/yr streamed continuously via dilution while you hold

Each fee is split 90% to the basket's creator, 10% to the protocol. Exact fees are shown on every basket and previewed before you confirm.

If the backend is degraded

The API can be down or price feeds stale while the chain is fine. In that case one-click zaps may be unavailable, but in-kind mint and redeem still work — they're pure on-chain calls. The app marks stale NAV clearly and steers you to in-kind.