Typescript
SPL Token com Web3.js

SPL Token com Web3.js

Instrução de Transferência

Transfere tokens de uma conta de token para outra. A conta de token de origem deve pertencer ao signatário da transação e ter saldo suficiente.

Antes de podermos transferir qualquer token, precisaremos já ter:

  • Inicializado uma conta Mint.

  • Uma conta Token ou conta Associated Token de origem que já tenha pelo menos a quantidade que desejamos transferir.

  • Uma conta Token ou conta Associated Token de destino para receber os tokens.

A quantidade de tokens que transferimos é "normalizada" para decimais. Isso significa que se queremos transferir 1 token que tem 6 decimais, precisaremos colocar 1e6 como quantidade

Instrução Bruta

Usando apenas a instrução "bruta" sem qualquer abstração, é assim que ficaria a transferência de um token:

ts
// Transferir tokens
const transferInstruction = createTransferInstruction(
    sourceTokenAccount, // conta de token de origem
    destinationTokenAccount, // conta de token de destino
    keypair.publicKey, // dono da conta de token de origem
    1e6, // quantidade
);

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

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

console.log(`Tokens transferidos! Confira sua TX 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 transfer():

ts
let tx = await transfer(
    connection, // conexão
    keypair, // pagador
    sourceTokenAccount, // conta de token de origem
    destinationTokenAccount, // conta de token de destino
    1e6, // quantidade para transferir
);

console.log(`Transferência realizada com sucesso! Transação aqui: https://explorer.solana.com/tx/${tx}?cluster=devnet`)

Instrução com Verificação

Blueshift © 2026Commit: 1b88646