Compare commits

2 Commits

Author SHA1 Message Date
Adriano Dal Pastro 41f83b5dd8 BUIDL-01 CHIUSO: non entrabile — e la frase pubblicata da Deribit e' falsa per noi
Esito del test pre-registrato dieci minuti prima (7b8e356). Si chiude con un esito
che NON era fra i due previsti: i criteri contemplavano ">=1 reward -> IDONEO" e
"zero reward -> NON IDONEO", ma non si riesce a comprare BUIDL affatto, quindi la
domanda sull'eligibilita' ai reward e' priva di oggetto. Un gate puo' fallire sulla
sua PRECONDIZIONE invece che sul suo criterio, e va scritto cosi'.

Undici ordini rifiutati con not_enough_funds_in_currency, fino a 1 unita' a limite
1,0100 contro ask 1,0004 con 10.730 di profondita', tenendo ZERO BUIDL e avendo
$1.412 disponibili per comprarne $1. Esclusi uno per uno tutti i sospetti che
sull'USDE avevano portato fuori strada: prezzo (incrocia di 96 bps), liquidita',
taglia (il minimo dello strumento), fondi, tetto sul livello (teniamo zero), wallet
(account_summary risponde). Costo del test: $0, nessun fill.

🚨 "All Deribit users are permitted to buy and sell BUIDL tokens in the spot markets
on Deribit, with no extra requirements" — insights.deribit.com. NON per noi.
Motivo plausibile e non verificato: BUIDL e' un titolo (fondo BlackRock via
Securitize), distribuzione ristretta a monte dell'exchange. Il fatto misurato e' il
rifiuto, non il suo motivo.

REGOLA (due affermazioni pubblicate smentite dal conto in due giorni — APR USDC
3,40% e "all users can buy BUIDL"): una capacita' PUBBLICATA dal venue non e' una
capacita' del CONTO. Si verifica sul conto, prima che entri in un piano, e costa un
ordine da $1. E' N10 un passo piu' in la': non basta il sito, non basta il venue,
serve il conto.

