[{"data":1,"prerenderedAt":19},["ShallowReactive",2],{"blog-content-it-erc-20-vs-spl-vs-jetton":3},{"slug":4,"title":5,"excerpt":6,"description":7,"bodyHtml":8,"faqItems":9},"erc-20-vs-spl-vs-jetton","ERC-20 vs SPL vs Jetton: perché lo \"stesso\" token funziona in modo diverso su ogni chain","ERC-20, SPL e Jetton descrivono tutti \"un token\", ma conservano i saldi in posti completamente diversi. Ecco cosa succede davvero sotto il cofano su Ethereum, Solana e TON, e perché questo cambia il modo in cui i trasferimenti riescono o falliscono.","Come differiscono ERC-20, SPL e Jetton: dove vivono i saldi dei token su Ethereum, Solana e TON, e perché lo stesso ticker è un token diverso su ciascuna chain.","\u003Cblockquote>ERC-20, SPL e Jetton rispondono a una sola domanda in tre modi: dove viene conservato il numero che registra il tuo saldo. Ethereum tiene i saldi di tutti i detentori in un unico contratto del token condiviso, Solana in un token account separato per ogni detentore, e TON in un contratto separato per ogni detentore. Quella differenza spiega approvazioni, commissioni e quasi tutte le modalità di errore, e perché lo stesso ticker è un token diverso su ciascuna chain. I wallet che coprono tutte e tre, come WATS, che copre EVM, Solana e TON ma non Bitcoin in modo nativo, devono parlare tutte e tre le grammatiche.\u003C\u002Fblockquote>\u003Ch2>Cos'è davvero uno \"standard di token\"\u003C\u002Fh2>\u003Cp>Uno standard di token è un'interfaccia condivisa: nomi di funzioni, formati dei messaggi ed eventi su cui wallet ed exchange fanno affidamento. Sotto c'è codice ordinario, e il modo in cui ogni chain esegue quel codice determina cosa può essere un token.\u003C\u002Fp>\u003Cp>\u003Cstrong>ERC-20, SPL e Jetton non sono tre dialetti della stessa cosa.\u003C\u002Fstrong> Rispondono a una sola domanda in tre modi: \u003Cem>dove vive il numero che dice \"possiedi 500 token\"?\u003C\u002Fem> Ethereum lo tiene in un unico contratto condiviso, Solana in un account separato per ogni detentore, TON in un contratto separato per ogni detentore — modelli di archiviazione che spiegano quasi tutte le stranezze pratiche, sopra l'architettura confrontata in \u003Ca href=\"\u002Fblog\u002Fevm-vs-solana-vs-ton\">EVM, Solana e TON\u003C\u002Fa>.\u003C\u002Fp>\u003Ch2>ERC-20 su Ethereum: un solo contratto contiene i saldi di tutti\u003C\u002Fh2>\u003Cp>Un token ERC-20 è un unico smart contract a un unico indirizzo, che tiene un registro in cui gli indirizzi sono associati a dei numeri. Non \"detieni\" il token: il contratto conserva un'annotazione secondo cui al tuo indirizzo spetta un certo importo.\u003C\u002Fp>\u003Cp>Un trasferimento è una chiamata \u003Cem>al contratto del token\u003C\u002Fem>, che diminuisce una riga e ne aumenta un'altra. Il tuo indirizzo non richiede alcuna preparazione: puoi ricevere qualsiasi ERC-20 su un indirizzo che non ha mai toccato quel token.\u003C\u002Fp>\u003Cp>Questo spiega perché puoi detenere una fortuna in un token e comunque non riuscire a muoverlo: chiamare un contratto costa gas, regolato per impostazione predefinita nel token nativo della chain. Nel 2026 quella impostazione predefinita non è assoluta — un paymaster ERC-4337 consente che a pagare sia qualcuno diverso dal proprietario dell'account, ed EIP-7702 consente a una terza parte di inviare e pagare la transazione di tipo 4 che imposta la delega di un account, anche se la sponsorizzazione successiva dipende da ciò che implementa il codice delegato. La rete addebita comunque il lavoro svolto: cambia solo chi paga.\u003C\u002Fp>\u003Ch2>SPL su Solana: token account, rent e mint\u003C\u002Fh2>\u003Cp>Solana divide il compito in due. Un \u003Cstrong>mint account\u003C\u002Fstrong> definisce il token — supply, decimali e quale authority può coniare o congelare. I saldi vivono in \u003Cstrong>token account\u003C\u002Fstrong> separati. Il Token Program è proprietario dei dati di quell'account, mentre l'account indica un detentore come suo owner e authority di spesa; nulla ti limita a un solo account per mint.\u003C\u002Fp>\u003Cp>I wallet si sono quindi standardizzati sull'associated token account, derivato dall'indirizzo del tuo wallet, dal mint e dall'id del token program. Deve esistere ed essere finanziato: l'esenzione dal rent blocca nell'account una piccola quantità di SOL, recuperabile, per tenerlo in vita.\u003C\u002Fp>\u003Cp>Ricevere un nuovo token SPL è quindi un evento on-chain, anche se la maggior parte dei trasferimenti include la creazione dell'account. Nel 2026 Token-2022 aggiunge commissioni di trasferimento opzionali, saldi confidenziali e transfer hook; poiché il suo program id è un seed di derivazione, i suoi mint derivano un associated token account diverso rispetto a quelli legacy.\u003C\u002Fp>\u003Ch2>Jetton su TON: ogni detentore ha il proprio contratto\u003C\u002Fh2>\u003Cp>TON spinge la divisione all'estremo. Un jetton ha un \u003Cstrong>master contract\u003C\u002Fstrong> che contiene metadati e supply, e ogni detentore ottiene il proprio \u003Cstrong>jetton wallet contract\u003C\u002Fstrong> che conserva solo il suo saldo per quel singolo token.\u003C\u002Fp>\u003Cp>I trasferimenti sono messaggi asincroni, non chiamate a un registro condiviso: il tuo jetton wallet contract invia un messaggio a quello del destinatario, che accredita il saldo. Poiché TON è sharded, la cosa si risolve su blocchi consecutivi anziché in un unico passaggio atomico.\u003C\u002Fp>\u003Cp>Ogni messaggio deve portare con sé abbastanza TON per il calcolo che innesca a valle, inclusa l'eventuale creazione del jetton wallet del destinatario; se ne alleghi troppo poco può fare bounce o restare bloccato. Quell'impostazione (TEP-74, nel 2026) permette a TON di scalare orizzontalmente, e manda in crisi il codice di trasferimento ingenuo scritto per l'EVM.\u003C\u002Fp>\u003Ch2>Approvazioni, commissioni e modalità di errore: dove i tre divergono\u003C\u002Fh2>\u003Cp>Le approvazioni sono la divergenza più netta. ERC-20 ha il pattern dell'allowance: concedi a un contratto il permesso di muovere fino a un certo importo dei tuoi token, e questo persiste finché non viene revocato — ecco perché una firma distratta può svuotare un wallet mesi dopo; vedi \u003Ca href=\"\u002Fblog\u002Ftoken-approvals-and-permit-explained\">approvazioni di token e permit spiegati\u003C\u002Fa> e \u003Ca href=\"\u002Fblog\u002Fhow-to-revoke-token-approvals\">come revocare le approvazioni di token\u003C\u002Fa>.\u003C\u002Fp>\u003Cp>Solana non è l'antidoto: un approve SPL imposta un delegate sul tuo token account che sopravvive alla transazione, e setAuthority può riassegnare del tutto l'account — entrambi vettori noti dei drainer. Una transazione Solana elenca ogni account che toccherà, ma questo vincola solo la transazione firmata, non i permessi permanenti. TON non ha alcuna allowance in stile ERC-20.\u003C\u002Fp>\u003Cp>Anche le commissioni divergono: l'EVM prezza il gas per unità di calcolo, Solana applica una base fee fissa per firma più una priority fee opzionale, TON prezza per messaggio. Lo stesso vale per le modalità di errore: su EVM, token bloccati in un contratto che non sa gestirli; su Solana, un token account mancante; su TON, troppo poco valore allegato.\u003C\u002Fp>\u003Ch2>Perché lo stesso ticker non è lo stesso token su chain diverse\u003C\u002Fh2>\u003Cp>Due asset che condividono un ticker non condividono nulla sul piano tecnico. USDC su Ethereum è un indirizzo di contratto, su Solana un indirizzo di mint; su TON una stablecoin emessa nativamente come USDT sta dietro al proprio jetton master. Ognuno è un oggetto on-chain separato con la propria supply, e una versione bridged è di nuovo un diritto diverso.\u003C\u002Fp>\u003Cp>Inviare tra ecosistemi diversi — un token EVM a un indirizzo Solana o TON — è di solito irrecuperabile; \u003Ca href=\"\u002Fblog\u002Fsent-crypto-to-wrong-network-how-to-recover\">crypto inviate sulla rete sbagliata, come recuperarle\u003C\u002Fa> spiega cosa si può salvare. Da EVM a EVM è spesso più clemente: un externally owned account, incluso uno delegato tramite EIP-7702, è controllato dalla stessa chiave allo stesso identico indirizzo su ogni chain, e uno smart account in stile ERC-4337 non ancora deployato sulla chain di destinazione può normalmente essere ridistribuito lì con la stessa identica factory e lo stesso init code. I formati degli indirizzi sono un indizio, trattati in \u003Ca href=\"\u002Fblog\u002Fcrypto-address-formats-explained\">formati degli indirizzi crypto spiegati\u003C\u002Fa>; se a muoversi sia un'unica supply canonica o venga coniato un nuovo diritto è la differenza tra \u003Ca href=\"\u002Fblog\u002Fomnichain-vs-wrapped-bridged-tokens\">token omnichain e token wrapped o bridged\u003C\u002Fa>.\u003C\u002Fp>\u003Ch2>Cosa significa per il tuo wallet (e come lo gestisce WATS)\u003C\u002Fh2>\u003Cp>Un wallet multi-chain deve parlare tutte e tre le grammatiche, e tu non dovresti mai vedere la differenza — ma le commissioni trapelano, perché ogni chain si aspetta il proprio token di gas nativo. Nel 2026 quell'aspettativa è negoziabile, se il wallet è costruito per farlo.\u003C\u002Fp>\u003Cp>Il WATS Hot Wallet fa esattamente questo: ogni azione — trasferimenti, swap, staking — viene addebitata in un solo token, ATS, al posto del gas nativo della chain, tramite un paymaster ERC-4337 su EVM e un equivalente fee-payer e relayer su Solana e TON, dato che ERC-4337 è solo per EVM. ATS è un OFT LayerZero, quindi un unico saldo funziona su EVM, Solana e TON. Questo non cambia quanto addebita la rete — la \u003Ca href=\"\u002Fats-fee\">commissione ATS\u003C\u002Fa> segue il costo di rete in tempo reale — cambia in quale token quel costo viene regolato. Gli ATS raccolti vengono bruciati, da 100 milioni verso una soglia minima di 30 milioni. Resta non custodial: le chiavi le detieni tu e WATS non detiene mai una chiave. WATS è il primo e unico wallet a combinare ERC-4337 e commissioni in un solo token tramite OFT, addebitate al posto del gas nativo, con quel burn.\u003C\u002Fp>",[10,13,16],{"q":11,"a":12},"Perché ricevere un token SPL costa qualcosa su Solana ma non su Ethereum?","Su Ethereum il tuo saldo è solo una riga dentro il contratto del token stesso, quindi ricevere è gratuito per il destinatario e non richiede alcuna configurazione. Su Solana, la prima volta che ricevi un determinato mint deve esistere un token account dedicato, e mantenere quell'account on-chain richiede un piccolo deposito di SOL per l'esenzione dal rent, recuperabile quando l'account viene chiuso. In pratica la transazione del mittente di solito crea e finanzia quell'account nello stesso passaggio, quindi il costo ricade sul mittente e il destinatario non lo vede mai.",{"q":14,"a":15},"Cosa rende un trasferimento di jetton su TON diverso da un trasferimento ERC-20?","Un jetton assegna a ogni detentore il proprio smart contract, che conserva soltanto il suo saldo. Un trasferimento è un messaggio asincrono dal tuo jetton wallet contract a quello del destinatario, che si risolve su blocchi consecutivi anziché in un'unica chiamata atomica. Ogni messaggio deve portare con sé abbastanza TON per pagare il lavoro che innesca, altrimenti può fare bounce.",{"q":17,"a":18},"USDC su Ethereum è lo stesso token di USDC su Solana?","No. Sono oggetti on-chain separati, con indirizzi, supply e standard distinti, anche se condividono un ticker e un emittente. Inviare l'uno a un indirizzo sull'altra chain è normalmente irrecuperabile, e le versioni bridged di un ticker sono distinte da quelle emesse nativamente.",1786059343185]