← Back to blog index · 2026-05-10

Per-Symbol Floor Tuning — Why fUSD ≠ fUST (and Same Settings Lose 30-100% Yield)

fUSD and fUST have completely different market structures. fUSD spike-rich, fUST flat. Real data + Yieldsforge's 2026-05 per-symbol floor upgrade that lifted fUST APY from 7.6% to 17.6%.

Per-Symbol Floor Tuning — Why fUSD ≠ fUST (and Same Settings Lose 30-100% Yield)

If you run both fUSD and fUST on Bitfinex with the same strategy parameters, at least one symbol is leaving 50-100% yield on the table.

This post explains why, and shows the empirical 2.3x improvement Yieldsforge got after switching to per-symbol floors in May 2026.

TL;DR

  • fUSD candle highs frequently reach 12-24% (spike-rich) → high floor pays off
  • fUST candle highs mostly 5-12% (no spikes) → high floor never fills, must lower
  • Same 6/8/12/15% floor: fUSD 32.88% APY, fUST only 7.61%
  • Drop fUST to 4/5/7/9% floor: jumps to 17.62% APY (2.3x)

Two Symbols, Two Market Structures

Chart: 30d (long bucket) candle high distributions for fUSD vs fUST in 2026 Q1:

Per-symbol floor justification — fUSD has frequent 12-24% spikes, fUST does not

Clearly:

  • fUSD high median ~10%, p90 ~22% — most weeks have a chance to fill at 12%+
  • fUST high median ~7%, p90 ~14% — spikes too rare; 12% floor sits empty most of the time

Why fUSD and fUST Differ Structurally

fUSD is “USD” funding (requires wire transfer to Bitfinex), users skew institutional / large. Borrowers are real BTC leverage traders with stable demand and can pay high rates.

fUST is “USDT” funding, users skew retail + automated strategies. Borrowers are short-term speculators, rate-sensitive, won’t pay too high.

Result:

  • fUSD: high rates + high volatility (institutional demand + spike opportunities)
  • fUST: low rates + flat (retail demand + competition compresses floor)

Yieldsforge’s Pre-2026-05 Mistake

We previously used the same floor across both symbols:

  • All: short 6%, mid 8%, long 12%, xlong 15%

This set was the global walk-forward optimum across 5.5 years of data. Problem: 5.5y includes 2020-2021 bull market (avg funding rate 30%), biasing the optimum toward fUSD’s spike-rich regime.

Real 2026 results:

  • fUSD: 32.88% APY (great)
  • fUST: 7.61% APY (terrible), util 54% (half the capital sleeping)

54% utilization means the bot kept waiting for 12-15% rates while market only offered 4-7%, so half the capital sat idle earning $0.

After Per-Symbol Switch

Full 2026 Q1-Q2 sweep across 5 floor combos:

preset                 fUSD APY    fUST APY
production (6/8/12/15) 32.88%      7.61%   ← previous
high (5/7/10/12)       32.79%      8.89%
moderate (4/6/8/10)    28.21%      9.58%
moderate (4/5/7/9)     18.98%     17.62%   ← fUST sweet spot
low (3/4/6/8)          12.87%     11.11%

Clear story:

  • fUSD optimal at “production” (6/8/12/15) — fUSD spikes worth waiting for
  • fUST optimal at “moderate” (4/5/7/9) — fUST no spikes, lower floor wins on fill rate

So 2026-05 we shipped per-symbol defaults:

  • fUSD balanced: 6/8/12/15% (kept)
  • fUST balanced: 4/5/7/9% (lowered)

Real Production Data — fUST Util 54% → 88%

This is real production data:

fUST old floor (6/8/12/15):
  Last 30d util: 54%
  Last 30d net APY: 7.61%
  Low utilization, few fills, terrible APY

fUST new floor (4/5/7/9):
  Last 30d util: 88%
  Last 30d net APY: 17.62%
  High utilization, frequent fills, doubled APY

Floor change only, nothing else touched. fUST yield 7.6% → 17.6% (2.3x).

Why Other Bots Don’t Do Per-Symbol

A structural oversight:

  1. Coinlend / Cryptolend / others mostly use “one strategy fits all” approach
  2. Dev cost: per-symbol needs two backtest runs, two parameter validations
  3. UI complexity: do users decide fUSD vs fUST settings? Or auto?

Yieldsforge’s solution: per-symbol applied automatically by default (no user thought required), advanced users can override in settings.

What You Can Do

If you run manually:

  • fUSD: keep 6/8/12/15% floor, wait for spikes (matches Yieldsforge balanced)
  • fUST: use 4/5/7/9% floor, fill faster (matches Yieldsforge balanced)

If you use another bot (Coinlend etc.):

  • Most don’t have per-symbol floor option. Consider switching or manually patching (annoying)

If you use Yieldsforge:

  • Already automatic per-symbol. Nothing to do.

What’s Next — Adaptive Floor (Phase 1 Shipped)

We’ve launched the adaptive floor program, target: floor dynamically adjusts to market regime:

  • Collect 30d of BookSnapshot data (started 2026-05)
  • Compute rolling 30d median bid
  • floor = max(min_floor, median × multiplier)

After 30 days of data accumulates, opens for per-user opt-in. In theory beats static per-symbol floor.

Yieldsforge 7-day free trial →


Disclosure: I’m the developer of Yieldsforge. Empirical data from production worker, April-May 2026. Not investment advice.

Want to put your USDT on autopilot?

7-day free trial. No credit card required.

Start free trial