SOTTOPRODOTTO che vale piu' del test: not_enough_funds_in_currency e' il messaggio
GENERICO di Deribit per "non puoi acquisire altra di questa valuta" — permesso
(BUIDL, zero in mano) o tetto (USDE, ~31,2% dell'equity), mai i fondi. Chi lo
incontra salti subito alla domanda giusta invece di inseguire taglia, cadenza e
prezzo come e' successo il 30/08.

=> L'USDE resta l'unico collaterale a rendimento che il conto puo' usare, ed e' al
suo tetto; i $1.412 di USDC continuano a rendere zero. Non per mancanza di
alternative: le tre alternative sono chiuse per giurisdizione (USDC), per permesso
(BUIDL) e perche' non e' un dollaro (stETH).

balance_watch esteso a BUIDL: se l'accesso si aprisse, un balance non nullo lo
direbbe da solo. Suite: 795 passati.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-31 07:35:32 +00:00
Adriano Dal Pastro 7b8e35633d BUIDL-01: criteri pre-registrati PRIMA dell'esecuzione e dell'esito
Test di eligibilita' sul collaterale BlackRock (Treasury USA tokenizzati), taglia
500 BUIDL come il test USDE del 26/08. Nasce dalla domanda su stETH: stETH rende
2,22% (meta' dell'USDE) ed e' ETH, non un dollaro — coprirlo e' CC01, gia'
parcheggiato a scala 20k+. I custodi sono istituzionali e comunque nessuna via
custodiale restituisce i reward USDC (esclusione italiana per giurisdizione).

BUIDL invece e' comprabile, liquido, in cross-collateral, e soprattutto e' un
emittente DIVERSO: oggi il conto ha $1.412 di USDC che rendono zero e il rischio
emittente concentrato al 100% su Ethena.

Criteri dichiarati adesso, esito da leggere il 2026-09-04:
  ELIGIBILITA': >=1 reward entro le 23:00 UTC del 03/09 -> IDONEO; zero -> NON
  IDONEO, si riconverte e la pista si chiude. Tre finestre feriali piene.
  TETTO: sondato a saldo neutro, registrato col suo bracket E l'equity del
  momento (sull'USDE il tetto e' una frazione, non un livello).
  HAIRCUT: dichiarato NON misurabile a questa taglia, e non vincolante.

Committato PRIMA dell'esecuzione: l'ordine dei fatti sta in git.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-31 07:30:40 +00:00
3 changed files with 169 additions and 2 deletions
+2
View File
@@ -77,6 +77,8 @@ proprio, sotto `monitor_health`) derivano entrambi da li'. ⚠️ Il difetto d'o
leggeva SOLO il conto USDC — la prima conversione avrebbe causato un falso "USCITA DI FONDI 24%" leggeva SOLO il conto USDC — la prima conversione avrebbe causato un falso "USCITA DI FONDI 24%"
e vendite indesiderate. Chi aggiunge una valuta di collaterale DEVE passare da `usde.py`/shadow. e vendite indesiderate. Chi aggiunge una valuta di collaterale DEVE passare da `usde.py`/shadow.
🚨 **Una capacita' PUBBLICATA dal venue non e' una capacita' del CONTO: si verifica sul conto, prima che entri in un piano — e costa un ordine da $1.** Due affermazioni di Deribit smentite dal conto in due giorni: la **APR USDC 3,40%** (l'Italia e' nella lista delle giurisdizioni escluse → i nostri $1.412 di USDC rendono **zero**) e «**all Deribit users are permitted to buy and sell BUIDL**» (11 ordini rifiutati, fino a **1 unita' a limite 1,0100 contro ask 1,0004 con 10.730 di profondita'**, tenendo zero BUIDL e $1.412 disponibili → **GATE BUIDL-01 chiuso: NON ENTRABILE**, costo $0, diario `2026-08-31-buidl-test-eligibilita`). ⇒ **L'USDE e' l'unico collaterale a rendimento che il conto puo' usare**, ed e' al suo tetto: le altre tre vie sono chiuse per **giurisdizione** (USDC), **permesso** (BUIDL) e perche' **non e' un dollaro** (stETH 2,23%, che e' ETH: coprirlo e' CC01, gia' parcheggiato a scala ~$20k+). 📌 **`not_enough_funds_in_currency` e' il messaggio GENERICO di Deribit per "non puoi acquisire altra di questa valuta"** — permesso o tetto, mai i fondi. Chi lo incontra salti subito a *questa valuta la posso acquisire, e fino a quanto?* invece di inseguire taglia, cadenza e prezzo come il 30/08.
⚠️ **Il nome "disaster-SL 30%" inganna:** e' **rotolante e simmetrico**, non un massimo di perdita ⚠️ **Il nome "disaster-SL 30%" inganna:** e' **rotolante e simmetrico**, non un massimo di perdita
per trade. Su cicli a ingresso proprio lascia passare perdite oltre 30% senza scattare, e il per trade. Su cicli a ingresso proprio lascia passare perdite oltre 30% senza scattare, e il
peggior DD dall'ingresso misurato e' **60,6% BTC / 61,5% ETH**. Dettaglio in `40-produzione`. peggior DD dall'ingresso misurato e' **60,6% BTC / 61,5% ETH**. Dettaglio in `40-produzione`.
@@ -0,0 +1,165 @@
# 2026-08-31 — GATE BUIDL-01: test di eligibilità sul collaterale BlackRock
⚠️ **Questo documento è scritto PRIMA di eseguire e PRIMA di conoscere l'esito, e committato
separatamente dall'esecuzione**: l'ordine dei fatti è verificabile in git, non sulla mia parola.
È la stessa disciplina che ha reso valido il test USDE del 26/08 (M13, N11).
## Da dove nasce
L'operatore chiedeva se convenisse aggiungere **stETH** e i custodi Fireblocks/Sygnum/Komainu.
Risposta: no a entrambi — stETH rende **2,2254%** (metà dell'USDE) e non è un dollaro ma **ETH**,
quindi è esposizione direzionale che `book.py` non netta e che nessun gate autorizza; coprirla con
uno short perp è **CC01**, già misurato il 26/06 e parcheggiato come *"LEAD a scala ~$20k+"*.
I custodi sono istituzionali, fuori portata a $2k e coperti dalla decisione *"100% Deribit fino a
$20k"* — e comunque **nessuna via custodiale restituisce i reward USDC**, perché l'esclusione
italiana è per giurisdizione.
Ma la ricerca ha trovato la voce che conta. Le valute a rendimento su Deribit sono quattro:
| valuta | APR pubblicata | emittente / natura | note |
|---|---|---|---|
| USDE | 4,2143% | Ethena, sintetico delta-hedged | **al tetto** (~31,2% dell'equity) |
| USDC | 3,4000% | Circle / custodia Coinbase | **Italia esclusa → 0 sul nostro conto** |
| **BUIDL** | **3,2018%** | **BlackRock, Treasury USA tokenizzati** | `BUIDL_USDC` liquido |
| STETH | 2,2254% | Lido | è ETH, non un dollaro |
**Il punto non è il tasso, è l'emittente.** Oggi il conto ha **$1.412,71 di USDC che rendono
esattamente zero** e un rischio emittente concentrato al 100% su Ethena. BUIDL è un R1
**completamente diverso** (Treasury USA): non aggiunge un grammo di esposizione Ethena e va
esattamente nella direzione che N4 indica — *la quota è l'unica leva contro il rischio emittente*.
## Cosa si compra e cosa resta
- USDC $1.412,71 · USDE 643,175691 ($643,18) · **totale $2.055,88**
- cuscino di regolamento richiesto (`n_asset × frac × disaster_sl_pct` = 30% dell'equity): **$616,76**
- **USDC libero sopra il cuscino: $795,94**
**Taglia del test: 500 BUIDL (~$500)** — la stessa del test USDE, per confrontabilità. Lascia USDC
a ~$912, cioè **$295 di slack sopra il cuscino**: il vincolo di regolamento resta rispettato con
margine. Costo: spread 4 bps ≈ **$0,20**, reversibile.
## Meccanica dichiarata (dall'articolo ufficiale, non dedotta)
> «BUIDL rewards are paid based on the **minimum equity** of BUIDL held in an account over the
> preceding day. The minimum equity held over the preceding day must be **at least 1 BUIDL**.
> The minimum equity calculation period is the **24 hours up to 20:00 UTC** each day. […] BUIDL
> rewards are **only paid on weekdays** […] between **20:00 UTC and 23:00 UTC**. […] Deribit
> charges an administrative fee of **5%**.»
Comprando **lunedì 31/08 mattina**, la finestra 20:00 dom → 20:00 lun ha minimo **0** (prima
dell'acquisto non tenevamo BUIDL): **nessun reward atteso lunedì sera**. La prima finestra piena è
20:00 lun → 20:00 mar, pagata **martedì 01/09 fra le 20:00 e le 23:00 UTC**.
Reward atteso su 500 BUIDL: `500 × 3,2018%/365` = **0,04386/giorno** lordo, ~**0,0417 netto** del
fee 5%. BUIDL ha **6 decimali**: il segnale è ~40× la soglia di rumore che usiamo per l'USDE (1e-3).
⚠️ *La APR pubblicata è un listino, non un incasso* — lezione pagata il 30/08 sull'USDC. Il numero
da citare sarà quello **misurato**, con il suo `n`.
## 🔒 CRITERI PRE-REGISTRATI — dichiarati adesso, prima dell'esito
**GATE BUIDL-01, si legge il 2026-09-04.**
1. **ELIGIBILITÀ** *(la domanda primaria: la giurisdizione italiana esclude l'USDC, e per BUIDL
l'articolo non pubblica alcuna lista — quindi è ignoto, non noto)*
**≥1 reward BUIDL rilevato entro le 23:00 UTC del 2026-09-03 → IDONEO**; si apre la decisione
di quota, che è dell'**operatore**. **Zero reward → NON IDONEO**: si riconverte in USDC e la
pista si chiude, come si sarebbe chiusa quella USDE.
Finestra: tre giorni feriali pieni (mar 01, mer 02, gio 03), robusta a una finestra mancata.
Rilevazione **per delta** sull'equity BUIDL al netto dei trade — il gateway non espone il
Transaction Log (debito #11), stesso metodo dichiarato dell'USDE, coi suoi limiti.
Soglia di rilevazione **1e-3 BUIDL** (il reward atteso è 40×).
2. **TETTO DEL VENUE** — si sonda subito, col metodo **a saldo neutro** già validato sull'USDE
(BUY rifiutato → SELL → BUY riaccettato → BUY rifiutato). Si registra il bracket **con l'equity
del momento**, perché sull'USDE il tetto si è rivelato una **frazione** e non un livello: senza
l'equity accanto il numero non è interpretabile (P7).
3. **HAIRCUT**: **dichiarato NON misurabile a questa taglia** e non vincolante — sull'USDE è stato
misurato che non morde fino al 90% di quota, e qui il margine impegnato è ~$11 su $2.056.
Non lo si stima al buio: si scrive che non lo sappiamo (D5).
**Cosa NON decide questo test**: la quota. Decide solo se la pista esiste. La quota è
dell'operatore, e sull'USDE si è vista arrivare comunque dal venue.
## Sorveglianza
`balance_watch.py` (orario, minuto :42) viene esteso a **BUIDL**: registra il balance a 6-8
decimali accanto a USDC e USDE, col conteggio dei fill dall'ultimo campione. È già dentro il
perimetro di backup. La finestra dei reward BUIDL (20:00-23:00 UTC) è coperta da 4 campioni orari.
*Esito: da scrivere dopo il 2026-09-03.*
---
## ESITO (stesso giorno, 07:35-07:45Z) — **GATE BUIDL-01 CHIUSO: NON ENTRABILE**
Il gate si chiude in dieci minuti, e con un esito che **non era fra i due previsti**. I criteri
pre-registrati contemplavano *"≥1 reward → IDONEO"* e *"zero reward → NON IDONEO"*. La realtà è una
terza cosa: **non si riesce a comprare BUIDL affatto**, quindi la domanda sull'eligibilità ai reward
è priva di oggetto. *Un gate può fallire sulla sua precondizione invece che sul suo criterio, e va
scritto così invece di essere forzato in una delle caselle previste.*
### La misura
Undici ordini rifiutati, tutti con `not_enough_funds_in_currency`:
```
BUY 500 · 250 · 125 · 62 · 31 · 15 · 7 · 3 @1.0009 -> rifiutati (scala per dimezzamento)
BUY 1 @1.0006 (ask 1.0004 x 10.730) -> rifiutato
BUY 1 @1.0024 (ask 1.0004 x 10.730) -> rifiutato
BUY 1 @1.0100 (ask 1.0004 x 10.730) -> rifiutato
```
Con **BUIDL 0,000000 in mano** e **USDC $1.412,32 disponibili**, per comprare **$1**. Esclusi uno
per uno tutti i sospetti che sull'USDE avevano portato fuori strada:
| sospetto | escluso perché |
|---|---|
| prezzo non marcabile | limite **1,0100** contro ask **1,0004** — incrocia di 96 bps |
| liquidità | **10.730** unità al miglior ask, 23.416 tre livelli sotto |
| taglia | rifiutata **1 unità**, il minimo dello strumento |
| fondi | **$1.412** disponibili per un ordine da **$1** |
| tetto sul livello | **teniamo zero**: non c'è nulla da superare |
| wallet inesistente | `account_summary("BUIDL")` risponde, equity 0.0 |
**Il conto non è abilitato ad acquisire BUIDL.** Costo del test: **$0** (nessun fill).
### 🚨 E la frase pubblicata è FALSA per il nostro conto
> «**All Deribit users are permitted to buy and sell BUIDL tokens in the spot markets on Deribit,
> with no extra requirements.**» — `insights.deribit.com/education/buidl-launches-on-deribit/`
Non per noi. Motivo plausibile e **non verificato**: BUIDL è un **titolo** (fondo BlackRock emesso
via Securitize), e la sua distribuzione è ristretta per giurisdizione a monte dell'exchange —
l'articolo di marketing non lo dice. *Il fatto misurato è il rifiuto, non il suo motivo* (stessa
disciplina dello zero USDC).
📌 **Due affermazioni pubblicate di Deribit smentite dal conto in due giorni**: la APR USDC al
3,40% (30/08) e ora «all users can buy BUIDL». Non è sfortuna, è una **regola**:
> **Una capacità pubblicata dal venue non è una capacità del conto. Si verifica sul CONTO, prima
> che entri in un piano — e costa un ordine da $1.**
È N10 portata un passo più in là: la verifica a €0 va fatta prima, si fa **sul venue e non sul
sito** — e adesso si sa che nemmeno il venue basta: serve il **conto**.
### Il sottoprodotto che vale più del test
`not_enough_funds_in_currency` è il **messaggio generico di Deribit per «non puoi acquisire altra
di questa valuta»**, qualunque sia il motivo — permesso, giurisdizione, o tetto. Lo si è visto ora
su BUIDL (permesso assente, zero in mano) e il 30-31/08 su USDE (tetto a ~31,2% dell'equity). Il
messaggio parla di **fondi** e i fondi non c'entrano mai. Chi lo incontra in futuro deve saltare
direttamente alla domanda giusta — *questa valuta la posso acquisire, e fino a quanto?* — invece di
inseguire taglia, cadenza e prezzo come è successo il 30/08.
### Cosa resta
- **Pista BUIDL chiusa.** Non riapribile da noi: dipende da un permesso del venue, non da una
nostra scelta. La riapre solo un cambio lato Deribit.
- **`balance_watch` tiene BUIDL nella lista** (costo: una lettura oraria). Se l'accesso si aprisse,
un balance diverso da zero lo direbbe da solo — la stessa logica per cui l'USDC resta sorvegliato
malgrado lo zero misurato.
- **L'USDE resta l'unico collaterale a rendimento che il conto può usare**, al suo tetto di ~31,2%,
e i **$1.412 di USDC continuano a rendere zero**. Non per mancanza di alternative: perché le tre
alternative sono chiuse una per giurisdizione (USDC), una per permesso (BUIDL) e una perché non è
un dollaro (stETH).
+2 -2
View File
@@ -52,8 +52,8 @@ from src.live.deribit import DeribitRead # noqa: E402
STATE = ROOT / "data" / "live" / "balance_watch.jsonl" STATE = ROOT / "data" / "live" / "balance_watch.jsonl"
TRADES_DB = ROOT / "data" / "live" / "trades.db" TRADES_DB = ROOT / "data" / "live" / "trades.db"
VALUTE = ("USDC", "USDE") VALUTE = ("USDC", "USDE", "BUIDL")
APR_ATTESE = {"USDC": 0.0340, "USDE": 0.041071} # public/get_currencies, lette il 2026-08-30 APR_ATTESE = {"USDC": 0.0340, "USDE": 0.042143, "BUIDL": 0.032018} # public/get_currencies
def fills_da(ts_iso: str | None) -> int | None: def fills_da(ts_iso: str | None) -> int | None: