Dissociate tokens from an account
Dissociates the provided Hedera account from the provided Hedera tokens. This transaction must be signed by the provided account's key. Once the association is removed, no token-related operation can be performed to that account. AccountBalanceQuery and AccountInfoQuery will not return anything related to the token that was dissociated.
If the provided account is not found, the transaction will resolve to INVALID_ACCOUNT_ID.
If the provided account has been deleted, the transaction will resolve to ACCOUNT_DELETED.
If any of the provided tokens is not found, the transaction will resolve to INVALID_TOKEN_REF.
If an association between the provided account and any of the tokens does not exist, the transaction will resolve to TOKEN_NOT_ASSOCIATED_TO_ACCOUNT.
If the provided account has a nonzero balance with any of the provided tokens, the transaction will resolve to TRANSACTION_REQUIRES_ZERO_TOKEN_BALANCES.
On success, associations between the provided account and tokens are removed.
Transaction Signing Requirements
The key of the account the token is being dissociated with
Transaction fee payer account key
Transaction Fees
Please see the transaction and query fees table for base transaction fee
Please use the Hedera fee estimator to estimate your transaction fee cost
new TokenDissociateTransaction()
Initializes the TokenDissociateTransaction object
new TokenDissociateTransaction()
Methods
setTokenId(<tokenId>)
TokenId
The tokens to be dissociated with the provided account
Required
setAccountId(<accountId>)
AccountId
The account to be dissociated with the provided tokens
Required
//Dissociate a token from an account
TokenDissociateTransaction transaction = new TokenDissociateTransaction()
.setAccountId(accountId)
.addTokenId(tokenId);
//Build the unsigned transaction, sign with the private key of the account that is being dissociated from a token, submit the transaction to a Hedera network
TransactionId transactionId = transaction.build(client).sign(accountKey).execute(client);
//Request the receipt of the transaction
TransactionReceipt getReceipt = transactionId.getReceipt(client);
//Obtain the transaction consensus status
Status transactionStatus = getReceipt.status;
System.out.println("The transaction consensus status is: " +transactionStatus);
//Version: 1.2.2
//Dissociate a token from an account
const transaction = new TokenDissociateTransaction()
.setAccountId(accountId)
.addTokenId(tokenId);
//Build the unsigned transaction, sign with the private key of the account that is being dissociated from a token, submit the transaction to a Hedera network
const transactionId = await transaction.build(client).sign(accountKey).execute(client);
//Request the receipt of the transaction
const getReceipt = await transactionId.getReceipt(client);
//Obtain the transaction consensus status
const transactionStatus = getReceipt.status;
console.log("The transaction consensus status is: " +transactionStatus);
//Version 1.4.2
Last updated
Was this helpful?