docs: Fase 0 smoke mainnet VERDE (ETH->USDC limit) + aggiorna piano micro-test
Catena d'esecuzione validata su mainnet con soldi veri a costo ~0: LIMIT SELL ETH_USDC 0.0138 @ floor 1776.3 -> filled@1778.1 (=bid), fee 0, USDC 25->49.54. Consolidato l'ETH stranded in margine USDC. Funding parziale ~$49.54 (sotto il min EUR500) -> Fase 1 in attesa di top-up a ~EUR1000. Diario + STATO/checklist del piano aggiornati. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,57 @@
|
||||
# 2026-06-16 — Fase 0 smoke mainnet VERDE (ETH→USDC, limit non market)
|
||||
|
||||
## Contesto
|
||||
Il conto Deribit mainnet, fino al 2026-06-14 **vuoto** (€0, unico blocco al micro-test), ha
|
||||
ricevuto un deposito iniziale di **~$50**: 25.00 USDC + 0.013878 ETH. Occasione per eseguire la
|
||||
**Fase 0** del piano (`docs/specs/mainnet-microtest-plan.md`): validare la catena d'esecuzione su
|
||||
soldi VERI con rischio ~0, abbinandola a un'operazione utile — **consolidare l'ETH stranded in
|
||||
margine USDC**.
|
||||
|
||||
Perché consolidare: noi eseguiamo sui perp **lineari USDC** (`*_USDC-PERPETUAL`), marginati in
|
||||
**USDC**. I 0.0138 ETH stavano nel wallet ETH (collateral dell'inverse, che NON usiamo per la
|
||||
matematica lineare del backtest) → margine effettivo solo i $25 USDC. Convertendo, l'intero ~$50
|
||||
diventa USDC utilizzabile.
|
||||
|
||||
## Ordine (LIMIT, non market — istruzione utente)
|
||||
Check capability read-only prima: spot `ETH_USDC` esiste (bid 1780.3/ask 1780.9, `testnet:false`,
|
||||
price tick 0.1). Il listing strumenti NON espone lo spot (kind=spot vuoto, endpoint v1 404) ma il
|
||||
ticker basta. `place_order` supporta `order_type="limit"` + `price`.
|
||||
|
||||
- **LIMIT SELL `ETH_USDC` 0.0138 ETH @ floor 1776.3** (~0.1% sotto il bid) — *marketable limit con
|
||||
cap di slippage*: crossa e filla al bid corrente, ma con un floor sotto cui NON può fillare.
|
||||
Soddisfa "non a market" (prezzo protetto, niente slippage incontrollato) garantendo il fill.
|
||||
- Step 0.0001 ok al primo colpo (niente fallback 0.013); fallback previsti 0.013/0.012.
|
||||
|
||||
### Esito
|
||||
```
|
||||
order_state = filled filled_amount = 0.0138
|
||||
average_price = 1778.1 (= bid al momento dell'invio; il bid era sceso 1780.3->1778.1 tra
|
||||
quote e invio, ma > floor 1776.3 -> zero slippage negativo)
|
||||
fee = 0.0 (maker, costo nullo)
|
||||
order_id = ETH_USDC-8488088107
|
||||
```
|
||||
Riconciliazione conto (before→after):
|
||||
| Wallet | Prima | Dopo |
|
||||
|---|---|---|
|
||||
| USDC | 25.00 | **49.538** (+24.538) |
|
||||
| ETH | 0.013878 | 0.000078 (dust ~$0.14, sotto il min → non convertibile) |
|
||||
| BTC | 0 | 0 |
|
||||
| posizioni / ordini resting | — | nessuna / nessuno |
|
||||
|
||||
## Cosa è dimostrato
|
||||
Catena end-to-end su **mainnet** (`testnet:false`), a costo ~0: routing live + auth + `place_order`
|
||||
limit + fill + verifica via `get_trade_history` + riconciliazione `get_account_summary`. La
|
||||
meccanica d'esecuzione reale FUNZIONA su soldi veri. **Fase 0 ✅.**
|
||||
|
||||
## Limite residuo (resta il blocco vero)
|
||||
~$49.54 USDC è **sotto il minimo €500** del piano: a questo margine il rumore di arrotondamento
|
||||
BTC (step lineare ~$6.6) soffoca il segnale → NON si può ancora testare l'**edge**. Per la **Fase 1**
|
||||
(fade-only, €1000, 2-4 settimane, verdetto ledger-vs-backtest) serve un **top-up a ~€500-1000 USDC**.
|
||||
Stato piano aggiornato: token+smoke ✅, funding 🟡 parziale, Fase 1 in attesa di capitale.
|
||||
|
||||
## Note operative
|
||||
- Operazione MANUALE one-off (non il runner): `.env.mainnet` sourcato a mano, client puntato a
|
||||
mainnet solo per questa sessione. Il runner di produzione resta su **testnet** (`.env` condiviso
|
||||
invariato) → nessun rischio di flip accidentale.
|
||||
- La marketable-limit con floor è il pattern giusto per conversioni one-shot a prezzo controllato
|
||||
(vs il TP resting/limit-al-livello degli sleeve): fill immediato + cap di slippage, fee maker.
|
||||
Reference in New Issue
Block a user