Stablecoins & Allocation
The USD Problem
Most naive basket implementations track allocation by token count — e.g. "the vault must always hold equal numbers of MOTO and PILL." This breaks the moment prices diverge.
Now PILL doubles to $2. The vault still holds 100 MOTO ($100) and 100 PILL ($200). By value, the basket is now 33% MOTO / 67% PILL — but a naive token-count system still thinks it's "balanced" because the counts haven't changed. The rebalance trigger never fires. The vault silently drifts further as PILL continues to appreciate.
This is not a theoretical edge case. In a volatile asset basket, prices move constantly. A protocol that only tracks token counts is measuring the wrong thing entirely.
How HODL Solves It
HODL measures allocation by USD-equivalent value. Each token's weight in the basket is its current market value divided by total vault value, expressed in basis points:
allocation_bps = tokenValue_USD / totalVaultValue_USD × 10,000
The vault uses live MotoSwap pool reserves as its price feed. At any point in time, it knows the exact MOTO-equivalent value of every PILL in the vault. When that ratio drifts beyond 100 BPS (1%) from the 5000/5000 BPS (50/50) target, rebalancing is triggered.
Using the example above: after PILL doubles, the vault correctly detects the 67% PILL allocation, fires the rebalance condition, and a keeper calls rebalance() to swap excess PILL back to MOTO. The basket returns to 50/50 by value. NAV is stable.
Why Stablecoins Amplify This
Value-based allocation works for any basket, but it becomes especially powerful when one of the basket tokens is a stablecoin.
A stablecoin has a fixed USD value by definition. In a basket with one stable leg and one volatile leg, the math becomes:
stable_allocation_bps = stableValue / (stableValue + volatileValue) × 10,000 volatile_allocation_bps = 10,000 − stable_allocation_bps
Because stableValue never changes in USD, any move in the volatile asset is immediately and precisely reflected in the allocation. There is no ambiguity from price measurement errors or oracle lag — the stable leg is the anchor.
Advantages of a stable leg
- More precise rebalance triggers: even small price moves in the volatile leg register as drift, enabling tighter basket management
- More WRK earned: tighter baskets with frequent small rebalances generate more keeper rewards than loose baskets that only rebalance on large swings
- NAV in real terms: with a 50% stable leg, half of NAV is dollar-denominated. You can express returns as "X% USD APY" meaningfully
- Lower drawdown risk: in a market downturn, the stable leg preserves value. NAV falls less than a pure-volatile basket
- Intuitive UX: "100 USDT gets you ~10 HDL at current prices" is easier to reason about than "100 MOTO gets you 10 HDL" when MOTO's own price is uncertain
USDT on OPNet
USDT is being committed to the OPNet chain as a native OP-20 asset. When this deployment goes live, HODL can include USDT in its basket compositions without any bridging or wrapping.
This opens several basket configurations that are not possible today:
| Variant | Composition | NAV Characteristic |
|---|---|---|
| Stable | 50% USDT + 50% MOTO | Half dollar-stable, half BTC-ecosystem exposure |
| Conservative | 80% USDT + 20% MOTO | Stablecoin-dominant, minimal volatility |
| Diversified | 33% USDT + 33% MOTO + 33% PILL | Full three-token basket with stable anchor |
Each of these would deploy as a separate IndexVault with its own HDL token and NAV — see Index Variants. WRK rebalancing applies to all of them.
HODL Docs