Dashboard
Panoramica ops: Overcollateral + Pegno + Pool in testnet; Trade/P2P spesso sospesi in Finance.
Staking LDY sul protocollo. Pool mintano lzLP (quote), senza secondo stake.
LTV Diamond
Cos’è. Riepilogo del contratto principale dei prestiti con garanzia (Overcollateral).
Come si usa. Premi «Aggiorna tutto». Per cambiare fee, whitelist o pause usa le sezioni a sinistra.
Pegno
Cos’è. Riepilogo del Pegno a scadenza (fee, pause, conteggio).
Come si usa. Solo lettura qui. Modifiche in «Pegno / Pledge».
Pools
Cos’è. Quante pool esistono e stato keeper pool.
Come si usa. Solo lettura. Create pool in dApp; keeper in Parametri.
Trade / P2P
Cos’è. Stato operativo di Trade (perp) e P2P fiat.
Come si usa. Dettagli nelle sezioni Trade e P2P Fiat.
Staking LDY (solo LTV)
Cos’è. Anteprima dello staking LDY del protocollo.
Come si usa. «Dettaglio staking» oppure sezione Staking admin per contributeRewards.
Fee LTV & riserva
Cos’è. Commissione LTV e conteggio riserva LDY.
Come si usa. «Aggiorna fee» oppure apri Fee & distribuzione per modificare.
Scorciatoie
Cos’è. Link rapidi alle sezioni più usate.
Come si usa. Clicca un pulsante per aprire la sezione.
Supporto clienti
Per personale autorizzato (wallet in allowlist o owner). Lookup su tutti i prodotti senza write on-chain.
ID: offerta LTV · pegno · poolId · trade escrow P2P. Trade Orderly: wallet + health API (posizioni off-chain).
Canali: docs/flexirate/17-supporto-canali.md.
Allowlist wallet supporto (owner)
Cos’è. Elenco dei wallet del personale che possono usare Supporto in sola lettura (senza essere owner del contratto).
Come si usa. 1) Incolla un address 0x… per riga. 2) Salva allowlist (owner). 3) Quel wallet, connesso, vede lookup clienti ma non può fare tx di scrittura.
Indirizzi autorizzati alla sezione Supporto e alle viste sola lettura. Uno per riga.
Il tuo ruolo
Cos’è. Ti dice se il wallet connesso è owner, supporto o ospite.
Come si usa. Connetti MetaMask e leggi «Ora». Solo owner vede i pulsanti di scrittura nelle altre sezioni.
Owner: tutto. Support: Dashboard, Finance, Monitoraggio, Utilizzo, Whitelist (lettura), Pegno/Trade/P2P (lettura), questa sezione. Guest: niente lookup.
Lookup cliente
Cos’è. Cerca posizioni e offerte di un utente (wallet) su LTV, Pegno, Pool, Trade, P2P — senza poter modificare nulla.
Come si usa. 1) Incolla il wallet del cliente. 2) Opzionale: ID offerta/pegno/pool/trade. 3) Scegli prodotto e premi Cerca. Serve ruolo Support o Owner.
Come gestire il canale (ops)
Whitelist & oracoli
La tabella Pool clona la stessa lista asset LTV per confronto side-by-side (nome + oracle Diamond vs registry Pool). On-chain restano separati: LTV usa whitelist Diamond; Pool usa solo i feed impostati sul registry. Pegno: listing token = catalogo admin (nav Pegno), senza oracolo on-chain.
Overcollateral (LTV) whitelist
Asset whitelisted
Cos’è. Pannello di impostazione «Asset whitelisted»: qui leggi i valori attuali e, se sei owner, puoi modificarli on-chain o nelle impostazioni salvate.
Come si usa. 1) Leggi «Ora» (se presente). 2) Compila solo i campi che vuoi cambiare. 3) Premi il pulsante di conferma e approva in MetaMask se richiesto. Se non sei owner i pulsanti restano disabilitati.
| Token | Asset | Whitelisted | Oracle | Azioni |
|---|
Aggiungi asset (LTV)
Cos’è. Pannello di impostazione «Aggiungi asset (LTV)»: qui leggi i valori attuali e, se sei owner, puoi modificarli on-chain o nelle impostazioni salvate.
Come si usa. 1) Leggi «Ora» (se presente). 2) Compila solo i campi che vuoi cambiare. 3) Premi il pulsante di conferma e approva in MetaMask se richiesto. Se non sei owner i pulsanti restano disabilitati.
Imposta oracle (LTV Diamond)
Cos’è. Pannello di impostazione «Imposta oracle (LTV Diamond)»: qui leggi i valori attuali e, se sei owner, puoi modificarli on-chain o nelle impostazioni salvate.
Come si usa. 1) Leggi «Ora» (se presente). 2) Compila solo i campi che vuoi cambiare. 3) Premi il pulsante di conferma e approva in MetaMask se richiesto. Se non sei owner i pulsanti restano disabilitati.
Si applica al Diamond LTV+, non al registry Pool.
Pools OracleRegistry
Factory 0x122e6140…4994 · Registry 0x5D0a2dFB…2221.
Elenco = clone 1:1 della whitelist LTV (stesso ordine); colonna oracle = feed sul registry Pool (— se non impostato).
| Token | Asset | Oracle (Pool registry) | In LTV |
|---|
Imposta oracle Pool
Cos’è. Pannello di impostazione «Imposta oracle Pool»: qui leggi i valori attuali e, se sei owner, puoi modificarli on-chain o nelle impostazioni salvate.
Come si usa. 1) Leggi «Ora» (se presente). 2) Compila solo i campi che vuoi cambiare. 3) Premi il pulsante di conferma e approva in MetaMask se richiesto. Se non sei owner i pulsanti restano disabilitati.
Parametri tassi & rischio
Prima questa pagina mischiava tutto sul Diamond LTV. Ora è suddivisa: LTV = tassi dinamici, rischio, fixed range, keeper flash LTV; Pegno = tassi/rischio sono on-chain per offerta (niente curva globale) + limiti contratto; Pool = keeper liquidazioni pool (tassi per-pool in createPool).
Overcollateral (LTV) LTV Diamond
Tassi dinamici
Cos’è. Pannello di impostazione «Tassi dinamici»: qui leggi i valori attuali e, se sei owner, puoi modificarli on-chain o nelle impostazioni salvate.
Come si usa. 1) Leggi «Ora» (se presente). 2) Compila solo i campi che vuoi cambiare. 3) Premi il pulsante di conferma e approva in MetaMask se richiesto. Se non sei owner i pulsanti restano disabilitati.
Rischio & limiti
Cos’è. Pannello di impostazione «Rischio & limiti»: qui leggi i valori attuali e, se sei owner, puoi modificarli on-chain o nelle impostazioni salvate.
Come si usa. 1) Leggi «Ora» (se presente). 2) Compila solo i campi che vuoi cambiare. 3) Premi il pulsante di conferma e approva in MetaMask se richiesto. Se non sei owner i pulsanti restano disabilitati.
Il limite prodotto sono gli slot offerta (maxOffersPerLender, 50).
maxActiveLoansPerUser è un tetto leftover (init 10) che usa lo stesso errore ErrTooManyLoans e blocca i mutuari.
Non c’è un limite al numero di posizioni: allinea il tetto almeno a 50.
Tasso fisso (Fixed Rate Range)
Cos’è. Pannello di impostazione «Tasso fisso (Fixed Rate Range)»: qui leggi i valori attuali e, se sei owner, puoi modificarli on-chain o nelle impostazioni salvate.
Come si usa. 1) Leggi «Ora» (se presente). 2) Compila solo i campi che vuoi cambiare. 3) Premi il pulsante di conferma e approva in MetaMask se richiesto. Se non sei owner i pulsanti restano disabilitati.
Keeper liquidazioni LTV (flash loan)
Cos’è. Pannello di impostazione «Keeper liquidazioni LTV (flash loan)»: qui leggi i valori attuali e, se sei owner, puoi modificarli on-chain o nelle impostazioni salvate.
Come si usa. 1) Leggi «Ora» (se presente). 2) Compila solo i campi che vuoi cambiare. 3) Premi il pulsante di conferma e approva in MetaMask se richiesto. Se non sei owner i pulsanti restano disabilitati.
Interruttore operativo per il bot Netlify liquidation-cron.
Quando disattivato, nessuna tx di liquidazione automatica (anche se LIQUIDATION_WRITE=true su Netlify).
Richiede login SIWE admin per salvare.
Pegno a scadenza LendzyPawn
Tassi & rischio (modello a scadenza)
Sul pegno non esiste curva tassi globale né LTV/liquidazione oracolo.
Il lender fissa interestBps e duration per ogni offerta.
Limiti contratto: durata 1–365 giorni, interesse 1–5000 bps, fee protocollo max 500 bps.
Fee/pause owner: sezione nav Pegno / Pledge (stesso contratto).
Pools Factory / clone
Keeper liquidazioni Pool (LendzyPool / flash cross-pool)
Bot per pool clone create via LendzyPoolFactory — liquidazione liquidate(user, collateral, debtToCover).
Flash loan dal contratto LTV. Interruttore indipendente: poolEnabled.
Tassi / LTV / fee protocollo della singola pool si impostano in createPool (permissionless in dApp), non con i form LTV sopra.
Le pool non hanno flash interno. Riutilizza OracleSwap e modalità del keeper LTV. Fondi flash su LTV Diamond.
Discovery borrowers: factory on-chain → indexer Griffin → log debt token → POOL_LIQUIDATION_WATCH_USERS (Netlify).
Guida operativa — Flash loan liquidazioni LTV
Riferimento Sepolia testnet. Prodotti live: LTV, Pegno, Pools (Trade/P2P sospesi). Il Market Leverage non è più un prodotto: il Diamond sotto resta solo come pool flash legacy (liquidità idle) per liquidare LTV senza reentrancy. Il keeper è sicuro finché la checkbox sopra resta disattivata: il cron Netlify scansiona le posizioni ma non invia transazioni.
1. Cosa fa il flash loan (in parole semplici)
Quando una posizione LTV diventa liquidabile (es. debito mSOL, collaterale mUSDT), un liquidatore deve:
- Prendere in prestito il token del debito (mSOL) per pochi secondi — flash loan.
- Liquidare la posizione sul contratto LTV (riceve il collaterale).
- Convertire il collaterale nel token del debito (OracleSwap testnet).
- Ripagare il prestito + fee flash, tutto in una sola transazione atomica.
Perché il flash non parte dal Diamond LTV?
Su LTV, flashLoan e liquidatePosition condividono la stessa anti-reentrancy:
flash→liquidate sullo stesso Diamond fallirebbe. Perciò il prestito flash viene da un
secondo Diamond (indirizzo legacy ex-Leverage, solo infra) con storage separato,
mentre la liquidazione avviene sul LTV Diamond.
2. I tre portafogli (ruoli diversi)
| Ruolo | Indirizzo / uso | Quando serve |
|---|---|---|
| Deployer / owner | 0x215b7086cf2eac196a8ad26581eee65cc8fbb9df |
Ha deployato FlashLiquidator e OracleSwap; può chiamare deposit() su OracleSwap e ritirare inventario. |
| Wallet keeper (bot) | Configurato in Netlify come PRIVATE_KEY (può coincidere col deployer o essere un wallet dedicato) |
Firma le tx di liquidazione; paga gas; se la posizione è underwater, può top-upare token mancanti (serve allowance verso FlashLiquidator). |
| Wallet tesoreria / ops | Qualsiasi wallet con mUSDC / mSOL | Può inviare token senza essere owner: transfer diretto verso il pool flash legacy o OracleSwap (vedi §4). |
3. Dove servono i fondi (OracleSwap + pool flash legacy)
| Destinazione | Indirizzo contratto | Cosa contiene | Perché serve |
|---|---|---|---|
| Pool flash legacy (Diamond ex-Leverage, solo infra) |
0x78eaE66baa9c57D77298e733CbAd24d3f5B9760D |
Token idle (saldo ERC20 del contratto) | Il flash loan LTV prende da qui. Es.: servono ≥ ~5 mSOL per liquidare una posizione tipica. |
| OracleSwap | 0x17f48d36f1a757ebf24c28fe3de608a49b890cef |
Inventario mSOL / mUSDC nel contratto swap | Dopo la liquidazione converte collaterale (es. mUSDT) → debito (mSOL) a prezzo oracle. |
| FlashLiquidator | 0x72f484fb86374d7345777d6b1cc98667808f9e75 |
Non va pre-finanziato | Orchestratore: flash (pool legacy) → liquidate LTV → swap → repay. Riceve solo surplus eventuale. |
| LTV Diamond | 0x782470904e3156FEeAD59f56c9B68a67A445417b |
Posizioni da liquidare | Target di liquidatePosition. Per liquidazioni Pool il flash usa invece i token idle su questo Diamond (keeper Pool separato). |
Token testnet Sepolia:
- mUSDC:
0x8E5a957b56630456f05438005421FF61BEcc3ff9 - mSOL:
0xdC3d7d9f8500F2bDc5715FEe96aCB6E42FddD93D
4. Come aggiungere fondi — script npm vs transfer manuale
Opzione A — Script automatico (repo lendzy3.0)
cd lendzy3.0 npm run fund-liquidation-keeper
Usa PRIVATE_KEY e LIQUIDATION_ORACLE_SWAP in .env.local. Deposita su OracleSwap (owner) e invia seed al pool flash legacy (Diamond 0x78eaE…760D). Importi default: 50k mUSDC + 100 mSOL su swap; 10k mUSDC + 50 mSOL sul flash pool (override con env LIQUIDATION_FUND_* / LIQUIDATION_FLASH_SEED_*).
Opzione B — Transfer da un altro portafoglio (MetaMask, ecc.)
Puoi usare qualsiasi wallet che possiede i token:
| Obiettivo | Azione | Destinatario (address) |
|---|---|---|
| Pool flash LTV (prestito mSOL/mUSDC) | Transfer ERC20 normale | Pool flash legacy 0x78eaE…760D |
| Inventario swap | Transfer ERC20 al contratto OracleSwap | OracleSwap 0x17f48…0cef |
| Inventario swap (owner) | Approve + deposit(token, amount) su OracleSwap |
Solo wallet owner (deployer) |
Verifica dopo: npm run verify-liquidation — deve mostrare OK su flash pool e OracleSwap inventory (non LOW).
5. Ordine di attivazione consigliato
- Deploy contratti (già fatto se vedi indirizzi sopra) —
npm run deploy-flash-liquidator - Env Netlify — imposta indirizzi,
KEEPER_CONFIG_URL→ questo admin API; lasciaLIQUIDATION_WRITE=falseo keeper OFF - Fondi — script o transfer manuale (§4)
- Test read-only —
npm run verify-liquidation - Per ultimo — spunta Keeper attivo qui +
LIQUIDATION_WRITE=truesu Netlify
6. Modalità flash vs direct
| Modalità | Quando usarla | Fondi richiesti |
|---|---|---|
| flash (default) | Produzione: liquidazione atomica via FlashLiquidator + pool flash legacy | Pool flash legacy + OracleSwap (§3) |
| direct | Test/debug: wallet keeper già possiede il token debito | mSOL (o altro debito) + ETH gas nel wallet PRIVATE_KEY Netlify |
Su testnet la modalità flash è quella prevista; direct è utile per provare una singola liquidazione senza seed del pool.
7. Variabili Netlify e sicurezza
| Variabile | Valore consigliato (fino ad attivazione) |
|---|---|
KEEPER_CONFIG_URL | …/api/keeper/liquidation (questo backend) |
LIQUIDATION_WRITE | false (o true solo se keeper Admin resta OFF) |
LIQUIDATION_FLASH_LIQUIDATOR | Indirizzo §3 |
LIQUIDATION_ORACLE_SWAP | Indirizzo §3 |
PRIVATE_KEY | Wallet keeper (Secret) — inutilizzato finché write effettivo è false |
Il bot LTV invia tx solo se entrambi: LIQUIDATION_WRITE=true su Netlify e enabled: true (checkbox keeper LTV). Con keeper disattivato sei protetto anche con write=true.
Doc repo frontend: docs/GUIDA-LIQUIDAZIONE-AUTOMATICA.md, docs/D7-MANUAL.md. Prodotti attivi in admin: LTV, Pegno, Pools, Finance, Staking LDY, Reti — non Market Leverage.
Guida operativa — Flash loan liquidazioni Pool (LendzyPool)
Keeper separato da LTV: liquida borrower in pool clone (user + poolAddress).
Flash dal LTV Diamond tramite LendzyFlashPoolLiquidator.
Sicuro finché Keeper Pool attivo resta disattivato.
1. Cosa fa il flash loan Pool (in parole semplici)
Quando un borrower in una LendzyPool ha health factor < 1, il bot:
- Prende in prestito il borrow asset (es. mUSDC) — flash dal LTV Diamond.
- Liquidare sulla pool clone:
liquidate(user, collateralAsset, debtToCover). - Convertire collaterale → debito via OracleSwap.
- Ripagare flash + fee al LTV, in una sola tx atomica.
| Mercato | ID | Liquidazione | Flash pool |
|---|---|---|---|
| LTV | positionId |
liquidatePosition su LTV |
Token idle su pool flash legacy (Diamond ex-Leverage, solo infra) |
| Pool | user + poolAddress |
liquidate su pool clone |
Token idle su LTV |
Le pool sono contratti clone standalone: non esiste flash loan interno alla pool.
2. Portafogli e ruoli (Pool)
| Ruolo | Uso |
|---|---|
| Deployer / owner | Deploy LendzyFlashPoolLiquidator; owner OracleSwap (deposit/withdraw inventario). |
| Wallet keeper (bot) | PRIVATE_KEY Netlify — firma tx; allowance verso FlashPoolLiquidator se top-up underwater. |
| Tesoreria / ops | Transfer borrow asset al LTV Diamond (flash pool) e/o OracleSwap. |
3. Contratti e indirizzi (Sepolia)
| Componente | Indirizzo | Note |
|---|---|---|
| Flash pool LTV | 0x782470904e3156FEeAD59f56c9B68a67A445417b |
mUSDC/mSOL idle — condiviso con keeper LTV |
| OracleSwap | 0x17f48d36f1a757ebf24c28fe3de608a49b890cef |
Inventario swap (condiviso) |
| FlashPoolLiquidator | 0x55132f365f8d38a1956bbd46401298f7098c6ee7 |
Orchestratore flash LTV → liquidate pool → swap → repay |
| Pool factory | 0x122e6140014108E136cB588B2FBdE2ACb5974994 |
Enum pool per discovery cron |
Ignora deploy precedenti con bug ABI (0x53eD…, 0x747a…). Usa solo l’indirizzo aggiornato in §3.
4. Come aggiungere fondi (Pool)
Script (repo lendzy3.0)
cd lendzy3.0 npm run fund-liquidation-keeper
Seed sul LTV Diamond per liquidazioni Pool. Override: LIQUIDATION_LEVERAGE_FLASH_SEED_MUSDC, LIQUIDATION_LEVERAGE_FLASH_SEED_MSOL.
Verifica: npm run verify-pool-liquidation
5. Discovery borrowers (importante)
Non esiste registro on-chain dei borrower. Il cron usa, in ordine:
- Enum pool da
LendzyPoolFactory.poolCount() - Indexer Griffin:
GET /pools/{poolAddress}/borrowers - Scan log
Transfersul debt token della pool - Env Netlify
POOL_LIQUIDATION_WATCH_USERS=0x…,0x…(fallback manuale)
0 liquidabili con pool attive ma senza borrowers scoperti è normale finché l’indexer non espone i borrower.
6. Deploy e ordine di attivazione Pool
- Prerequisito — OracleSwap deployato
- Deploy —
npm run deploy-flash-pool-liquidator→LIQUIDATION_POOL_FLASH_LIQUIDATOR - Env Netlify — pool liquidator +
NEXT_PUBLIC_LENDZY_POOL_FACTORY;LIQUIDATION_WRITE=false - Fondi — LTV flash pool + OracleSwap
- Test —
npm run verify-pool-liquidation - Per ultimo — spunta Keeper Pool attivo + eventualmente
LIQUIDATION_WRITE=true
Il cron liquidation-cron restituisce { ltv, pool }; tx Pool solo con poolEnabled: true.
7. Variabili Netlify e interruttori Admin
| Variabile / flag | Pool |
|---|---|
LIQUIDATION_POOL_FLASH_LIQUIDATOR | Indirizzo §3 (0x5513…6ee7) |
NEXT_PUBLIC_LENDZY_POOL_FACTORY | Factory §3 |
POOL_LIQUIDATION_WATCH_USERS | Borrowers extra (opzionale) |
poolEnabled (Admin JSON) | Checkbox Keeper Pool attivo |
LIQUIDATION_WRITE | Flag globale; tx Pool solo se anche poolEnabled=true |
Due keeper, due switch indipendenti: rollout graduale LTV / Pool.
Doc: docs/GUIDA-LIQUIDAZIONE-POOL.md · Test: npm run forge:test:pool-liquidator
Fee & distribuzione
Le fee non sono un unico set globale e non arrivano tutte in USDC/USDT:
ogni prestito paga nella borrowAsset (mUSDC, mETH, …) verso il fee collector
0xE286…4bF6. La riserva LDY è un conteggio operativo sulla quota da convertire in LDY
per FlexirateStaking.contributeRewards (reward staker). Trade/P2P: settings qui anche se ops sospese.
Overcollateral (LTV) FeeCollected
Sepolia tipico: feeBps=50 (0,50%), collector 0xE286…4bF6.
Modello riserva LDY: collectorBps=10000 / stakingBps=0.
Fee di protocollo
Cos’è. Commissione sul prestito LTV, in bps (50 = 0,50%). Si applica quando apri/gestisci la posizione.
Come si usa. 1) Leggi «Ora». 2) Scrivi il nuovo bps (tipico Sepolia: 50). 3) Premi setFeeBps (owner) e conferma in MetaMask.
Collector
Cos’è. È il wallet che riceve le commissioni in token (non sempre USDC: dipende dall’asset del prestito).
Come si usa. 1) Controlla l’indirizzo attuale. 2) Incolla il nuovo address 0x… solo se vuoi cambiarlo. 3) Premi setFeeCollector (owner). Sbagliato = fondi al wallet sbagliato.
Distribuzione fee
Cos’è. Decide come si spezza la commissione: quanto va al wallet collector e quanto allo staking on-chain. I numeri sono in bps e devono sommare a 10000 (100%).
Come si usa. 1) Leggi «Ora». 2) Imposta collectorBps e stakingBps (es. 10000 e 0 = tutto al collector, modello riserva LDY). 3) Premi setFeeDistribution, oppure «Applica modello riserva». Serve owner.
Riserva LDY (conteggio Contabo all-time)
Cos’è. Non è un saldo LDY già in cassa: è un conteggio di quanto delle fee andrebbe convertito in LDY (a mano) per le ricompense di chi mette in stake. I totali arrivano dal database Contabo (storico completo).
Come si usa. 1) Premi «Aggiorna riserva». 2) Leggi tabella e saldi collector. 3) Se hai convertito token in LDY, «Segna convertito». 4) Nessun bot fa lo swap: LDY allo staking = contributeRewards in Staking. «Forza sync gap» aggiorna Contabo se in ritardo (login SIWE).
Carica con Aggiorna riserva…
—
Saldi fee collector (multi-asset)
Piano fee → LDY (ricompense stake)
Cos’è. Appunti operativi: quota target e note su come verserai LDY allo staking (contributeRewards). Non esegue swap automatici.
Come si usa. 1) Imposta target bps e note. 2) Salva piano (SIWE → Contabo se connesso). 3) Quando hai LDY, vai a Staking → contributeRewards.
Idea operativa: parte delle fee (multi-token sul collector) si converte in LDY e si versa allo staking come reward. Oggi la conversione DEX è manuale/treasury; qui tieni target e shortcut contribute.
Pegno a scadenza fee all’accept
Fee protocollo sull’accept (default 50 bps). Nessuno split collector/staking sul Pawn: tutto a feeRecipient.
Pools conteggio sola lettura
Meccanismo fee a parte (protocolFeeBps / reserveFactorBps immutabili al create; skim on-chain ancora stub).
Qui: inventario automatico di ogni pool + tracking “da ora in poi” (baseline poolCount).
Factory: 0x122e6140014108E136cB588B2FBdE2ACb5974994.
Trade (Perp) settings — sospeso
Fee builder Orderly (off-chain). Conteggio Finance a 0 finché ops sospese; settings già operative per allineare il piano LDY.
P2P Fiat on-chain + settings
Fee escrow on-chain (protocolFeeBps, max 100). Ops Finance sospese ma puoi già leggere/impostare e salvare quota LDY.
Finance / Revenue
LTV fee all-time da Contabo (Railway catch-up). RPC lookback solo se DB offline o «Forza sync gap».
Trade/P2P sospesi restano a 0. Settings critici → admin_kv (SIWE).
Docs: docs/flexirate/14-macchina-aggregazione-conferma-carta.md.
Carica tutti i prodotti
Cos’è. Aggiorna i conteggi di fee/revenue dei 5 prodotti (priorità database Contabo).
Come si usa. Premi «Aggiorna Finance». Usa «Forza sync gap» solo se Contabo è indietro. Export CSV per scaricare i dati.
KPI periodo (tutti i prodotti)
Cos’è. Riepilogo after «Aggiorna Finance»: fonte dati (Contabo o RPC), eventi fee LTV e stato degli altri prodotti.
Come si usa. Premi Aggiorna Finance a sinistra. Serve login SIWE se usi Contabo.
LTV
Cos’è. FeeCollected LTV all-time (Contabo) o lookback RPC.
Come si usa. Solo lettura. Dettaglio asset/eventi nelle tabelle sotto.
Pegno
Cos’è. Fee Pegno all’accept (feeBps). Nessuno split collector/staking; indexer eventi ancora parziale.
Come si usa. Solo lettura qui. Fee/pause in sezione Pegno / Pledge.
Pools
Cos’è. Fee protocollo per-pool (protocolFeeBps). Aggregatore eventi in roadmap.
Come si usa. Solo lettura / stub finché non c’è indexer pool fee.
Trade
Cos’è. Revenue builder Orderly. Ops sospese → conteggio tenuto a 0.
Come si usa. Settings in Fee / Trade; qui solo stato ops.
P2P
Cos’è. Fee escrow P2P on-chain. Ops sospese → conteggio a 0 finché non riattivi.
Come si usa. Fee in sezione P2P Fiat; qui stato e nextTradeId se disponibile.
Tabella prodotti (snapshot)
Totali per asset — LTV (FeeCollected)
Pegno/Pool/Trade/P2P: colonne asset si popolano quando esiste indexer eventi fee (oggi stub/partial).
Eventi LTV FeeCollected (ultimi 100)
Cos’è. Ultimi eventi fee LTV (da Contabo o RPC). Solo lettura.
Come si usa. Dopo Aggiorna Finance scorri la tabella (mese, asset, amount, tx).
Eventi / note altri prodotti
Cos’è. Note operative su Pegno/Pools/Trade/P2P quando non c’è ancora un indexer fee completo.
Come si usa. Solo lettura dopo Aggiorna Finance.
Investor pack (bozza testo)
Cos’è. Testo pronto da copiare con lo stato revenue dei 5 prodotti (per Carta/Pulley o report).
Come si usa. Aggiorna Finance → Copia bozza. Nessuna tx on-chain.
Include stato di tutti e 5 i prodotti. Conferma e carica su Carta/Pulley a mano.
Staking admin
Stake = funzione di protocollo (non un prodotto). Contratto
FlexirateStaking: stake / unstake / claimRewards;
i prodotti versano LDY con contributeRewards(amount, productId)
(0=LTV 1=Pawn 2=Pool 3=Trade 4=P2P 5=Treasury).
LDY: 0x526024b4e2687866FceDC7Eb4C2946e3463d980C.
lzLP resta; redeem opzionale via PoolLpLdyExchange.
Guida: docs/flexirate/16-token-progetto-ldy.md.
1 · FlexirateStaking protocollo
Indirizzi & stato
Cos’è. Pannello di impostazione «Indirizzi & stato»: qui leggi i valori attuali e, se sei owner, puoi modificarli on-chain o nelle impostazioni salvate.
Come si usa. 1) Leggi «Ora» (se presente). 2) Compila solo i campi che vuoi cambiare. 3) Premi il pulsante di conferma e approva in MetaMask se richiesto. Se non sei owner i pulsanti restano disabilitati.
owner FlexirateStaking / exchange: —
Stake holder (sola lettura)
Cos’è. Anteprima on-chain dello stake del wallet connesso. Le azioni stake / unstake / claim per gli holder sono su Mio Portfolio.
Come si usa. Premi «Aggiorna stato» nella card Indirizzi. Per operare come holder apri la dApp.
Stake holder → Mio Portfolio su griffinx.it (card Staking LDY). Qui restano contributeRewards, pause e bridge.
contributeRewards
Cos’è. Pannello di impostazione «contributeRewards»: qui leggi i valori attuali e, se sei owner, puoi modificarli on-chain o nelle impostazioni salvate.
Come si usa. 1) Leggi «Ora» (se presente). 2) Compila solo i campi che vuoi cambiare. 3) Premi il pulsante di conferma e approva in MetaMask se richiesto. Se non sei owner i pulsanti restano disabilitati.
Serve totalStaked > 0. Trasferisce LDY dal wallet → pool reward.
Owner FlexirateStaking
Cos’è. Pannello di impostazione «Owner FlexirateStaking»: qui leggi i valori attuali e, se sei owner, puoi modificarli on-chain o nelle impostazioni salvate.
Come si usa. 1) Leggi «Ora» (se presente). 2) Compila solo i campi che vuoi cambiare. 3) Premi il pulsante di conferma e approva in MetaMask se richiesto. Se non sei owner i pulsanti restano disabilitati.
Solo owner del contratto staking (non necessariamente Diamond owner).
2 · Bridge Diamond LTV owner Diamond
protocolStaking pointer
Cos’è. Pannello di impostazione «protocolStaking pointer»: qui leggi i valori attuali e, se sei owner, puoi modificarli on-chain o nelle impostazioni salvate.
Come si usa. 1) Leggi «Ora» (se presente). 2) Compila solo i campi che vuoi cambiare. 3) Premi il pulsante di conferma e approva in MetaMask se richiesto. Se non sei owner i pulsanti restano disabilitati.
Legacy Diamond (migrazione)
Cos’è. Pannello di impostazione «Legacy Diamond (migrazione)»: qui leggi i valori attuali e, se sei owner, puoi modificarli on-chain o nelle impostazioni salvate.
Come si usa. 1) Leggi «Ora» (se presente). 2) Compila solo i campi che vuoi cambiare. 3) Premi il pulsante di conferma e approva in MetaMask se richiesto. Se non sei owner i pulsanti restano disabilitati.
Solo unstake/claim residui sul Diamond. Nuovi stake → FlexirateStaking.
3 · PoolLpLdyExchange lzLP → LDY
Stato exchange
Cos’è. Pannello di impostazione «Stato exchange»: qui leggi i valori attuali e, se sei owner, puoi modificarli on-chain o nelle impostazioni salvate.
Come si usa. 1) Leggi «Ora» (se presente). 2) Compila solo i campi che vuoi cambiare. 3) Premi il pulsante di conferma e approva in MetaMask se richiesto. Se non sei owner i pulsanti restano disabilitati.
redeem / quote
Cos’è. Pannello di impostazione «redeem / quote»: qui leggi i valori attuali e, se sei owner, puoi modificarli on-chain o nelle impostazioni salvate.
Come si usa. 1) Leggi «Ora» (se presente). 2) Compila solo i campi che vuoi cambiare. 3) Premi il pulsante di conferma e approva in MetaMask se richiesto. Se non sei owner i pulsanti restano disabilitati.
Pegno / incentivi
Cos’è. Pannello di impostazione «Pegno / incentivi»: qui leggi i valori attuali e, se sei owner, puoi modificarli on-chain o nelle impostazioni salvate.
Come si usa. 1) Leggi «Ora» (se presente). 2) Compila solo i campi che vuoi cambiare. 3) Premi il pulsante di conferma e approva in MetaMask se richiesto. Se non sei owner i pulsanti restano disabilitati.
Pegno: no stake on-chain. Fee → feeRecipient; share holder =
treasury → contributeRewards(..., 1).
Pool: lzLP = share. Incentive = exchange redeem o mining
contributeRewards(..., 2). Checklist:
docs/flexirate/03-pool.md.
Trade / P2P: settings reward nelle sezioni nav (emission fase dopo).
Emergency / Ownership
Pausa contratto
Cos’è. Pannello di impostazione «Pausa contratto»: qui leggi i valori attuali e, se sei owner, puoi modificarli on-chain o nelle impostazioni salvate.
Come si usa. 1) Leggi «Ora» (se presente). 2) Compila solo i campi che vuoi cambiare. 3) Premi il pulsante di conferma e approva in MetaMask se richiesto. Se non sei owner i pulsanti restano disabilitati.
Ownership
Cos’è. Pannello di impostazione «Ownership»: qui leggi i valori attuali e, se sei owner, puoi modificarli on-chain o nelle impostazioni salvate.
Come si usa. 1) Leggi «Ora» (se presente). 2) Compila solo i campi che vuoi cambiare. 3) Premi il pulsante di conferma e approva in MetaMask se richiesto. Se non sei owner i pulsanti restano disabilitati.
Upgrade Diamond (EIP-2535)
Il Diamond LTV+ mantiene lo stesso indirizzo proxy.
Gli upgrade facet si eseguono con diamondCut via forge script, non con UUPS.
Stato Diamond
Cos’è. Pannello di impostazione «Stato Diamond»: qui leggi i valori attuali e, se sei owner, puoi modificarli on-chain o nelle impostazioni salvate.
Come si usa. 1) Leggi «Ora» (se presente). 2) Compila solo i campi che vuoi cambiare. 3) Premi il pulsante di conferma e approva in MetaMask se richiesto. Se non sei owner i pulsanti restano disabilitati.
diamondCut (forge)
Cos’è. Pannello di impostazione «diamondCut (forge)»: qui leggi i valori attuali e, se sei owner, puoi modificarli on-chain o nelle impostazioni salvate.
Come si usa. 1) Leggi «Ora» (se presente). 2) Compila solo i campi che vuoi cambiare. 3) Premi il pulsante di conferma e approva in MetaMask se richiesto. Se non sei owner i pulsanti restano disabilitati.
Console avanzata
getOffer, liquidate, repayLoan, getUserOffers/getUserPositions si applicano al contratto LTV+.
Per ID offerta
Cos’è. Pannello di impostazione «Per ID offerta»: qui leggi i valori attuali e, se sei owner, puoi modificarli on-chain o nelle impostazioni salvate.
Come si usa. 1) Leggi «Ora» (se presente). 2) Compila solo i campi che vuoi cambiare. 3) Premi il pulsante di conferma e approva in MetaMask se richiesto. Se non sei owner i pulsanti restano disabilitati.
Per utente
Cos’è. Pannello di impostazione «Per utente»: qui leggi i valori attuali e, se sei owner, puoi modificarli on-chain o nelle impostazioni salvate.
Come si usa. 1) Leggi «Ora» (se presente). 2) Compila solo i campi che vuoi cambiare. 3) Premi il pulsante di conferma e approva in MetaMask se richiesto. Se non sei owner i pulsanti restano disabilitati.
Monitoraggio traffico
Audit: Postgres (Contabo/Supabase) + login SIWE sul server. Registro eventi: sync da RPC Griffinx con lookback + «Aggiorna ora» (persistenza Contabo). «Market open» = regola dapp: active && !liquidated && no borrower && liquidità > 0.
Backend: non connesso
Allerte
Cos’è. Pannello di impostazione «Allerte»: qui leggi i valori attuali e, se sei owner, puoi modificarli on-chain o nelle impostazioni salvate.
Come si usa. 1) Leggi «Ora» (se presente). 2) Compila solo i campi che vuoi cambiare. 3) Premi il pulsante di conferma e approva in MetaMask se richiesto. Se non sei owner i pulsanti restano disabilitati.
Nessun dato. Avvia il monitoraggio.
Salute protocollo
Cos’è. Pannello di impostazione «Salute protocollo»: qui leggi i valori attuali e, se sei owner, puoi modificarli on-chain o nelle impostazioni salvate.
Come si usa. 1) Leggi «Ora» (se presente). 2) Compila solo i campi che vuoi cambiare. 3) Premi il pulsante di conferma e approva in MetaMask se richiesto. Se non sei owner i pulsanti restano disabilitati.
Audit log admin (Postgres)
Cos’è. Pannello di impostazione «Audit log admin (Postgres)»: qui leggi i valori attuali e, se sei owner, puoi modificarli on-chain o nelle impostazioni salvate.
Come si usa. 1) Leggi «Ora» (se presente). 2) Compila solo i campi che vuoi cambiare. 3) Premi il pulsante di conferma e approva in MetaMask se richiesto. Se non sei owner i pulsanti restano disabilitati.
Persistenza su Contabo via DATABASE_URL. Serve backend online + login SIWE (firma con MetaMask). Non è lo stream on-chain.
—
| Ora | Address | Azione | Dettaglio |
|---|---|---|---|
| — | |||
Interazioni wallet (on-chain / Postgres)
Cos’è. Pannello di impostazione «Interazioni wallet (on-chain / Postgres)»: qui leggi i valori attuali e, se sei owner, puoi modificarli on-chain o nelle impostazioni salvate.
Come si usa. 1) Leggi «Ora» (se presente). 2) Compila solo i campi che vuoi cambiare. 3) Premi il pulsante di conferma e approva in MetaMask se richiesto. Se non sei owner i pulsanti restano disabilitati.
Tabella dedicata wallet_activity su Contabo. Popola a ogni «Aggiorna ora» dagli eventi Diamond (lender, borrower, liquidator…). Non richiede SIWE — distinto dall’audit admin.
—
| Wallet | Ruoli | Interazioni | Tipi evento | Ultima attività | Explorer |
|---|---|---|---|---|---|
| Premi «Carica wallet» (o Aggiorna ora). | |||||
Dettaglio interazioni
Seleziona un wallet dalla tabella sopra, oppure lascia vuoto il filtro per il feed globale.
| Ora | Wallet | Ruolo | Evento | Contratto | Dettaglio | Explorer |
|---|---|---|---|---|---|---|
| — | ||||||
Registro eventi (VPS / Postgres)
Cos’è. Pannello di impostazione «Registro eventi (VPS / Postgres)»: qui leggi i valori attuali e, se sei owner, puoi modificarli on-chain o nelle impostazioni salvate.
Come si usa. 1) Leggi «Ora» (se presente). 2) Compila solo i campi che vuoi cambiare. 3) Premi il pulsante di conferma e approva in MetaMask se richiesto. Se non sei owner i pulsanti restano disabilitati.
Storico persistente su Contabo. A ogni «Aggiorna ora» gli eventi on-chain (RPC Griffinx, finestra lookback) vengono salvati senza duplicati. Qui vedi tutto il registro. Apri Arbiscan Sepolia ↗
—
| Ora | Contratto | Evento | Dettaglio | Explorer |
|---|---|---|---|---|
| Premi «Carica registro». | ||||
Sicurezza
Accessi HTTP al backend admin (IP), wallet on-chain sospetti, checklist hardening VPS. Gli IP restano su Contabo (access_log) — retention consigliata 30–90 giorni.
IP unici / giorno
| Giorno | IP unici | Hit |
|---|---|---|
| — | ||
Top IP (periodo)
| IP | Hit | Errori | Auth fail | Ultimo |
|---|---|---|---|---|
| — | ||||
Incidenti recenti (48h)
auth.fail, 429, HTTP ≥400
| Ora | IP | Path | Status | Outcome | Wallet |
|---|---|---|---|---|---|
| — | |||||
Wallet sospetti (24h, da wallet_activity)
Regole: burst OfferAccepted / FlashLoan / liquidazioni, volume alto, eventi admin on-chain. Popola con «Aggiorna ora» in Monitoraggio.
| Severità | Wallet | Motivo | Interazioni | Accept / Liq / Flash | Ultima | Explorer |
|---|---|---|---|---|---|---|
| — | ||||||
Hardening runtime (backend Railway)
Stato live del server admin (rate limit, access_log, CORS).
Stato Contabo VPS
Aggiornato dal hardening applicato sulla VPS. Dettaglio: SECURITY-VPS.md.
Attenzione / manutenzione
- Se Railway cambia IP egress → aggiorna UFW 5432 (altrimenti dbReady: false)
- SSH: ssh -i ~/.ssh/lendzy_contabo root@169.58.168.166 — backup della chiave privata
- Backup periodico DB lendzy_admin consigliato (oltre al prune access_log)
RPC & API
Probe live verso il tuo RPC Arbitrum Sepolia e l’API indexer Lendzy. Non sostituisce Prometheus/Grafana: misura latenza, errori, sync lag e conteggi dal browser (con proxy server per l’API se CORS blocca).
Endpoint
Cos’è. Indirizzi del nodo RPC (legge la blockchain) e dell’API indexer GriffinX usati da questo panel.
Come si usa. 1) Incolla RPC e API se diversi dal default. 2) Salva endpoint. 3) Premi Aggiorna tutto / Probe per verificare latenza. La sezione Reti può precompilare l’RPC.
RPC — prestazioni
Cos’è. Pannello di impostazione «RPC — prestazioni»: qui leggi i valori attuali e, se sei owner, puoi modificarli on-chain o nelle impostazioni salvate.
Come si usa. 1) Leggi «Ora» (se presente). 2) Compila solo i campi che vuoi cambiare. 3) Premi il pulsante di conferma e approva in MetaMask se richiesto. Se non sei owner i pulsanti restano disabilitati.
Metodi: eth_blockNumber, eth_chainId, web3_clientVersion, eth_gasPrice.
API — stato indexer
Cos’è. Pannello di impostazione «API — stato indexer»: qui leggi i valori attuali e, se sei owner, puoi modificarli on-chain o nelle impostazioni salvate.
Come si usa. 1) Leggi «Ora» (se presente). 2) Compila solo i campi che vuoi cambiare. 3) Premi il pulsante di conferma e approva in MetaMask se richiesto. Se non sei owner i pulsanti restano disabilitati.
Endpoint: /health, /offers, /positions, /pools.
Sync indexer vs tip RPC
| Indexer | Last block | Updated | Age | Δ tip | Stato |
|---|---|---|---|---|---|
| — | |||||
Breakdown dati
Cos’è. Pannello di impostazione «Breakdown dati»: qui leggi i valori attuali e, se sei owner, puoi modificarli on-chain o nelle impostazioni salvate.
Come si usa. 1) Leggi «Ora» (se presente). 2) Compila solo i campi che vuoi cambiare. 3) Premi il pulsante di conferma e approva in MetaMask se richiesto. Se non sei owner i pulsanti restano disabilitati.
Pegno a scadenza (LendzyPawn)
Contratto Market fixed-term pledge — fee all'accept e pause create/accept. Non usa oracolo né margin call. Indirizzo default Sepolia da manifest Flexirate / Lendzy.
Endpoint contratto
Cos’è. Pannello di impostazione «Endpoint contratto»: qui leggi i valori attuali e, se sei owner, puoi modificarli on-chain o nelle impostazioni salvate.
Come si usa. 1) Leggi «Ora» (se presente). 2) Compila solo i campi che vuoi cambiare. 3) Premi il pulsante di conferma e approva in MetaMask se richiesto. Se non sei owner i pulsanti restano disabilitati.
Owner — fee & pause
Cos’è. Pannello di impostazione «Owner — fee & pause»: qui leggi i valori attuali e, se sei owner, puoi modificarli on-chain o nelle impostazioni salvate.
Come si usa. 1) Leggi «Ora» (se presente). 2) Compila solo i campi che vuoi cambiare. 3) Premi il pulsante di conferma e approva in MetaMask se richiesto. Se non sei owner i pulsanti restano disabilitati.
Richiede wallet = owner di LendzyPawn (può coincidere con owner LTV).
Catalogo token Pegno (vetrina)
Cos’è. Pannello di impostazione «Catalogo token Pegno (vetrina)»: qui leggi i valori attuali e, se sei owner, puoi modificarli on-chain o nelle impostazioni salvate.
Come si usa. 1) Leggi «Ora» (se presente). 2) Compila solo i campi che vuoi cambiare. 3) Premi il pulsante di conferma e approva in MetaMask se richiesto. Se non sei owner i pulsanti restano disabilitati.
Off-chain: lista bianca (active), sospesi, lista nera (rejected) + storico eventi. Non blocca il contratto (qualsiasi ERC-20 resta accettabile on-chain); guida la UI Market. Scrittura richiede login SIWE. Storage: file se Postgres Contabo non è ready.
Lista bianca (active)
| Symbol | Address | Dec | Motivo | Aggiornato |
|---|
Sospesi
| Symbol | Address | Motivo | Aggiornato |
|---|
Lista nera (rejected)
| Symbol | Address | Motivo | Aggiornato |
|---|
Storico eventi token
| Quando | Tipo | +/− | Motivo | Actor |
|---|
Trade (Perpetual)
Frontend white-label su Orderly Network. Non usa RPC/indexer Contabo. Ops = deploy Netlify + Orderly Builder (broker ID / fee). Controlli qui sono read-only + health probe.
Config & endpoint
Cos’è. Pannello di impostazione «Config & endpoint»: qui leggi i valori attuali e, se sei owner, puoi modificarli on-chain o nelle impostazioni salvate.
Come si usa. 1) Leggi «Ora» (se presente). 2) Compila solo i campi che vuoi cambiare. 3) Premi il pulsante di conferma e approva in MetaMask se richiesto. Se non sei owner i pulsanti restano disabilitati.
Default da codice Trade 1.4: broker demo, rete testnet. Per fee/branding reali: abilita broker ID custom su Orderly Builder (~10 USDC).
Reward LDY (settings — emission fase dopo)
Cos’è. Pannello di impostazione «Reward LDY (settings — emission fase dopo)»: qui leggi i valori attuali e, se sei owner, puoi modificarli on-chain o nelle impostazioni salvate.
Come si usa. 1) Leggi «Ora» (se presente). 2) Compila solo i campi che vuoi cambiare. 3) Premi il pulsante di conferma e approva in MetaMask se richiesto. Se non sei owner i pulsanti restano disabilitati.
Stesso token LDY del protocol stake. Nessuna emission automatica finché enabled=false. Salvato in localStorage.
Health Orderly
Cos’è. Pannello di impostazione «Health Orderly»: qui leggi i valori attuali e, se sei owner, puoi modificarli on-chain o nelle impostazioni salvate.
Come si usa. 1) Leggi «Ora» (se presente). 2) Compila solo i campi che vuoi cambiare. 3) Premi il pulsante di conferma e approva in MetaMask se richiesto. Se non sei owner i pulsanti restano disabilitati.
Link utili: Orderly · Builder / staking fee sul portale Orderly (non on-chain Lendzy).
P2P Fiat
Marketplace crypto↔fiat: escrow on-chain; chat / metodi pagamento / API keys su Postgres Contabo DB griffinx_p2p (API Node su Railway → Contabo). Non è l’indexer lending (lendzy). Owner P2P può essere un wallet diverso dal Diamond LTV+. Frontend: https://p2p.griffinx.it.
Endpoint & contratti
Cos’è. Pannello di impostazione «Endpoint & contratti»: qui leggi i valori attuali e, se sei owner, puoi modificarli on-chain o nelle impostazioni salvate.
Come si usa. 1) Leggi «Ora» (se presente). 2) Compila solo i campi che vuoi cambiare. 3) Premi il pulsante di conferma e approva in MetaMask se richiesto. Se non sei owner i pulsanti restano disabilitati.
Reward LDY (settings — emission fase dopo)
Cos’è. Pannello di impostazione «Reward LDY (settings — emission fase dopo)»: qui leggi i valori attuali e, se sei owner, puoi modificarli on-chain o nelle impostazioni salvate.
Come si usa. 1) Leggi «Ora» (se presente). 2) Compila solo i campi che vuoi cambiare. 3) Premi il pulsante di conferma e approva in MetaMask se richiesto. Se non sei owner i pulsanti restano disabilitati.
Stesso token LDY. AdvertiserRewards on-chain resta separato; questo programma è allineamento volume → LDY via FlexirateStaking (productId=4).
Health API + storage Contabo
Cos’è. Pannello di impostazione «Health API + storage Contabo»: qui leggi i valori attuali e, se sei owner, puoi modificarli on-chain o nelle impostazioni salvate.
Come si usa. 1) Leggi «Ora» (se presente). 2) Compila solo i campi che vuoi cambiare. 3) Premi il pulsante di conferma e approva in MetaMask se richiesto. Se non sei owner i pulsanti restano disabilitati.
GET /health → DB Contabo (p2p_payment_methods, p2p_chat_messages, p2p_api_keys). Atteso: database connected, paymentMethods postgres (se memory = DATABASE_URL assente / errore).
Owner — fee & arbitrator
Cos’è. Pannello di impostazione «Owner — fee & arbitrator»: qui leggi i valori attuali e, se sei owner, puoi modificarli on-chain o nelle impostazioni salvate.
Come si usa. 1) Leggi «Ora» (se presente). 2) Compila solo i campi che vuoi cambiare. 3) Premi il pulsante di conferma e approva in MetaMask se richiesto. Se non sei owner i pulsanti restano disabilitati.
Richiede wallet = owner di GriffinXP2P (indipendente dai Diamond lending).
Dispute — resolveDispute
Cos’è. Pannello di impostazione «Dispute — resolveDispute»: qui leggi i valori attuali e, se sei owner, puoi modificarli on-chain o nelle impostazioni salvate.
Come si usa. 1) Leggi «Ora» (se presente). 2) Compila solo i campi che vuoi cambiare. 3) Premi il pulsante di conferma e approva in MetaMask se richiesto. Se non sei owner i pulsanti restano disabilitati.
Chiamabile da arbitrator (o logica contratto). Winner riceve crypto in escrow.
Utilizzo prodotti
Snapshot di adozione e attività dei prodotti GriffinX: Overcollateral (LTV+), Pegno a scadenza, Pools, Trade, P2P. Leverage+ è ritirato. Fonti: indexer Contabo (api.griffinx.it), RPC on-chain LendzyPawn (pawnCount / pawns), Orderly public API, health P2P + nextTradeId. Non è un BI realtime: utile per priorità product/ops.
Confronto relativo (score attività)
Score normalizzato 0–100 dalla combinazione di offerte/posizioni/wallet (lending), pegni on-chain, pool count, liquidità Orderly (Trade), trade on-chain (P2P). Serve a vedere dove c’è più trazione.
Overcollateral (LTV)
Pegno a scadenza
Pools
Trade (Perp / Orderly)
P2P Fiat
Storico domanda (snapshot giornalieri)
Cos’è. Pannello di impostazione «Storico domanda (snapshot giornalieri)»: qui leggi i valori attuali e, se sei owner, puoi modificarli on-chain o nelle impostazioni salvate.
Come si usa. 1) Leggi «Ora» (se presente). 2) Compila solo i campi che vuoi cambiare. 3) Premi il pulsante di conferma e approva in MetaMask se richiesto. Se non sei owner i pulsanti restano disabilitati.
Salva ogni giorno i KPI/score per prodotto (Postgres Contabo se ready, altrimenti file). Dopo mesi su rete reale vedi quale prodotto ha score medio più alto ogni mese. Login SIWE richiesto per scrivere; Aggiorna statistiche con SIWE prova anche un auto-save del giorno.
Winner per mese
| Mese | Winner | Score medio | LTV | Pegno | Pools | Trade | P2P |
|---|
Giorni recenti
| Giorno | Prodotto | Score | Metriche chiave | Salvato |
|---|
Analisi & raccomandazioni
Dettaglio tabellare
| Prodotto | Metriche chiave | Salute dati | Priorità |
|---|---|---|---|
| Nessun dato. | |||
Aggiornamenti / Release
Qui gestisci gli aggiornamenti in produzione con testo narrativo (niente tabelle).
Soft è la modalità di default: serve per frontend, API e parametri e lascia i keeper come sono, così le liquidazioni restano vive.
Hard è per gli upgrade di contratto; spegni i keeper solo se tocchi davvero le liquidazioni.
La guida completa per reti reali e fondi clienti è
GUIDA-UPGRADE-RETI-REALI.md
(stessa copia in docs/ sul frontend). La sintesi Soft/Hard è in
GUIDA-AGGIORNAMENTI-PRODUZIONE.md.
Dal repo frontend puoi usare anche npm run release-safety.
In Guida admin cerca «reti reali» o «fondi clienti».
Checklist live
Cos’è. Pannello di impostazione «Checklist live»: qui leggi i valori attuali e, se sei owner, puoi modificarli on-chain o nelle impostazioni salvate.
Come si usa. 1) Leggi «Ora» (se presente). 2) Compila solo i campi che vuoi cambiare. 3) Premi il pulsante di conferma e approva in MetaMask se richiesto. Se non sei owner i pulsanti restano disabilitati.
Finestra manutenzione
Cos’è. Pannello di impostazione «Finestra manutenzione»: qui leggi i valori attuali e, se sei owner, puoi modificarli on-chain o nelle impostazioni salvate.
Come si usa. 1) Leggi «Ora» (se presente). 2) Compila solo i campi che vuoi cambiare. 3) Premi il pulsante di conferma e approva in MetaMask se richiesto. Se non sei owner i pulsanti restano disabilitati.
Soft non tocca i keeper. Hard + spegni = solo bot automatico OFF; liquidazioni manuali restano possibili on-chain
(su LTV+ no se il contratto è in pause()).
Reti reali — cosa sapere subito
Lascia le liquidazioni possibili: spegni il keeper solo se l’upgrade tocca liquidate, storage o il flash liquidator.
Fai una modifica alla volta, con verify in sola lettura e un piano di rollback pronto.
Dopo un cambio di variabili NEXT_PUBLIC_* serve rebuild e deploy del frontend.
Usa l’Avviso frontend qui sotto per comunicare data e ora dell’intervento agli utenti.
Cosa fare e NON fare
pause() globale come «manutenzione» se vuoi liquidazioni vive su LTV+.
Non pensare che keeper spento blocchi liquidatePosition: on-chain resta permissionless.
In Soft (default) pubblichi eventualmente il banner, fai il deploy di UI o API e chiudi la finestra; i keeper restano come li hai lasciati.
In Hard (contratti) preferisci i keeper accesi perché il diamondCut è atomico; spegnili solo se serve e per pochi minuti.
Dopo un Hard esegui npm run release-safety -- --phase post-upgrade --with-verify, allinea manifest, fai unpause se l’avevi usata e, se li avevi spenti, riattiva i keeper uno alla volta.
Come su Aave, in routine le liquidazioni restano disponibili e la pause totale è per le emergenze. La differenza Lendzy è che puoi spegnere il bot, ma non è obbligatorio. In produzione il keeper va tenuto preferibilmente sempre attivo; su Sepolia, finché non serve, lascia gli switch spenti.
Avviso frontend (barra superiore)
Cos’è. Pannello di impostazione «Avviso frontend (barra superiore)»: qui leggi i valori attuali e, se sei owner, puoi modificarli on-chain o nelle impostazioni salvate.
Come si usa. 1) Leggi «Ora» (se presente). 2) Compila solo i campi che vuoi cambiare. 3) Premi il pulsante di conferma e approva in MetaMask se richiesto. Se non sei owner i pulsanti restano disabilitati.
Mostra un messaggio nello spazio superiore del sito Griffin (sopra Market / Pools / portfolio).
Seleziona un preset, imposta data/ora evento, attiva. Endpoint pubblico: GET /api/site-banner/public.
Reti
Catalogo reti
Cos’è. Elenco delle reti del panel: Arbitrum Sepolia (vera, con contratti) e Base/Optimism Sepolia (demo per pianificare il multi-chain).
Come si usa. 1) Leggi «Parametri rete corrente». 2) Attiva una rete (cambia banner/RPC/indirizzi del panel). 3) Su demo i contratti sono vuoti: non fare tx owner. 4) Modifica bozza per annotare RPC/indirizzi futuri.
3 reti: Arbitrum Sepolia (live) + Base Sepolia + Optimism Sepolia (demo pianificazione).
Opzioni di modifica (bozza)
Cos’è. Bozza salvata nel browser (e Contabo se SIWE): RPC, explorer e indirizzi previsti per una rete, senza attivarla.
Come si usa. 1) Dal catalogo premi Modifica bozza. 2) Compila i campi. 3) Salva bozza. Per usare la rete nel panel premi Attiva sul catalogo.
Salvare la bozza non attiva la rete. Usa «Attiva questa rete» sul catalogo.
Guida admin
Per ogni finestra/card del panel: che cos’è, a cosa serve, cosa contiene, come si usa (+ esempio). Cerca per nome card (es. «Parametri generali», «pause», «oracle», «riserva LDY»).