WithdrawExcessLamports di Solana: Panduan SPL Token dan Token-2022
Bukti harga dan kemampuan telah diperiksa 3 September 2026.
WithdrawExcessLamports adalah instruksi 38 Token Program. Instruksi ini memindahkan lamport berlebih dari mint, akun token, atau multisig.
Apa yang dilakukan WithdrawExcessLamports?
WithdrawExcessLamports hanya memindahkan SOL di atas reserve rent live. Sumber tetap terbuka dan data token atau mint tidak berubah. Tanda tangan yang diperlukan bergantung pada jenis sumber.
Perilakunya berlaku untuk SPL Token dan Token-2022 serta dijelaskan dalam dokumentasi Solana dan repository Token publik.
| Akun | Writable? | Signer? | Tujuan |
|---|---|---|---|
source | Ya | Kadang | Akun token, mint, atau multisig dengan kelebihan |
destination | Ya | Tidak | Menerima lamport |
authority | Tidak | Tergantung sumber | Membuktikan izin |
multiSigners | Tidak | Ya bila dipakai | Memenuhi ambang multisig |
| Sumber | Authority yang diperlukan |
|---|---|
| Akun token milik wallet | Owner akun token |
| Akun token multisig | Anggota M-dari-N |
| Mint dengan mint authority | Mint authority aktif |
| Mint tanpa mint authority | Akun mint sendiri |
| Multisig sebagai sumber | Anggota M-dari-N yang dikonfigurasi |
Mint on-curve yang authority-nya dicabut memerlukan keypair; mint off-curve memerlukan CPI dengan seed PDA yang benar.
Contoh client
import { getWithdrawExcessLamportsInstruction } from "@solana-program/token";
const instruction = getWithdrawExcessLamportsInstruction({
source,
destination,
authority,
});
await client.sendTransaction([instruction]);
authority adalah TransactionSigner; cosigner multisig masuk melalui multiSigners. Contoh memakai @solana-program/token dan dapat disusun dengan @solana/kit.
Pada 2026, bedakan 2 keluarga program token; Token-2022 adalah salah satunya.
Jangan hard-code 0.00203928 SOL. Itu minimum lama akun standar 165 byte, bukan nilai live universal. Minta reserve untuk panjang data aktual tepat sebelum preview atau build.
Ekstensi Token-2022 dapat membuat akun lebih besar dari 82 atau 165 byte. CPI Guard terkunci dapat memblokir wrapper. Wrapped SOL native mengembalikan NativeNotSupported. Aturan ini berlaku untuk preview Token-2022 dan transaksi Token-2022.
API Sol Incinerator
Assetcinerator memberlakukan biaya protokol dan partner sebagai lapisan produk; instruksi token mentah tidak memerlukannya.
curl -X POST https://v2.api.sol-incinerator.com/withdraw-excess-lamports/preview \
-H "content-type: application/json" \
-H "x-api-key: YOUR_API_KEY" \
-d '{
"userPublicKey": "DESTINATION_WALLET",
"sourceAccount": "TOKEN_ACCOUNT_MINT_OR_MULTISIG"
}'
POST /withdraw-excess-lamportsPOST /withdraw-excess-lamports-instructions
userPublicKey adalah tujuan dan authority default. Opsional: authorityPublicKey dan hingga 11 multisigSignerPublicKeys. Biaya dasar 200 bps; integrator dapat menambah partnerFeeAccount dan partnerFeeBps. Gunakan feeLamports dan nilai hasil pada respons.
Tangani tidak adanya kelebihan, owner/layout salah, authority invalid, multisig tidak lengkap, akun native, CPI Guard, perubahan state, dan nilai tak ekonomis sebagai error terpisah.

Sol Incinerator
Preview kelebihan live atau bangun penarikan yang aman ditandatangani melalui API v2.
Bacaan terkait
Pertanyaan Umum
Apa fungsi WithdrawExcessLamports di Solana?
WithdrawExcessLamports memindahkan lamport di atas minimum reserve rent akun Token Program ke wallet tujuan. Sumber dapat berupa akun token, mint, atau multisig. Jumlah token, supply mint, authority, ekstensi, dan data akun serial lainnya tidak berubah.
Authority mana yang menandatangani WithdrawExcessLamports?
Akun token memakai owner atau multisig-nya. Mint dengan mint authority aktif memakai authority tersebut. Tanpa mint authority, akun sumber harus menandatangani melalui keypair-nya atau CPI dari program yang mengendalikan mint off-curve.
Apakah WithdrawExcessLamports mendukung Token-2022?
Ya. Instruksi mendukung akun, mint, dan multisig SPL Token klasik serta Token-2022. Integrasi harus memakai panjang data aktual karena ekstensi Token-2022 memperbesar akun. CPI Guard yang terkunci juga dapat memblokir eksekusi melalui wrapper.
Bisakah WithdrawExcessLamports mengosongkan akun di bawah reserve?
Tidak. Token Program menghitung minimum reserve dan hanya memindahkan selisih di atasnya. Akun Wrapped SOL native ditolak. Tetap periksa status live karena saldo, panjang data, rent, dan authority dapat berubah sebelum pengiriman.