
Coiny a tokeny: dlaczego potrzebujesz ETH, żeby wysłać USDC
To jedno z najczęstszych zaskoczeń w świecie kryptowalut. Masz 500 $ w USDC na Ethereum, próbujesz je wysłać, a portfel informuje, że brakuje ci środków. Brakuje czego? Odpowiedzią jest różnica między coinem a tokenem — a gdy ją zrozumiesz, wiele zachowań portfeli nagle nabiera sensu.
Coiny to własny pieniądz łańcucha
Każdy blockchain ma natywne aktywo wbudowane w swoje zasady. Bitcoin ma BTC, Ethereum ma ETH, Solana ma SOL, Polygon ma POL. To są coiny: śledzi je sama sieć i to je sieć przyjmuje jako zapłatę za przetwarzanie transakcji.
Gdy wysyłasz coina, łańcuch przenosi go bezpośrednio. Pomiędzy nie ma żadnego kontraktu — tylko własna księgowość protokołu.
Tokeny żyją w kontraktach
Token to coś innego. Na Ethereum i podobnych łańcuchach token taki jak USDC, USDT czy token zarządzania jest smart kontraktem, który prowadzi własną księgę: listę adresów i informację, ile tokena posiada każdy z nich. Na Solanie tokeny działają według standardu SPL, a salda są przechowywane na osobnych kontach tokenów.
Twoje „saldo USDC” to w rzeczywistości wpis w kontrakcie USDC mówiący, że określona kwota należy do twojego adresu. Wysłanie USDC oznacza poproszenie tego kontraktu o aktualizację księgi — przeniesienie liczby z twojego wpisu do wpisu kogoś innego.
Dlatego ten sam token może istnieć na kilku łańcuchach jako zupełnie odrębne byty. USDC na Ethereum i USDC na Polygonie to różne kontrakty z różnymi księgami. Niektóre wersje są emitowane natywnie, inne to opakowane lub przeniesione przez most reprezentacje aktywa przechowywanego gdzie indziej.
Gas zawsze płaci się w coinie
Oto źródło zaskoczenia. Poproszenie kontraktu tokena o przeniesienie salda to wciąż transakcja w łańcuchu, a łańcuch pobiera opłatę za każdą transakcję — gas. Ta opłata jest płacona w natywnym coinie, a nie w tokenie, który wysyłasz.
Aby więc wysłać USDC na Ethereum, potrzebujesz pod tym samym adresem dwóch rzeczy:
- USDC, które chcesz wysłać, oraz
- odrobiny ETH na opłacenie transakcji.
Bez ETH twoje USDC utkną — nie przepadną, po prostu nie da się ich ruszyć, dopóki nie dodasz trochę ETH. Ta sama zasada obowiązuje wszędzie: tokeny na Polygonie potrzebują POL na gas, na BNB Chain — BNB, na Avalanche — AVAX, a na Base — ETH.
Dodatkowy niuans Solany
W gruncie rzeczy Solana działa tak samo — opłaty płaci się w SOL — z jednym dodatkiem. Każdy posiadany token wymaga własnego konta tokena, a jego utworzenie wymaga niewielkiego depozytu w SOL zwanego rent. Gdy ktoś wyśle ci token, którego nigdy wcześniej nie miałeś, trzeba utworzyć dla niego konto tokena. Jak działają konta tokenów i rent wyjaśnia szczegóły; w skrócie: warto mieć pod ręką trochę SOL, aby przechowywać i przenosić także tokeny SPL.
Błędy, które to wyjaśnia
Gdy podział na coiny i tokeny jest jasny, kilka klasycznych problemów nabiera sensu:
- „Niewystarczające środki” przy pełnym saldzie tokenów. Zabrakło ci natywnego coina na gas.
- Tokeny wysłane do niewłaściwej sieci. USDC wysłane w jednym łańcuchu nie pojawiają się w innym, nawet pod tym samym adresem, bo to inny kontrakt w innej księdze.
- Wysłanie ostatnich coinów. Całkowite opróżnienie ETH sprawia, że żadnych tokenów pod tym adresem nie da się ruszyć, dopóki nie doładujesz konta.
- „Darmowe” tokeny, których nie da się sprzedać. Niezamówiony token może wymagać gasu do przeniesienia — i może być zaprojektowany tak, że sama próba kosztuje cię więcej, niż jest wart.
Jak to działa w SSP
SSP pokazuje coiny i tokeny osobno dla każdego łańcucha, w portfelu danego łańcucha. W łańcuchach EVM twoje konto SSP jest smart kontem kontrolowanym przez twój multisig 2 z 2, a gas za wysyłkę tokena jest płacony z natywnego coina tego samego sejfu, więc trzymaj niewielką ilość ETH (lub POL, BNB, AVAX) obok swoich tokenów. Gdy wysyłasz token, SSP Key pokazuje ci transfer tokena zdekodowany z transakcji — odbiorcę i kwotę tokena, a nie tylko surowe wywołanie kontraktu.
Na Solanie relay SSP z góry opłaca opłatę sieciową, a sejf zwraca ją w SOL w ramach tej samej wysyłki, więc i tak potrzebujesz trochę SOL w sejfie.
Uczciwe podsumowanie
Coiny to własny pieniądz łańcucha; tokeny to salda w kontraktach działających w łańcuchu. Każda transakcja jest opłacana w coinie — także transakcje przenoszące tokeny.
Trzymaj niewielki zapas natywnego coina w każdym łańcuchu, w którym masz tokeny, sprawdzaj, w jakiej sieci jest token, zanim go wyślesz lub odbierzesz, a unikniesz najczęstszych w kryptowalutach chwil typu „gdzie się podziały moje pieniądze?”.


