Referência da CLI do SPL Token

A interface de linha de comando spl-token cria e gerencia mints, token accounts, autoridades, transferências e extensões do Token-2022.

Esta referência acompanha a spl-token-cli v5.6.1, versão incluída no Agave v4.2.1. Execute spl-token --version e use <command> --help para ver as opções exatas disponíveis na sua versão instalada.

A criação de mints, as transferências, as alterações de autoridade, as queimas, os congelamentos e o fechamento de contas enviam transações. Confirme o cluster, o Token Program, o signatário e os endereços antes de executar um comando. As alterações na mainnet usam ativos reais.

Instalar e obter ajuda

O pacote de lançamento da CLI do Agave inclui o spl-token. Se ele não estiver instalado, use o crate Rust publicado:

cargo install spl-token-cli --version 5.6.1
spl-token --version

Consulte a ajuda na raiz ou no nível de um comando:

spl-token --help
spl-token create-token --help
spl-token transfer --help

Opções globais

Coloque as opções globais antes do comando.

OpçãoFinalidade
-u, --url <URL_OR_MONIKER>Selecione uma URL de RPC ou mainnet-beta, testnet, devnet ou localhost.
-C, --config <PATH>Use um arquivo de configuração diferente da CLI do Solana.
--fee-payer <KEYPAIR>Selecione a conta que paga as taxas de transação.
-p, --program-id <ADDRESS>Use um ID de Token Program explícito.
--program-2022Use o Token-2022 (TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb).
--output <FORMAT>Retorne json ou json-compact onde houver suporte.
--with-compute-unit-limit <UNITS>Defina o limite de unidades de computação da transação.
--with-compute-unit-price <MICRO_LAMPORTS>Defina o preço de prioridade por unidade de computação.
-v, --verboseExiba saída adicional.
-V, --versionExiba a versão instalada da CLI.

O programa padrão é o Token Program original. Use --program-2022 para um mint ou uma conta do Token-2022, inclusive ao fazer a leitura. Um comando falha se o programa selecionado não for o proprietário do endereço informado.

Criar e usar um token

Os comandos imprimem os endereços criados. Salve o endereço do mint retornado por create-token para os comandos seguintes.

# Create a six-decimal mint under the original Token Program.
spl-token --url devnet create-token --decimals 6
# Create the default signer's associated token account for the mint.
spl-token --url devnet create-account <MINT_ADDRESS>
# Mint 100 tokens to that associated token account.
spl-token --url devnet mint <MINT_ADDRESS> 100
# Read supply, balance, and complete mint or account details.
spl-token --url devnet supply <MINT_ADDRESS>
spl-token --url devnet balance <MINT_ADDRESS>
spl-token --url devnet display <MINT_OR_TOKEN_ACCOUNT_ADDRESS>
# Transfer tokens to a wallet and create its associated account if needed.
spl-token --url devnet transfer \
<MINT_ADDRESS> \
10 \
<RECIPIENT_WALLET_ADDRESS> \
--fund-recipient

Os valores são quantidades de token em formato de interface (UI), ajustadas conforme as casas decimais do mint. Comandos como transfer, burn e unwrap-sol aceitam ALL onde indicado na ajuda.

Criar um mint do Token-2022

As extensões alocam estado adicional ao mint ou à conta e, em geral, devem ser escolhidas quando o mint é criado. Este exemplo cria um mint com seis casas decimais e suporte a metadados incorporados:

spl-token --program-2022 create-token \
--decimals 6 \
--enable-metadata
spl-token --program-2022 initialize-metadata \
<MINT_ADDRESS> \
"Example Token" \
EXAMPLE \
https://example.com/token.json

As opções de extensão mais comuns de create-token incluem:

  • --enable-close
  • --enable-confidential-transfers auto|manual
  • --enable-freeze
  • --enable-group e --enable-member
  • --enable-metadata
  • --enable-non-transferable
  • --enable-pause
  • --enable-permanent-delegate
  • --enable-permissioned-burn
  • --enable-transfer-hook ou --transfer-hook <PROGRAM_ID>
  • --interest-rate <BASIS_POINTS>
  • --transfer-fee-basis-points <BASIS_POINTS> com --transfer-fee-maximum-fee <AMOUNT>
  • --ui-amount-multiplier <MULTIPLIER>

Combine apenas extensões que o programa Token-2022 permite usar em conjunto. Leia o guia de extensões do Token-2022 relevante antes de criar uma configuração de mint irreversível.

