Typescript
SPL Token com Web3.js

SPL Token com Web3.js

Instrução Close Account

Fecha uma conta de token e transfere o SOL restante de aluguel para uma conta de destino. A conta de token deve ter saldo zero, a menos que seja uma conta nativa de SOL.

A partir do Token2022, é possível fechar uma conta Mint que tenha um supply de 0

Antes de podermos fechar qualquer conta de token, precisaremos já ter:

  • Inicializado uma conta Mint

  • Inicializado uma conta de Token ou Associated Token que não tenha nenhum token dentro

Instrução Raw

Usando apenas a instrução "raw" sem qualquer abstração, é assim que fechar uma conta ficaria:

ts
// Delega um ATA 
const closeAccountInstruction = createCloseAccountInstruction(
    tokenAccount // conta
    keypair.publickey // destino
    keypair.publickey // autoridade
);

const transaction = new Transaction().add(closeAccountInstruction);

const signature = await sendAndConfirmTransaction(connection, transaction, [keypair]);

console.log(`Contas de token fechadas! Confira sua transação aqui: https://explorer.solana.com/tx/${signature}?cluster=devnet`);

Instrução Abstraída

É assim que as mesmas instruções ficariam abstraídas com a instrução closeAccount():

ts
  let tx = await closeAccount(
    connection,
    keypair,
    ata.address, // conta de token
    keypair.publicKey, // destino
    keypair.publicKey, // autoridade
);

console.log(`Fechamento realizado com sucesso! Transação aqui: https://explorer.solana.com/tx/${tx}?cluster=devnet`)
Blueshift © 2026Commit: 1b88646