SPL Token CLI-referentie

De opdrachtregelinterface spl-token maakt en beheert mints, token accounts, autoriteiten, overdrachten en Token-2022-extensies.

Deze referentie volgt spl-token-cli v5.6.1, de versie die met Agave v4.2.1 wordt meegeleverd. Voer spl-token --version uit en gebruik <command> --help voor de exacte opties die beschikbaar zijn in jouw geïnstalleerde versie.

Het aanmaken van een mint, overdrachten, wijzigingen van autoriteiten, burns, freezes en het sluiten van accounts verzenden transacties. Controleer het cluster, het Token Program, de ondertekenaar en de adressen voordat je een commando uitvoert. Wijzigingen op Mainnet gebruiken echte activa.

Installeren en hulp opvragen

De Agave CLI-releasebundel bevat spl-token. Als het niet is geïnstalleerd, gebruik dan de gepubliceerde Rust-crate:

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

Bekijk de help op rootniveau of commandoniveau:

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

Globale opties

Plaats globale opties vóór het commando.

OptieDoel
-u, --url <URL_OR_MONIKER>Selecteer een RPC-URL of mainnet-beta, testnet, devnet of localhost.
-C, --config <PATH>Gebruik een ander Solana CLI-configuratiebestand.
--fee-payer <KEYPAIR>Selecteer het account dat de transactiekosten betaalt.
-p, --program-id <ADDRESS>Gebruik een expliciete Token Program-ID.
--program-2022Gebruik Token-2022 (TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb).
--output <FORMAT>Geef json of json-compact terug waar dit wordt ondersteund.
--with-compute-unit-limit <UNITS>Stel de limiet voor compute units van de transactie in.
--with-compute-unit-price <MICRO_LAMPORTS>Stel de prioriteitsprijs per compute unit in.
-v, --verboseToon aanvullende uitvoer.
-V, --versionToon de geïnstalleerde CLI-versie.

Het standaardprogramma is het oorspronkelijke Token Program. Gebruik --program-2022 voor een Token-2022-mint of -account, ook bij het uitlezen ervan. Een commando mislukt als het geselecteerde programma niet de eigenaar is van het opgegeven adres.

Een token aanmaken en gebruiken

De commando's tonen de aangemaakte adressen. Bewaar het mint-adres dat door create-token wordt teruggegeven voor de volgende commando's.

# 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

Bedragen zijn UI-tokenbedragen, aangepast aan de decimalen van de mint. Commando's zoals transfer, burn en unwrap-sol accepteren ALL waar dit in hun help wordt vermeld.

Een Token-2022-mint aanmaken

Extensies reserveren extra mint- of accountstatus en moeten meestal worden gekozen wanneer de mint wordt aangemaakt. Dit voorbeeld maakt een mint met zes decimalen aan met ingebouwde metadata-ondersteuning:

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

Veelgebruikte extensieopties van create-token zijn onder andere:

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

Combineer alleen extensies die het Token-2022-programma samen toestaat. Raadpleeg de relevante Token-2022-extensiegids voordat je een onomkeerbare mintconfiguratie aanmaakt.

Autoriteiten en delegates beheren

# 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 ondersteunt mint-, freeze-, owner-, close- en extensiespecifieke autoriteitstypen. Het verwijderen van een autoriteit met --disable is permanent als geen andere programmamechanisme deze kan herstellen.

Freezen, burnen en sluiten

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 verlaagt zowel het accountsaldo als de totale supply. close stuurt de resterende lamports van het account naar de geconfigureerde ontvanger; het herstelt geburnde tokens niet.

SOL wrappen en unwrappen

# 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

Gebruik sync-native nadat je lamports rechtstreeks hebt overgemaakt naar een gewrapt SOL- token account, zodat het tokenbedrag overeenkomt met de onderliggende lamports.

Multisig-ondertekening

Maak een M-of-N Token Program-multisig aan met maximaal 11 leden:

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

Geef voor een transactie die door die multisig wordt beheerd het multisig-adres door als de relevante autoriteit en lever de keypairs van de leden aan via herhaalde --multisig-signer-waarden. Controleer de help van het betreffende commando, omdat de vlag voor de primaire autoriteit per bewerking verschilt.

Vertrouwelijke saldi

Commando's voor vertrouwelijke saldi vereisen een Token-2022-mint die is geconfigureerd voor vertrouwelijke overdrachten en een geconfigureerd ontvangeraccount.

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

Geef voor configure-confidential-transfer-account en apply-pending-balance óf --address <TOKEN_ACCOUNT_ADDRESS> óf een positioneel <MINT_ADDRESS> op, niet beide. De positionele vorm gebruikt het associated token account van de eigenaar. Storting en opname nemen altijd de mint als argument en accepteren --address om dat standaardaccount te overschrijven.

Gebruik enable-confidential-credits, disable-confidential-credits, enable-non-confidential-credits en disable-non-confidential-credits om te bepalen welke stortingen het account accepteert. Deze instellingen beïnvloeden de privacy van het account en de compatibiliteit van betalingen; controleer het account voordat je ze wijzigt.

Volledige commando-index

De volgende index bevat elk commando op het hoogste niveau in spl-token-cli v5.6.1.