Gerenciar autoridades e delegados

# Change the mint authority.
spl-token authorize <MINT_ADDRESS> mint <NEW_AUTHORITY_ADDRESS>
# Permanently remove the mint authority.
spl-token authorize <MINT_ADDRESS> mint --disable
# Let a delegate spend up to 25 tokens from one token account.
spl-token approve \
<TOKEN_ACCOUNT_ADDRESS> \
25 \
<DELEGATE_ADDRESS>
# Remove the current delegate.
spl-token revoke <TOKEN_ACCOUNT_ADDRESS>

authorize oferece suporte a tipos de autoridade de mint, congelamento, proprietário, fechamento e específicos de extensões. Remover uma autoridade com --disable é permanente quando nenhum outro mecanismo do programa pode restaurá-la.

Congelar, queimar e fechar

spl-token freeze <TOKEN_ACCOUNT_ADDRESS>
spl-token thaw <TOKEN_ACCOUNT_ADDRESS>
spl-token burn <TOKEN_ACCOUNT_ADDRESS> 5
# A token account must normally have a zero token balance before closing.
spl-token close --address <TOKEN_ACCOUNT_ADDRESS>

burn reduz tanto o saldo da conta quanto o fornecimento total. close devolve os lamports restantes da conta ao destinatário configurado; ele não recupera os tokens queimados.

Wrap e unwrap de SOL

# Create or fund the owner's wrapped SOL token account.
spl-token wrap 1
# Unwrap part of the wrapped SOL balance.
spl-token unwrap-sol 0.25
# Close the wrapped SOL account and return its full lamport balance.
spl-token unwrap

Use sync-native depois de transferir lamports diretamente para uma token account de wrapped SOL, para que a quantidade de tokens corresponda aos lamports subjacentes.

Assinatura multisig

Crie uma multisig M-de-N do Token Program com até 11 membros:

spl-token create-multisig \
2 \
<MEMBER_1_ADDRESS> \
<MEMBER_2_ADDRESS> \
<MEMBER_3_ADDRESS>

Para uma transação controlada por essa multisig, informe o endereço da multisig como a autoridade relevante e forneça os keypairs dos membros por meio de valores --multisig-signer repetidos. Consulte a ajuda do comando de destino, pois a flag de autoridade principal varia conforme a operação.

Saldos confidenciais

Os comandos de saldo confidencial exigem um mint do Token-2022 configurado para transferências confidenciais e uma conta de destinatário configurada.

spl-token --program-2022 configure-confidential-transfer-account \
--address <TOKEN_ACCOUNT_ADDRESS>
spl-token --program-2022 deposit-confidential-tokens \
<MINT_ADDRESS> \
10 \
--address <TOKEN_ACCOUNT_ADDRESS>
spl-token --program-2022 apply-pending-balance \
--address <TOKEN_ACCOUNT_ADDRESS>
spl-token --program-2022 withdraw-confidential-tokens \
<MINT_ADDRESS> \
5 \
--address <TOKEN_ACCOUNT_ADDRESS>
spl-token --program-2022 transfer \
<MINT_ADDRESS> \
1 \
<RECIPIENT_ADDRESS> \
--confidential

Para configure-confidential-transfer-account e apply-pending-balance, informe --address <TOKEN_ACCOUNT_ADDRESS> ou um <MINT_ADDRESS> posicional, não ambos. A forma posicional usa a associated token account do proprietário. Depósito e saque sempre recebem o mint e aceitam --address para substituir essa conta padrão.

Use enable-confidential-credits, disable-confidential-credits, enable-non-confidential-credits e disable-non-confidential-credits para controlar quais depósitos a conta aceita. Essas configurações afetam a privacidade da conta e a compatibilidade de pagamentos; inspecione a conta antes de alterá-las.

Índice completo de comandos

O índice a seguir inclui todos os comandos de nível superior da spl-token-cli v5.6.1.

