Files
PythagorasGoal/docs/diary/2026-08-31b-venue-news-annunci.md
T
Adriano Dal Pastro c8be83ef6e haircut: la divergenza non si chiude dal gateway — misurato perche', non supposto
Richiesta: leggere la pagina margini del conto per chiudere il 5% (KB) vs 10%
(nostra config). NON E' RAGGIUNGIBILE da qui: account_summary per la valuta USD
da' "Invalid currency", il parametro `extended` viene ignorato, e il gateway
filtra a 8 campi senza initial_margin/maintenance_margin (debito #11).

E non e' che si sia guardato nel secchio sbagliato: la contabilita' TORNA ESATTA
senza alcun termine di 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 -> IM al 2% = $11.5530 -> RESIDUO -$0.0000
Un haircut al 5% chiederebbe $32,16 accantonati, al 10% $64,32: non ci sono.
=> L'haircut non e' osservabile in ALCUN campo esposto. O e' applicato solo nella
vista cross/USD che il gateway filtra, o non e' 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 con la ragione MISURATA invece che supposta. La
chiudono 30 secondi sulla web UI o delle chiavi API Deribit (la decisione gia'
dichiarata nel debito #11, non un refactor). Nel frattempo non morde nulla di
osservabile: l'IM e' il 2% del nozionale e l'USDE resta interamente disponibile,
quindi 5% o 10% non cambia una cifra operativa.

L'operatore ha dichiarato che il conto e' STANDARD MARGIN. Aggancia due cose:
  - la colonna da leggere e' Haircut (X:SM), che per USDe dice 5% come la PM:
    ora si sa con certezza quale numero ufficiale contraddice il nostro;
  - spiega perche' l'IM misurata e' esattamente 1/50: il nuovo modello di margine
    del 05/08 si applica ai "standard margin accounts", tier 1 C1=50. Un fatto
    dichiarato dall'operatore e una misura fatta senza conoscerlo si confermano
    a vicenda — ed e' la PRIMA affermazione del venue che il conto conferma questa
    settimana, dopo l'APR USDC e "all users can buy BUIDL".

Lo screenshot non e' arrivato: il percorso sta sul desktop dell'operatore, non
sulla VPS.

Suite: 800 passati.

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

13 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.

(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.