CommandoBeschrijving
accountsToon token accounts van een wallet, optioneel gefilterd op mint.
addressToon het geselecteerde walletadres of het bijbehorende token-adres.
apply-pending-balanceVerplaats openstaande vertrouwelijke tokens naar het beschikbare vertrouwelijke saldo.
approveKeur een delegate en bestedingslimiet goed voor een token account.
authorizeWijzig of schakel een mint-, account- of extensieautoriteit uit.
balanceToon het saldo van een token account.
benchVoer benchmarkcommando's voor tokens uit.
burnVernietig tokens van een account en verlaag de mint-supply.
closeSluit een in aanmerking komend token account en haal de lamports terug.
close-mintSluit een Token-2022-mint die is geconfigureerd met de close-mint-extensie.
configure-confidential-transfer-accountConfigureer een account voor het gebruik van vertrouwelijke overdrachten.
create-accountMaak een associated token account of een hulp-token account aan.
create-multisigMaak een M-of-N Token Program-multisig aan.
create-tokenMaak een mint aan, optioneel met Token-2022-extensies.
deposit-confidential-tokensVerplaats niet-vertrouwelijke tokens naar een openstaand vertrouwelijk saldo.
disable-confidential-creditsWeiger inkomende vertrouwelijke overdrachten voor een account.
disable-cpi-guardSchakel CPI Guard uit voor een account.
disable-non-confidential-creditsWeiger inkomende niet-vertrouwelijke overdrachten voor een vertrouwelijk account.
disable-required-transfer-memosStop met het vereisen van memo's bij inkomende overdrachten.
displayToon volledige details van een mint, token account of multisig.
enable-confidential-creditsAccepteer inkomende vertrouwelijke overdrachten voor een geconfigureerd account.
enable-cpi-guardBeperk geselecteerde tokenbewerkingen wanneer ze via CPI worden aangeroepen.
enable-non-confidential-creditsAccepteer inkomende niet-vertrouwelijke overdrachten voor een vertrouwelijk account.
enable-required-transfer-memosVereis dat inkomende overdrachten een memo bevatten.
freezeFreeze een token account met de freeze-autoriteit van de mint.
gcSluit onnodige token accounts en consolideer waar mogelijk saldi.
helpToon de help op rootniveau of commandoniveau.
initialize-groupInitialiseer de Token-2022-groepsconfiguratie voor een mint.
initialize-memberVoeg een Token-2022-mint toe als groepslid.
initialize-metadataInitialiseer ingebouwde Token-2022-metadata.
mintMaak nieuwe tokeneenheden aan met de mint-autoriteit.
pausePauzeer mint, burn en transfer voor een pauzeerbare Token-2022-mint.
resumeHervat de bewerkingen voor een gepauzeerde Token-2022-mint.
revokeVerwijder de delegate van een token account.
set-interest-rateWerk het rentepercentage van een rentedragende mint bij.
set-transfer-feePlan nieuwe parameters voor overdrachtskosten.
set-transfer-hookWijzig de transfer hook-programma-ID van een mint.
supplyToon de totale supply van een mint.
sync-nativeSynchroniseer het bedrag van een gewrapt SOL-account met de lamports.
thawThaw een gefreezed token account.
transferDraag tokens over naar een token account of wallet.
unwrapSluit een gewrapt SOL-account en haal alle lamports terug.
unwrap-solVerwijder een deel of alle SOL uit een gewrapt SOL-account.
update-confidential-transfer-settingsWerk de goedkeurings- of auditorinstellingen voor vertrouwelijke overdrachten van een mint bij.
update-default-account-stateWijzig de standaardstatus van een mint voor nieuwe token accounts.
update-group-addressWijzig het groepspointer-adres van een mint.
update-group-max-sizeWijzig het maximale aantal leden van een tokengroep.
update-member-addressWijzig het groepslidpointer-adres van een mint.
update-metadataWijzig of verwijder velden van ingebouwde metadata.
update-metadata-addressWijzig het metadatapointer-adres van een mint.
update-ui-amount-multiplierPlan een nieuwe multiplier voor het geschaalde UI-bedrag.
withdraw-confidential-tokensVerplaats vertrouwelijke tokens terug naar het niet-vertrouwelijke saldo.
withdraw-excess-lamportsNeem lamports boven het van rent vrijgestelde saldo op van een Token Program-account.
withdraw-withheld-tokensHaal overdrachtskosten op die zijn ingehouden in token accounts of de mint.
wrapWrap SOL in een token account van de native mint.

Gestructureerde en offline ondertekening

Gebruik gestructureerde uitvoer in plaats van weergavetekst te parsen:

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

Commando's die transacties genereren ondersteunen doorgaans --sign-only, --blockhash, --signer <PUBKEY=SIGNATURE>, --nonce en --nonce-authority. De exacte offline-invoer hangt af van het commando, de decimalen van de mint en de autoriteitsopzet, dus genereer het niet-ondertekende bericht aan de hand van de --help-instructies van dat commando en controleer elk adres voordat je handtekeningen verzamelt.

Is this page helpful?

© 2026 Solana Foundation. Alle rechten voorbehouden.