Files
PythagorasGoal/docs/diary/2026-08-31b-venue-news-annunci.md
T
Adriano Dal Pastro 30286ea033 venue_news: sorvegliare cosa il venue ANNUNCIA — e due correzioni dalla KB
Nasce dall'annuncio sulla fine della Proof of Reserves. La notizia in se' vale
poco: 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 passivita') e si
guadagna un audit annuale indipendente sotto VARA piu' il 90% degli attivi presso
Coinbase come custode. E non l'abbiamo mai sorvegliata: zero occorrenze nel
codice. Rinunciato di proposito a catturare l'ultimo dato — uno snapshot singolo
auto-riportato non regge lo standard di prova e non permetterebbe di stimare `p`.

CONSEGUENZA VERA: la decisione "100% Deribit fino a $20k" ha fra i suoi riapritori
"`p` che diventa stimabile invece che assunto". Dal 1/9 il segnale pubblico passa
da quotidiano ad ANNUALE: da una serie si stima, da un punto all'anno no. Quel
riapritore diventa praticamente irraggiungibile => la decisione e' ora gated SOLO
dal capitale.

TROVATO CERCANDO: esiste un feed RSS degli exchange-update, e conteneva quattro
annunci materiali che nessuno leggeva. Il caso che decide: le specifiche dei perp
USDC sono cambiate il 18/08, ANNUNCIATE IL 14/08. check_specs() e' nato da quella
svista e gira ogni ora, ma rileva la deriva DOPO; il feed l'avrebbe detta quattro
giorni PRIMA. La prima volta e' andata bene solo perche' i cambi erano RIDUZIONI.

Costruito scripts/live/venue_news.py (in cron_daily accanto a fee_watch):
  - NON interpreta: dice "e' uscito questo, guardalo". Nessun automatismo su un
    testo di marketing (P13). Classifica solo l'urgenza.
  - parole-chiave DERIVATE da deribit._CONTRACT e config/live.json, non
    ridichiarate (P1): chi aggiunge un asset allarga la sorveglianza da solo, ed
    e' il test che lo blinda.
  - primo giro semina senza allertare (P9); feed illeggibile -> exit 2, mai
    silenzio implicito (P5).
Debito #8 si RESTRINGE, non si chiude: il Rulebook non ha un feed.

Confermato due volte lo zero USDC: l'espansione del 31/07 non contiene l'Italia
ne' alcun paese UE, mentre San Marino e Citta' del Vaticano SONO idonei. Non
asserisco una causa (ci sono anche Canada e Giappone).

DUE CORREZIONI dalla KB "Cross collateral specifications":
(a) Il saldo negativo costa una collateral fee dello 0,05% AL GIORNO = 18,25%/anno,
    al secondo — 4,3x la resa USDE. Il 30/08 avevo scritto "lo finanzia a
    interesse" SENZA il numero: giusto e vuoto. Col numero, il criterio del
    cuscino di regolamento diventa aritmetica (-14 punti). E il ribilanciamento
    automatico non salva: scatta a $1M assoluti o al 100% della cross equity,
    irraggiungibili a $2k. Non veniamo ribilanciati: sanguiniamo la fee.
(b) L'haircut USDe ufficiale e' 5%, noi abbiamo 0.10 registrato come "verificato
    sul venue" il 26/08 senza traccia di come. NON riparato (P12/M28): si tiene
    0.10 perche' e' il lato conservativo, non e' sul percorso soldi e non morde
    fino al 90% di quota. Divergenza dichiarata in config.
Di lato: BUIDL haircut 2% (sarebbe stato il miglior collaterale del listino, se
si potesse comprare), stETH 7,5% (terza ragione indipendente per lasciarlo stare).
Nessuna fonte documenta un tetto sulle QUANTITA': il ~31,2% resta misurato e non
spiegato — e ora si sa che non e' una svista di lettura.

Suite: 800 passati (5 nuovi su venue_news).

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-31 07:47:15 +00:00

9.2 KiB
Raw Blame History

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.