[{"data":1,"prerenderedAt":19},["ShallowReactive",2],{"blog-content-it-what-is-walletconnect":3},{"slug":4,"title":5,"excerpt":6,"description":7,"bodyHtml":8,"faqItems":9},"what-is-walletconnect","Cos'è WalletConnect? Come funzionano le sessioni wallet via QR code (e come revocarle)","WalletConnect è il protocollo dietro il QR code che scansioni per collegare un wallet a una dApp. Ecco cosa crea davvero quella scansione, cosa può e non può fare una sessione, e come rivedere e chiudere le sessioni in sicurezza.","Una spiegazione in parole semplici di come funzionano le sessioni WalletConnect: cosa codifica il QR code, quali permessi richiede una dApp e come rivedere e revocare le connessioni attive.","\u003Cblockquote>WalletConnect è un protocollo di messaggistica che trasporta messaggi cifrati tra una dApp e un wallet, permettendo alla dApp di richiedere firme senza toccare mai la tua chiave privata. Scansionarne il QR code crea un pairing; approvare la proposta di sessione della dApp crea poi una sessione che elenca le chain e i metodi che può richiedere — il permesso di chiedere, non il permesso di agire; ogni movimento di asset richiede comunque la tua firma. Disconnettersi chiude la sessione a livello locale, ma non revoca le approvazioni dei token onchain. Su WATS, le sessioni si approvano nella WATS Mobile App.\u003C\u002Fblockquote>\u003Ch2>Cos'è davvero WalletConnect (e cosa non è)\u003C\u002Fh2>\u003Cp>WalletConnect è un protocollo di messaggistica. Il suo unico compito è trasportare messaggi tra una dApp e un wallet, così che i due possano dialogare senza che la dApp tocchi mai la tua chiave privata. Quando un sito mostra un QR code e dice \u003Cem>connect wallet\u003C\u002Fem>, quel codice è di solito un invito di pairing WalletConnect.\u003C\u002Fp>\u003Cp>Non è un wallet, né un custode, né una blockchain: non detiene fondi e non firma nulla. E non è nemmeno un'estensione browser, che inietta un provider direttamente nella pagina. È noto soprattutto per il caso cross-device — nel 2026 ancora il modo più diffuso in cui un wallet su smartphone parla con una dApp desktop — ma è altrettanto il percorso standard sullo stesso dispositivo, con un deep link che porta una dApp aperta nel browser mobile dentro l'app wallet sullo stesso telefono.\u003C\u002Fp>\u003Ch2>Cosa succede quando scansioni quel QR code\u003C\u002Fh2>\u003Cp>Il QR code codifica un URI di pairing: un identificatore di topic, un identificatore del protocollo di relay e una chiave simmetrica. Quella chiave viaggia in chiaro nell'URI invece di essere derivata dal wallet — ed è per questo che un URI di pairing trapelato o catturato in uno screenshot è un dato sensibile. Le due parti si scambiano poi messaggi cifrati sul topic di pairing.\u003C\u002Fp>\u003Cp>Il pairing è solo l'handshake. La sessione che trasporta ogni richiesta di firma viaggia su un topic \u003Cem>separato\u003C\u002Fem>, sotto una propria chiave che dApp e wallet negoziano direttamente tramite uno scambio X25519 espanso con HKDF. La chiave di pairing protegge i messaggi a livello di pairing, mai le tue richieste di transazione.\u003C\u002Fp>\u003Cp>Il relay è la parte che si tende a fraintendere: instrada solo ciphertext e metadati, e non può leggere i payload, alterarli o firmare al posto tuo. Se va offline la tua sessione smette di funzionare, ma i tuoi fondi restano intatti — le tue chiavi non hanno mai lasciato il tuo dispositivo. La dApp invia poi una proposta di sessione e il tuo wallet la mostra come schermata di approvazione; tutto ciò che segue dipende da cosa approvi. Il flusso passo per passo è nella nostra guida su \u003Ca href=\"\u002Fblog\u002Fhow-to-connect-wallet-to-dapp\">come connettere un wallet a una dApp\u003C\u002Fa>.\u003C\u002Fp>\u003Ch2>Sessioni, namespace e permessi: cosa può chiedere una dApp\u003C\u002Fh2>\u003Cp>Una proposta di sessione è strutturata, non libera. Elenca i \u003Cem>namespace\u003C\u002Fem>: le chain, i metodi e gli eventi che la dApp vuole — Ethereum mainnet, una L2 o Solana; firma di transazioni e firme di dati tipizzati; eventi chain-changed e accounts-changed.\u003C\u002Fp>\u003Cp>Attenzione alla direzione: la dApp richiede chain, metodi ed eventi, mentre gli account veri e propri li selezioni nel tuo wallet e vengono restituiti nell'approvazione. Conta anche la distinzione introdotta con la v2. I namespace \u003Cem>required\u003C\u002Fem> sono tutto-o-niente — soddisfatti per intero o la proposta viene rifiutata in blocco — ma nel 2026 questo è il percorso legacy, deprecato e sconsigliato a favore dei namespace \u003Cem>optional\u003C\u002Fem>, che un wallet può approvare solo in parte. Un buon wallet te li mostra entrambi, così sai cosa è negoziabile.\u003C\u002Fp>\u003Cp>Approvare una sessione fa due cose: condivide i tuoi indirizzi pubblici per le chain approvate e concede alla dApp il permesso di \u003Cstrong>inviare richieste\u003C\u002Fstrong> per i metodi approvati. Il permesso di chiedere non è il permesso di agire.\u003C\u002Fp>\u003Ch2>Richieste di firma: perché una connessione non è un'approvazione\u003C\u002Fh2>\u003Cp>Una volta che la sessione esiste, ogni azione rilevante arriva come richiesta separata che devi approvare esplicitamente: uno swap diventa una richiesta di transazione, un login una richiesta di firma di messaggio, una messa in vendita su un marketplace una firma di dati tipizzati.\u003C\u002Fp>\u003Cp>È questo il confine di sicurezza che conta. Una dApp connessa non può spostare i tuoi asset in silenzio: serve una firma, e una firma richiede il tuo dispositivo e la tua approvazione. Quello che \u003Cem>può\u003C\u002Fem> fare è presentarti una richiesta ingannevole, le cui conseguenze non sono evidenti a schermo.\u003C\u002Fp>\u003Cp>Due categorie meritano sospetto extra: l'approvazione di un token, che concede a un contratto il permesso continuativo di spendere quel token anche molto tempo dopo la fine della sessione, e una firma offchain — quella senza costo di gas — che può autorizzare un ordine o un permit che un contratto riscatta più tardi. Nessuna delle due sembra drammatica.\u003C\u002Fp>\u003Ch2>Dove WalletConnect va storto: sessioni dimenticate, QR code falsi e blind signing\u003C\u002Fh2>\u003Cp>\u003Cstrong>Sessioni dimenticate.\u003C\u002Fstrong> Le sessioni hanno una scadenza, ma le persone accumulano decine di connessioni attive verso siti usati una volta sola. Ognuna è un canale che può inviare una richiesta al tuo wallet in qualsiasi momento — più superficie per un'approvazione letta male.\u003C\u002Fp>\u003Cp>\u003Cstrong>QR code falsi o sostituiti.\u003C\u002Fstrong> Un attaccante che controlla una pagina — un dominio sosia, un frontend compromesso — può mostrare il proprio URI di pairing al posto di quello vero. Ti connetti con successo, a lui. È la trappola descritta nella nostra analisi di \u003Ca href=\"\u002Fblog\u002Fwhat-is-a-wallet-drainer\">come funzionano i wallet drainer\u003C\u002Fa>: la connessione riesce, e il danno arriva con la richiesta di firma successiva.\u003C\u002Fp>\u003Cp>\u003Cstrong>Blind signing.\u003C\u002Fstrong> Se il tuo wallet non riesce a decodificare una richiesta e mostra dati grezzi, ti stai fidando della descrizione che il sito dà della propria transazione. Consideralo un motivo per fermarti, non una formalità.\u003C\u002Fp>\u003Ch2>Come rivedere e revocare le sessioni attive (e perché le approvazioni sono un'altra cosa)\u003C\u002Fh2>\u003Cp>Ogni wallet compatibile con WalletConnect tiene una lista delle sessioni attive, di solito sotto connessioni o app connesse. Leggila come un inventario: ogni voce indica la dApp e le chain e gli account che può vedere.\u003C\u002Fp>\u003Cp>Disconnettersi non costa nulla: il tuo wallet pubblica un messaggio di session delete sul relay ed elimina la sessione dal proprio stato — nessuna transazione, nessun gas, nessuna traccia onchain. Considera però la chiusura come best-effort: se il peer è offline o il relay irraggiungibile, la dApp può continuare a trattare la sessione come attiva fino alla consegna del messaggio o alla scadenza.\u003C\u002Fp>\u003Cp>Il punto che confonde di più: \u003Cem>disconnettere una sessione non revoca l'approvazione di un token\u003C\u002Fem>. I permessi di sessione vivono nello stato locale del tuo wallet; le approvazioni dei token vivono onchain, concesse da una transazione che hai firmato tu. Chiudere la sessione ferma le nuove richieste ma lascia intatta l'allowance — revocarla è un passaggio onchain separato, spiegato nella nostra guida su \u003Ca href=\"\u002Fblog\u002Fhow-to-revoke-token-approvals\">come revocare le approvazioni dei token\u003C\u002Fa>. Fai entrambe le cose.\u003C\u002Fp>\u003Ch2>Come WATS gestisce le connessioni alle dApp\u003C\u002Fh2>\u003Cp>Su WATS le sessioni WalletConnect sono gestite dalla WATS Mobile App: scansiona il QR code e mostra ogni proposta e ogni richiesta di firma da approvare sul telefono. La custodia funziona allo stesso modo su tutti i prodotti WATS, incluso l'\u003Ca href=\"\u002Fhot-wallet\">Hot Wallet WATS\u003C\u002Fa> — le chiavi le detieni tu e WATS non detiene mai una chiave, quindi nessuna dApp connessa può spostare fondi senza la tua firma.\u003C\u002Fp>\u003Cp>Ciò che cambia è il livello delle commissioni. Ogni azione — trasferimenti, swap, staking — viene addebitata in un unico token, ATS, al posto del gas nativo della chain: su EVM tramite un paymaster ERC-4337, su Solana e TON tramite un equivalente fee-payer\u002Frelayer. Poiché ATS è un OFT LayerZero, un solo saldo copre tutti e tre gli ecosistemi. Gli ATS raccolti vengono bruciati partendo da 100.000.000 verso una soglia minima di 30.000.000. WATS è il primo e unico wallet a combinare commissioni ERC-4337 + OFT in un singolo token, addebitate al posto del gas nativo, con quel burn.\u003C\u002Fp>",[10,13,16],{"q":11,"a":12},"Connettere un wallet tramite WalletConnect dà a una dApp accesso ai miei fondi?","No. Una sessione permette a una dApp di vedere i tuoi indirizzi pubblici per le chain approvate e di inviarti richieste. Qualsiasi azione che sposta asset richiede una firma che approvi tu sul tuo dispositivo, quindi la sola connessione non può spendere nulla. Su WATS, quelle proposte e richieste di firma vengono mostrate per l'approvazione nella WATS Mobile App e, poiché WATS non detiene mai una chiave, nessuna dApp connessa può spostare fondi senza la tua firma.",{"q":14,"a":15},"Disconnettere una sessione WalletConnect revoca le approvazioni dei token?","No, sono due cose separate. Una sessione vive nello stato locale del tuo wallet e finisce senza gas nel momento in cui la disconnetti lì. L'approvazione di un token vive onchain nel contratto del token e resta attiva finché non invii una transazione di revoca.",{"q":17,"a":18},"Il server relay di WalletConnect può leggere le mie transazioni o rubare le mie chiavi?","No. In WalletConnect v2 la sessione che trasporta le tue richieste di transazione e di firma è cifrata con una chiave che la dApp e il tuo wallet negoziano direttamente tra loro tramite uno scambio X25519 — quella chiave non viene mai esposta al relay. La chiave simmetrica contenuta nell'URI di pairing protegge solo i messaggi a livello di pairing. Il relay instrada ciphertext e metadati, e la tua chiave privata non lascia mai il tuo wallet in nessun momento del flusso.",1786059343361]