WithdrawExcessLamports na Solana: guia SPL Token e Token-2022
Evidências de preços e recursos verificadas 3 de setembro de 2026.
WithdrawExcessLamports é a instrução 38 do Token Program e move lamports excedentes de conta, mint ou multisig. Veja a documentação e o processador público.
Sempre faça o preview da instrução WithdrawExcessLamports antes de assinar.
| Conta | Writable? | Signer? | Uso |
|---|---|---|---|
source | Sim | Às vezes | Conta, mint ou multisig |
destination | Sim | Não | Recebe lamports |
authority | Não | Depende | Prova permissão |
multiSigners | Não | Se usado | Cumpre o multisig |
Conta de wallet usa owner; multisig usa membros M-de-N; mint usa mint authority; sem authority, o mint assina. Off-curve exige CPI/PDA.
import { getWithdrawExcessLamportsInstruction } from "@solana-program/token";
const instruction = getWithdrawExcessLamportsInstruction({
source,
destination,
authority,
});
await client.sendTransaction([instruction]);
authority é TransactionSigner; cosigners vão em multiSigners. Use @solana-program/token com @solana/kit. Em 2026, diferencie 2 famílias: Token-2022 é uma delas.
0.00203928 SOL: é o mínimo antigo de 165 bytes, não um valor universal.Token-2022 pode passar de 82 ou 165 bytes. CPI Guard pode bloquear o wrapper; Wrapped SOL nativo retorna NativeNotSupported. Vale para previews Token-2022 e transações Token-2022.
Integrações Token-2022 devem sempre usar o tamanho real.
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 é destino e authority padrão. authorityPublicKey e até 11 multisigSignerPublicKeys são opcionais. A taxa-base é 200 bps; podem ser usados partnerFeeAccount, partnerFeeBps e feeLamports.
Leia também
Perguntas frequentes
O que WithdrawExcessLamports faz?
Transfere lamports acima da reserva mínima de uma conta do Token Program para um destino. A fonte pode ser conta de token, mint ou multisig. Quantidades, supply, authorities, extensões e dados serializados não mudam.
Qual authority assina?
Conta de token usa owner ou multisig. Mint com mint authority ativa usa essa authority. Sem ela, a conta-fonte assina com sua keypair ou por CPI do programa que controla o mint off-curve.
WithdrawExcessLamports aceita Token-2022?
Sim. Suporta contas, mints e multisigs SPL Token e Token-2022. Use o tamanho real porque extensões Token-2022 ampliam contas. CPI Guard bloqueado pode impedir execução via wrapper.
Pode esvaziar abaixo da reserva?
Não. O Token Program calcula o mínimo e só move a diferença. Wrapped SOL nativo é rejeitado. Confira o estado live, pois saldo, tamanho, rent e authority podem mudar antes do envio.
