# 2026-08-31 — Fine della Proof of Reserves, e il guardiano che mancava L'operatore ha passato l'annuncio *Deribit to Discontinue Daily Proof of Reserves Publication*. La notizia in sé vale poco per noi. Quello che è emerso cercandola vale molto di più. ## 1. La notizia: frequenza giù, sostanza su, per noi nulla cambia Dal **1 settembre 2026** la pagina Proof of Reserves sparisce e gli aggiornamenti quotidiani cessano. Al loro posto, sotto il regime **VARA** di Dubai: audit **annuale** indipendente delle riserve, audit annuale del bilancio, obbligo di **copertura 100%** e **segregazione** degli attivi dei clienti. E: «*approximately 90% of client assets have been migrated to Coinbase, which acts as a custodian for Deribit*». **Non è un peggioramento netto, ed è importante non raccontarlo come tale.** Si perde un segnale **ad alta frequenza e debole** (una PoR auto-pubblicata prova che gli attivi esistono in un istante, non che coprano le passività, ed è aggirabile attorno allo snapshot) e si guadagna un segnale **a bassa frequenza e più forte** (audit indipendente obbligatorio invece di pubblicazione volontaria), più un miglioramento **sostanziale** di custodia: 90% degli attivi presso un custode terzo regolato invece che nei wallet dell'exchange. **Per noi non cambia nulla di operativo**, e per una ragione che va detta: *la PoR non l'abbiamo mai sorvegliata*. Zero occorrenze in tutto il codice. `venue_probe` legge se il venue **risponde**, non cosa **dichiara**. Si perde un segnale che non stavamo usando. Ho provato a catturare l'ultimo dato prima che la pagina sparisse — è la mossa giusta per un dato non ricostruibile con una scadenza. **Rinunciato di proposito**: la pagina è una SPA e `get_proof_of_reserves` non esiste come metodo API («Method not found»), ma soprattutto uno snapshot singolo e auto-riportato non regge lo standard di prova di questo progetto e **non permetterebbe comunque di stimare `p`**. Un dato che non cambierebbe una decisione non vale il lavoro per prenderlo. ## 2. 📌 La conseguenza vera: il riapritore della decisione più grande si è ristretto La decisione vincolante **«100% Deribit fino a $20k»** (26/07) ha come riapritori dichiarati: *«**$20k**, o un cambio di piano, o `p` che diventa **stimabile** invece che assunto»*. Dal 1 settembre il segnale pubblico di solvibilità passa da **quotidiano ad annuale**. Il terzo riapritore non è formalmente chiuso — un audit indipendente è semmai evidenza più forte — ma diventa **praticamente irraggiungibile**: da una serie giornaliera si può costruire una stima, da un punto all'anno no. ⇒ **In pratica quella decisione è ora gated SOLO dal capitale**: si riapre a $20k, o non si riapre. Non cambia la decisione di oggi (fu presa con `p` esplicitamente **assunto**, non osservato), ma chiude l'unica uscita non-capitale che aveva. ## 3. 🚨 Quello che ho trovato cercando: quattro annunci materiali che nessuno leggeva Il debito #8 dice, testuale: *«Resta scoperto il Rulebook vero e proprio: la sonda legge se il venue RISPONDE, non cosa il venue ANNUNCIA»*. Esiste un feed RSS pubblico (`insights.deribit.com/exchange-updates/feed/`) con 10 voci. Alla prima lettura: | data | annuncio | perché ci tocca | |---|---|---| | 27/08 | Discontinue Daily Proof of Reserves | §1 e §2 di questo diario | | **14/08** | **Contract Specifications change for Linear USDC Perpetuals** | **i nostri due strumenti** | | 05/08 | New SM Margin Model On Deribit | leva per taglia, tiered | | **31/07** | **USDC Rewards Available In More Countries** | tocca una conclusione viva | | 29/06 | New Fee Schedule On Deribit | `fee_watch` esiste per questo | **Il caso che decide la questione è il 14/08.** Le specifiche dei perpetual USDC sono cambiate il **18/08**; l'annuncio è del **14/08**. Il codice lo racconta già con onestà: la tabella «*non se n'era accorta […] è andata bene per la direzione del cambiamento, non perché ce ne fossimo accorti*» — i cambi erano **riduzioni** (tick BTC 0,5→0,1, ETH 0,05→0,01, min/step ETH 0,001→0,0001) e un valore più grosso resta conforme. `check_specs()` è **nato da quella svista** e oggi gira ogni ora. Ma rileva la deriva **dopo**; il feed l'avrebbe detta **quattro giorni prima**. *Il giorno che Deribit ALZA un minimo, «dopo» significa ordini rifiutati.* Il 31/07 chiude un cerchio aperto ieri: l'espansione delle giurisdizioni idonee ai reward USDC **non contiene l'Italia**, né alcun paese UE — mentre **San Marino e Città del Vaticano** (i due microstati europei fuori dall'UE) **sono idonei**. La lista che avevo letto (aggiornata 20/08) è posteriore all'espansione: **la conclusione dello zero USDC è confermata due volte**. Il pattern UE-fuori/microstati-dentro suggerisce un driver regolatorio, ma la lista contiene anche Canada e Giappone: **non asserisco una causa**, il fatto è l'esclusione. ## 4. Costruito: `venue_news.py` Sorveglianza giornaliera del feed, dentro `cron_daily.sh` accanto a `fee_watch` (suo parente stretto). Scelte che contano: - **NON interpreta.** Dice *«è uscito questo, guardalo»*. Nessun automatismo su un testo di marketing: P13 — una guardia sui NUMERI non copre il RAGIONAMENTO, e la prosa si legge come opinione di un lettore fallibile. L'unica cosa che classifica è l'**urgenza**. - **Le parole-chiave sono DERIVATE, non ridichiarate** (P1, il difetto più ricorrente del progetto): gli strumenti vengono da `deribit._CONTRACT`, la valuta di collaterale da `config/live.json`. *Chi aggiunge un asset al book allarga la sorveglianza senza toccare questo file* — ed è esattamente il test che lo blinda. - **Primo giro semina senza allertare** (P9: l'allarme massimo non si spende per un arretrato di 10 voci, o non verrà letto il giorno che è vero). - **Feed illeggibile → codice 2 e nessun silenzio implicito** (P5: «non vedo» non è «niente di nuovo»). 5 test sulle funzioni pure. La rete no: `scarica()` ritorna `None` su qualunque errore, ed è quello il contratto. **Cosa NON copre**, e va detto: il **Rulebook** vero e proprio (ADL, perdita socializzata, *emergency powers*, conti dormienti) non ha un feed. Il debito #8 si restringe, non si chiude. --- ## 5. La Knowledge Base risponde a due domande aperte — e corregge due cose mie L'operatore ha passato anche *yield-generating-collateral-usde-buidl-and-more*, che **non** documenta tetti né haircut ma rimanda alla Knowledge Base. Interrogata via API Zendesk (`support.deribit.com/api/v2/help_center/articles/search.json`), l'articolo giusto è **«Cross collateral specifications»** (aggiornato 2026-02-20). ### (a) 🚨 Il costo del saldo negativo: **0,05% al GIORNO** > «*While the equity of a currency in an account remains negative, a **collateral fee** will be > charged to that account. This fee is charged daily in the same currency as the negative balance > (**default = 0.05% per day**). The fee is charged based on the amount of time the negative equity > is held, down to a granularity of seconds.*» **18,25% annuo**, cioè **4,3× la resa USDE** che si starebbe comprando tenendo meno USDC. Il 30/08 avevo scritto «Deribit lo finanzia a interesse» **senza il numero** — l'affermazione era giusta e vuota. Con il numero il criterio del **cuscino di regolamento** smette di essere prudenza e diventa aritmetica: scendere sotto il cuscino per tenere più USDE è **−14 punti**. E il ribilanciamento automatico **non salva**: scatta solo oltre **$1.000.000** assoluti o il **100% della cross equity** (default tabulati), soglie che a $2k non si toccano mai. Non veniamo ribilanciati: **sanguiniamo la fee**. *La cosa che sembrava un paracadute è, alla nostra taglia, esattamente l'assenza di un paracadute.* ### (b) 🚨 Haircut USDe: la fonte dice **5%**, noi abbiamo registrato **10%** | valuta | haircut X:PM | X:SM | |---|---|---| | BTC · ETH · **USDC** | — | — | | USDT · USYC · **BUIDL** | 2% | 2% | | PAXG | 2,5% | 5% | | **USDe** | **5%** | **5%** | | stETH | 7,5% | 7,5% | | SOL | — | 15% | `config/live.json` dice `haircut: 0.10`, e il diario del 26/08 lo dà per «verificato sul venue» senza lasciare traccia di **come**. L'articolo è **anteriore** a quella data, quindi non si sa quale delle due sia stale. **Non l'ho riparato** (P12: fra due fonti che non concordano, una riparazione silenziosa è un'invenzione; M28: la contraddizione è informazione). Si tiene **0,10** per tre ragioni dichiarate: è il lato **conservativo** (sottostima il margine utilizzabile), **non è sul percorso soldi** (non entra nel sizing — lo usa solo il report di `usde_watch`), ed è già misurato che **non morde a nessuna quota fino al 90%**. Si chiude leggendo la pagina margini del conto, che è dove Deribit stesso dice di guardare. ### (c) Un dato di lato che vale per il futuro **BUIDL ha haircut 2%** — sarebbe stato il *miglior* collaterale a rendimento del listino (contro il 5% dell'USDe), se solo lo si potesse comprare. E **stETH 7,5%**, il peggiore: terza ragione indipendente per lasciarlo stare, dopo il tasso dimezzato e l'esposizione ETH. 📌 **Nessuna delle due fonti documenta un tetto sulle quantità detenibili.** Il ~31,2% sull'USDE resta **misurato e non spiegato** — e ora si sa che non è una svista di lettura: non è scritto da nessuna parte. ### (d) Tentata la chiusura della divergenza sull'haircut: **non è raggiungibile da qui** Deribit dice: «*Haircut rates can be seen on the margin page in your account*». Quella pagina è web UI, e le credenziali vivono solo dentro il gateway (debito #11). Provato comunque: - `account_summary` per la valuta **USD** (la "riga USD" che il doc menziona) → `Invalid currency`; - parametro **`extended`** (che su Deribit apre i dettagli di margine) → **ignorato**; - il gateway filtra a **8 campi**: niente `initial_margin`, niente `maintenance_margin`. E non è che si sia guardato nel secchio sbagliato — **la contabilità torna esatta senza haircut**: ``` USDC equity 1412.281074 available 1400.728093 riservato 11.5530 USDE equity 643.175691 available 643.175691 riservato 0.0000 posizioni lorde $577.65 riservato in USDC ........... $11.5530 IM di posizione al 2% ....... $11.5530 RESIDUO ..................... $-0.0000 ``` Un haircut al **5%** chiederebbe **$32,16** accantonati, al **10%** ne chiederebbe **$64,32**: non ci sono, e il secchio USDE riserva `0.000000`. ⇒ **L'haircut non è osservabile in alcun campo esposto.** O è applicato solo nella vista cross/USD che il gateway filtra via, o non è applicato al nostro conto: da qui **le due cose non si distinguono**, e non le si sceglie tirando a indovinare. **La divergenza resta APERTA**, ma ora con la ragione misurata invece che supposta. La chiudono due cose, entrambe dell'operatore: **30 secondi sulla pagina margini** della web UI, oppure delle **chiavi API Deribit** — che è la decisione già dichiarata nel debito #11, non un refactor. Nel frattempo **non morde nulla di osservabile**: l'IM è il 2% del nozionale e il valore pieno dell'USDE resta disponibile, quindi 5% o 10% non cambia una singola cifra operativa. 📌 **Sottoprodotto non cercato**: $11,5530 / $577,65 = **2,0000% = esattamente 1/50**. È il `C1 = 50` (start leverage, tier 1) del **nuovo modello di margine SM** annunciato il 05/08 — quello che `venue_news` ha appena tirato fuori dal feed. **Confermato sul nostro conto senza averlo cercato**, ed è la prima volta che un annuncio del venue viene verificato contro il conto invece che creduto. ### (e) L'operatore dichiara: il conto è **Standard Margin** — due conferme incrociate Lo screenshot della pagina margini non è arrivato fin qui (sta sul desktop dell'operatore, non sulla VPS: il percorso non esiste su questa macchina). Ma il fatto dichiarato — **«è attivo Standard margin»** — aggancia due cose che erano sospese: 1. **Quale colonna leggere.** La tabella KB ha `Haircut (X:PM)` e `Haircut (X:SM)`. Il conto è **X:SM**, quindi vale la seconda — che per USDe dice **5%**, come la PM. La divergenza col nostro `0.10` resta quindi intatta, ma ora si sa con certezza *quale* numero ufficiale la contraddice, invece di doverne scegliere uno fra due colonne. 2. **Perché l'IM misurata era esattamente 1/50.** Il nuovo modello di margine del 05/08 si applica, testuale, ai *«standard margin accounts»*. Il conto è standard margin, e noi abbiamo misurato IM = **2,0000%** del nozionale = **1/50** = il `C1 = 50` di tier 1. **Le due cose si confermano a vicenda**: un fatto dichiarato dall'operatore e una misura fatta sul conto senza conoscerlo. *Vale la pena notarlo perché è raro: in tutta questa settimana ogni affermazione pubblicata dal venue si è rivelata falsa per il nostro conto (APR USDC, «all users can buy BUIDL»). Questa è la prima che il conto conferma.* **Cosa manca ancora**, e resta l'unica cosa che chiude la divergenza: il numero di haircut per USDe **mostrato sulla pagina Standard Margin del conto**. Se dice 5%, la nostra config è stale e il 26/08 registrò male; se dice 10%, la KB è stale e la config ha ragione. Finché non c'è, si tiene 0.10 — lato conservativo, fuori dal percorso soldi, e **senza un solo effetto operativo misurabile**.