Voltar ao blog
Solana

WithdrawExcessLamports na Solana: guia SPL Token e Token-2022

S
Sol Slugs Team
Sol Incinerator

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.

Ela move apenas SOL acima da reserva live. A fonte permanece aberta; a assinatura depende do tipo da fonte.
ContaWritable?Signer?Uso
sourceSimÀs vezesConta, mint ou multisig
destinationSimNãoRecebe lamports
authorityNãoDependeProva permissão
multiSignersNãoSe usadoCumpre 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.

Não fixe 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-lamports
  • POST /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.

Sol Incinerator

Sol Incinerator

Veja o excedente live ou construa um saque seguro pela API v2.

Experimente agora

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.

WithdrawExcessLamports na Solana: guia SPL Token e Token-2022 | Sol Incinerator