# 2026-08-26 — USDE come collaterale a rendimento: analisi da candidato **Domanda dell'operatore:** *"analizziamo usde"* — dopo la chiusura della pista USDC rewards (Italia esclusa da MiCA). **Script:** `scripts/research/r0826_usde_scenari.py` (N11). ## Verificato SUL VENUE (API pubblica, oggi — N10) - `apr: 4.0` per USDE (era "fino a 9%" al lancio 03/2025: tasso = APR settimanale Ethena − 5% di fee Deribit; comprime coi funding) · reward **giornalieri** ~12:00 UTC sul minimo di equity USDE, voce nel Transaction Log → **falsificazione in 24-72h** - spot `USDE_USDC` attivo: spread osservato **~3 bps**, fee spot **zero** - **haircut cross-collateral 10%** (USDC 0%): il 90% fa margine — al nostro profilo di leva (max realizzata 0,52x su tetto 1,0x) **non morde** - **indice `usde_usd` multi-exchange con mediana e clamp ±0,5%** — NON il book interno: è la differenza strutturale dal caso Binance del 10/10/2025 ($0,65 dall'oracle sul proprio book da $8M mentre USDe quotava ~$0,99 altrove, riscatti regolari, peg tornato in 8h) - eligibilità **per residenza, lista non pubblica** → si verifica sul CONTO, non sui documenti (la lezione USDC di stamattina) ## Rischi dichiarati (p non stimabile → si controlla con la QUOTA, N4) R1 **emittente**: basis trade (staking + short perp); fallimento = fino a −100% della quota — si SOMMA al rischio venue accettato il 26/07, non lo sostituisce. R2 **marcatura in crash** (P10: l'accoppiamento — il mark scende proprio quando il libro è lungo). R3 **tasso**: 9→4% in 17 mesi; funding negativi prolungati → ~0. R4 **regolatorio EU** (Ethena GmbH liquidata dopo BaFin; USDe non è EMT MiCA — per questo PUÒ pagare dove USDC non può). 📌 Nota a favore da misurare se si procede: il rendimento USDe sale coi **funding positivi**, cioè quando il nostro libro long li PAGA (−2,16%/anno): sconto parziale correlato sulla tassa di funding. ## L'aritmetica (dallo script) | equity | quota 50% rende | −100% costa | note | |---|---|---|---| | $2.065 | $41/anno | $1.032 | conversione ripagata in ~3 giorni | | $5.065 | $101/anno | $2.532 | scenario post-versamento | | $20.000 | $400/anno | $10.000 | dove la posta diventa seria | Mark −1% = 3 mesi di resa · −3,5% = 11 mesi · **−100% = 25 anni: non si recupera mai** → la leva di controllo è la **quota**, non il tasso. ## PROPOSTA (pre-registrata qui, esito da scrivere sotto) **Test di eligibilità sul conto**: convertire **~$500 USDC→USDE** (costo <$0,20 totale), tenere **3 giorni**, guardare il Transaction Log alle ~12:00 UTC (reward atteso ~$0,05/g). Regola dichiarata PRIMA di vedere l'esito: **≥1 voce reward in 3 giorni → idoneo**, e si apre la decisione di quota (con un gate: quota massima, chi la decide, cosa la riapre); **0 voci → non idoneo**, si riconverte e la pista si chiude come l'USDC. L'esecuzione è dell'operatore (app: Spot → USDE/USDC) o autorizzata esplicitamente via gateway. Il libro non c'entra: nessun codice del percorso soldi viene toccato dal test. ## ESECUZIONE DEL TEST (stesso giorno, 13:04 UTC — autorizzata dall'operatore: "fai test") Ordine via gateway, limit marcabile con banda di sicurezza sul prezzo (0,995-1,005): **500 USDE @ 1,0003, filled, fee 0** (`USDE_USDC-8977542793`). Costo totale ~$0,15. Prima finestra utile di reward: ~**28/08 12:00 UTC** (il calcolo usa il minimo di equity USDE della finestra); verifica finale il **29/08**: ≥1 voce reward nel Transaction Log → idoneo; 0 voci → si riconverte e la pista si chiude. 🚨 **DIFETTO TROVATO E RIPARATO DURANTE IL TEST — il test valeva gia' per questo.** `shadow._equity` leggeva SOLO il conto USDC: dopo la conversione il book avrebbe visto $1.556 (−24,3%) al giro delle 13:47 → falso 💰 "USCITA DI FONDI" **e vendita indesiderata di ~$140 di posizioni** (i target scalano con l'equity). Riparato in 35 minuti, prima del giro: `_collaterale_usde()` valuta l'USDE all'**indice pubblico** `usde_usdc` (mediana multi-exchange — la lezione Binance 10/10), con tre proprieta' blindate da 6 test nuovi (`tests/test_shadow_usde.py`): un **depeg PASSA nel sizing** (mai nascosto), sopra la pari si **clampa a 1,0**, indice illeggibile → **1,0 dichiarato, mai 0** (contare 0 ricreerebbe il falso −24%: il fallback si sceglie sul danno, P5). Verificato live: equity vista dal book $2.055,88 ("mainnet USDC + USDE 500 @ 0.9999"). *Un test da $500 progettato per misurare l'eligibilita' ha scoperto che il book era cieco al cross-collateral: se la prima conversione fosse stata fatta a quota vera, l'errore sarebbe costato caro. I test piccoli esistono per questo.* *Esito eligibilita': (da scrivere entro il 29/08)* ## STRUTTURA (stesso giorno, ~14:20 UTC — "struttura il progetto per gestire subito usde") La patch d'emergenza delle 13:07 e' diventata struttura di prima classe: - **`config/live.json` sezione `usde`** — l'unica autorita' sui parametri (P1): `index_name`, `haircut` 0.10, `quota_max_frac` 0.50 (tetto di ALLERTA — la quota effettiva la decide l'operatore), `depeg_warn` 0.99 / `depeg_crit` 0.95 coi **criteri dichiarati** in `_nota_usde` (P6: warn = fuori dalla banda spot ~3 bps e oltre il clamp ±0,5% per fonte dell'indice; crit = meta' del buffer di haircut consumata). - **`src/live/usde.py`** — modulo unico per config, catena di prezzo (indice pubblico → ticker spot → 1,0 dichiarato) e valutazione `valuta()` PURA. `shadow._collaterale_usde` ora DERIVA da qui (niente ridichiarazioni); i 6 test di shadow passano invariati. - **`scripts/live/usde_watch.py`** + `cron_usde.sh` alle **12:35 UTC** (dopo la finestra reward ~12:00, fuori da :00/:25/:47) — sola lettura: (1) **reward per DELTA di equity al netto dei trade spot** (il gateway non espone il Transaction Log; un delta con trade nel mezzo si dichiara, trade illeggibili → delta NON attribuito, P12); (2) **depeg**: 🚨 solo sotto crit e ripetuto, ⚠️ warn/quota/BLIND solo alla transizione (P9); (3) **quota sul totale**, che allerta anche per deriva PASSIVA (il libro perde → la quota sale da sola, N4). Applica il **verdetto pre-registrato** (≥1 reward entro il 29/08 → IDONEO; zero → riconvertire) invece di lasciarlo a un promemoria. Limite dichiarato: cadenza giornaliera, un depeg intraday puo' sfuggire all'ALLERTA — ma non al SIZING, che legge l'indice a ogni giro orario del book. - **Serie `data/live/usde_watch.jsonl`** — dentro il perimetro di backup, `ts` in ms epoch → sorvegliata da **`monitor_health`** (max_age 30h, `open_labeled=False`): un watch fermo spegnerebbe gli allarmi depeg e il silenzio si leggerebbe come "va tutto bene" (P5). - **Baseline registrata alle 14:17:52Z**: 500 USDE @ 1,0000 (indice) = $500,00 · quota 24,3% (tetto 50%) · margine utilizzabile ~$2.008 · verdetto IN_ATTESA. E' la lettura che rende misurabile il delta del 28/08. - **Test: 775 passati** (+17 nuovi in `tests/test_usde_watch.py`: valutazione condivisa, rilevatore reward, verdetto — incluso che NON anticipa la scadenza del 29/08 —, condizioni di allerta, `px=None` che non finge un depeg).