ComandoDescrição
accountsListar as token accounts de uma carteira, opcionalmente filtradas por mint.
addressExibir o endereço da carteira selecionada ou o respectivo endereço de associated token account.
apply-pending-balanceMover tokens confidenciais pendentes para o saldo confidencial disponível.
approveAprovar um delegado e um limite de gastos para uma token account.
authorizeAlterar ou desativar a autoridade de um mint, de uma conta ou de uma extensão.
balanceMostrar o saldo de uma token account.
benchExecutar comandos de benchmark de tokens.
burnDestruir tokens de uma conta e reduzir o fornecimento do mint.
closeFechar uma token account elegível e recuperar seus lamports.
close-mintFechar um mint do Token-2022 configurado com a extensão close-mint.
configure-confidential-transfer-accountConfigurar uma conta para usar transferências confidenciais.
create-accountCriar uma associated token account ou uma token account auxiliar.
create-multisigCriar uma multisig M-de-N do Token Program.
create-tokenCriar um mint, opcionalmente com extensões do Token-2022.
deposit-confidential-tokensMover tokens não confidenciais para um saldo confidencial pendente.
disable-confidential-creditsRejeitar transferências confidenciais recebidas por uma conta.
disable-cpi-guardDesativar o CPI Guard de uma conta.
disable-non-confidential-creditsRejeitar transferências não confidenciais recebidas por uma conta confidencial.
disable-required-transfer-memosDeixar de exigir que as transferências recebidas incluam memos.
displayMostrar todos os detalhes de um mint, de uma token account ou de uma multisig.
enable-confidential-creditsAceitar transferências confidenciais recebidas em uma conta configurada.
enable-cpi-guardRestringir determinadas operações de token quando invocadas via CPI.
enable-non-confidential-creditsAceitar transferências não confidenciais recebidas em uma conta confidencial.
enable-required-transfer-memosExigir que as transferências recebidas incluam memos.
freezeCongelar uma token account usando a autoridade de congelamento do mint.
gcFechar token accounts desnecessárias e consolidar saldos quando possível.
helpExibir a ajuda geral ou a de um comando.
initialize-groupInicializar a configuração de grupo do Token-2022 para um mint.
initialize-memberAdicionar um mint do Token-2022 como membro de um grupo.
initialize-metadataInicializar os metadados incorporados do Token-2022.
mintCriar novas unidades de token usando a autoridade de mint.
pausePausar a emissão, a queima e a transferência de um mint pausável do Token-2022.
resumeRetomar as operações de um mint pausado do Token-2022.
revokeRemover o delegado de uma token account.
set-interest-rateAtualizar a taxa de um mint com juros.
set-transfer-feeAgendar novos parâmetros de taxa de transferência.
set-transfer-hookAlterar o ID do programa de transfer hook de um mint.
supplyMostrar o fornecimento total de um mint.
sync-nativeSincronizar o valor de uma conta de wrapped SOL com seus lamports.
thawDescongelar uma token account congelada.
transferTransferir tokens para uma token account ou carteira.
unwrapFechar uma conta de wrapped SOL e recuperar todos os lamports.
unwrap-solRemover parte ou todo o SOL de uma conta de wrapped SOL.
update-confidential-transfer-settingsAtualizar as configurações de aprovação ou de auditor de transferências confidenciais de um mint.
update-default-account-stateAlterar o estado padrão de um mint para novas token accounts.
update-group-addressAlterar o endereço do ponteiro de grupo de um mint.
update-group-max-sizeAlterar o número máximo de membros de um grupo de tokens.
update-member-addressAlterar o endereço do ponteiro de membro de grupo de um mint.
update-metadataAlterar ou remover campos de metadados incorporados.
update-metadata-addressAlterar o endereço do ponteiro de metadados de um mint.
update-ui-amount-multiplierAgendar um novo multiplicador de valor de UI escalonado.
withdraw-confidential-tokensMover tokens confidenciais de volta para o saldo não confidencial.
withdraw-excess-lamportsSacar lamports acima do saldo isento de aluguel de uma conta do Token Program.
withdraw-withheld-tokensColetar taxas de transferência retidas em token accounts ou no mint.
wrapFazer wrap de SOL em uma token account de mint nativo.

Assinatura estruturada e offline

Use saída estruturada em vez de analisar o texto exibido:

spl-token accounts --output json
spl-token display <MINT_ADDRESS> --output json-compact

Os comandos que produzem transações geralmente oferecem suporte a --sign-only, --blockhash, --signer <PUBKEY=SIGNATURE>, --nonce e --nonce-authority. As entradas offline exatas dependem do comando, das casas decimais do mint e da configuração de autoridade; portanto, gere a mensagem não assinada seguindo as instruções de --help desse comando e verifique todos os endereços antes de coletar as assinaturas.

Is this page helpful?

Índice

Editar Página
© 2026 Fundação Solana. Todos os direitos reservados.