Puste token accounts na Solanie: skąd się biorą, ile SOL blokują i jak bezpiecznie je zamknąć
Każdy memecoin, który kiedyś miałeś w wallecie, zostawia po sobie token account z depozytem SOL. Wyjaśniamy, ile to kosztuje według dokumentacji Solany, kiedy konto da się zamknąć, co robi burn i dlaczego serwisy do „odzyskiwania SOL” bywają pułapką.

Najważniejsze wnioski
- Saldo tokena na Solanie trzymane jest w osobnym token account, a każde konto musi mieć zwrotny depozyt SOL zależny od rozmiaru danych
- Według wzoru z dokumentacji zwykły token account (165 bajtów) blokuje 2 039 280 lamportów, czyli około 0,00204 SOL. Konto Token-2022 jest większe i blokuje więcej
- Konto da się zamknąć dopiero przy zerowym saldzie tokena. Cały depozyt wraca na wskazany adres docelowy
- Burn trwale zmniejsza saldo i podaż. To sposób na pozbycie się resztek tokena przed zamknięciem konta
- Delegate może przenosić lub spalać tokeny do ustalonego limitu. Revoke go usuwa, ale permanent delegate z Token-2022 nie da się odwołać
- Serwis do „odzyskiwania SOL” prosi o podpis transakcji. Sprawdź, czy zawiera tylko zamknięcie kont i burn, a adres docelowy to Twój wallet
Czym jest token account i skąd masz ich tyle[2]
Na Solanie wallet nie trzyma tokenów bezpośrednio. Saldo każdego tokena leży w osobnym koncie, token account, przypisanym do Twojego adresu i do konkretnego mintu. Domyślnym kontem jest associated token account (ATA): według dokumentacji Solany jego adres wynika z adresu walleta, adresu programu tokenów i adresu mintu, więc dla każdej takiej trójki istnieje dokładnie jeden adres ATA.
Każdy memecoin, który kupiłeś albo który ktoś Ci wysłał, potrzebował takiego konta. Gdy sprzedasz wszystko, saldo spada do zera, ale samo konto zostaje na łańcuchu. Po kilku miesiącach handlu memecoinami w wallecie potrafią się zebrać dziesiątki pustych kont, także po tokenach z airdropów i spamu, których nigdy nie chciałeś.
Ile SOL blokuje jedno konto[1][2]
Dokumentacja Solany mówi, że każde konto musi trzymać zwrotne minimalne saldo w lamportach, proporcjonalne do rozmiaru danych, żeby pozostać na łańcuchu. Dawniej nazywano to rent. Wzór z dokumentacji to (rozmiar konta + 128) × 3480 lamportów za bajt-rok × 2 lata.
Zwykły token account w programie Token ma 165 bajtów. Z wzoru wychodzi (165 + 128) × 3480 × 2 = 2 039 280 lamportów, czyli około 0,00204 SOL. ATA w Token-2022 z automatycznym rozszerzeniem ImmutableOwner ma 170 bajtów, czyli 2 074 080 lamportów. Mint Token-2022 może wymagać dodatkowych rozszerzeń konta, a wtedy konto jest większe i depozyt wyższy.
Depozyt płaci ten, kto tworzy konto. Według dokumentacji płatnikiem może być ktoś inny niż właściciel ATA, na przykład nadawca airdropu. Zwrot przy zamknięciu nie wraca jednak automatycznie do tego, kto zapłacił, tylko na adres wskazany w instrukcji zamknięcia.
Kiedy konto da się zamknąć i dokąd trafia SOL[3]
Zamknięcie konta usuwa je i przenosi wszystkie jego lamporty, razem z depozytem, na konto docelowe. Instrukcję podpisuje właściciel konta albo jego close authority i to on wybiera adres docelowy.
Warunek jest jeden: saldo tokena musi być zerowe. Wyjątkiem jest wrapped SOL, czyli konto natywnego mintu SOL, które według dokumentacji można zamknąć z saldem, odzyskując przy tym SOL. Zamrożone konto z zerowym saldem też da się zamknąć. Program Token-2022 przy niektórych rozszerzeniach wykonuje dodatkowe sprawdzenia, więc zamknięcie takiego konta może się nie udać, mimo zerowego salda.
- Saldo tokena na koncie wynosi zero, chyba że to wrapped SOL
- Adres docelowy zwrotu to Twój własny wallet
- Wiesz, czy konto należy do programu Token czy Token-2022
- Nie zamykasz konta tokena, który za chwilę ma przyjść, na przykład z vestingu
Resztki tokena: burn zamiast sprzedaży za grosze[4]
Często na koncie zostaje niesprzedawalna resztka albo token, który ktoś Ci wysłał bez pytania. Burn według dokumentacji trwale zmniejsza saldo konta i podaż mintu o tę samą kwotę. Podpisuje go właściciel konta albo zatwierdzony delegate. Po burnie do zera konto można zamknąć.
Natywnego mintu SOL nie da się spalić. Dla wrapped SOL dokumentacja wskazuje zamknięcie konta. Nie próbuj sprzedawać nieznanego tokena ze spamu: interakcja z jego pulą albo stroną z nazwy tokena to typowy początek drainer scamu, o którym piszemy w poradniku o airdropach.
Delegate i permanent delegate: kto jeszcze może ruszyć Twoje tokeny[5][6][7]
Token account może mieć delegate, czyli adres, który może przenieść albo spalić tokeny do ustalonego limitu. Konto przechowuje naraz jednego delegate i jedną kwotę, a nowe zatwierdzenie nadpisuje poprzednie. Revoke czyści delegate i zeruje limit. W programie Token podpisuje go właściciel konta, a w Token-2022 może to zrobić także sam delegate.
Inaczej działa permanent delegate z Token-2022. To uprawnienie na poziomie mintu, które może autoryzować transfery i burn z dowolnego token account tego mintu, a właściciel konta nie może go odwołać. Zamknięcie pustego konta nic tu nie zmienia, bo problemem jest token, nie konto. Raport ryzyka na stronie tokena pokazuje rozszerzenia Token-2022 w osobnym wierszu.
Pułapki serwisów do „odzyskiwania SOL”[3][5][8]
Zamknięcie konta to zwykła transakcja, więc każdy serwis, który ją buduje, prosi Cię o podpis. Podpis jest tym samym, czym jest przy swapie: zgodą na wszystko, co jest w transakcji. Złośliwa strona może dołożyć do niej transfer tokenów, approve dla obcego delegate albo wskazać swój adres jako odbiorcę zwrotu.
Przed podpisem przeczytaj symulację w wallecie. Bezpieczna transakcja zawiera tylko instrukcje zamknięcia kont i ewentualnie burn, a saldo SOL po niej rośnie. Jeśli wallet pokazuje ubytek tokenów, których nie chciałeś spalić, nowy delegate albo zwrot na inny adres, odrzuć ją. Serwis może też pobierać prowizję od odzyskanej kwoty, więc sprawdź, ile SOL faktycznie wraca.
Każda transakcja płaci opłatę bazową sieci: 5000 lamportów za podpis. Przy kilku zamknięciach w jednej transakcji ta opłata jest pomijalna wobec depozytów, ale przy jednym koncie na transakcję zjada część zwrotu.
Przykład na hipotetycznym wallecie
Liczby poniżej są hipotetyczne i pokazują rachunek, a nie stan konkretnego walleta.
W wallecie jest 40 pustych kont programu Token i 10 pustych ATA Token-2022 po 170 bajtów. Depozyty to 40 × 2 039 280 + 10 × 2 074 080 = 102 312 000 lamportów, czyli około 0,1023 SOL. Zamykasz je w pięciu transakcjach z jednym podpisem każda: 5 × 5000 = 25 000 lamportów opłaty bazowej. Na wallet wraca około 0,1023 SOL minus 0,000025 SOL i ewentualne priority fee.
Sprawdź, co zostało w głowie
Zaliczenie to 3 z 4 dobrych odpowiedzi.
Pytanie 1 z 4
Kiedy można zamknąć zwykły token account na Solanie?
Źródła
Materiały pierwotne wykorzystane do sprawdzenia informacji. Numer przy sekcji wskazuje powiązane źródło. Link nie oznacza rekomendacji opisywanego aktywa.
- 01Solana: Accounts (minimalne saldo przechowywania)
- 02Solana: Create a token account
- 03Solana: Close token account
- 04Solana: Burn tokens
- 05Solana: Approve delegate
- 06Solana: Revoke delegate
- 07Solana: Permanent delegate
- 08Solana: Fees
Widzisz błąd albo nieaktualną informację? Napisz na kontakt@memecoiny.pl. Jak poprawiamy błędy
