- 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 any of the provided tokens has been deleted, the transaction will resolve to
TOKEN_WAS_DELETED. - If an association between the provided account and any of the tokens already exists, the transaction will resolve to
TOKEN_ALREADY_ASSOCIATED_TO_ACCOUNT. - If the provided account’s associations count exceeds the constraint of maximum token associations per account, the transaction will resolve to
TOKENS_PER_ACCOUNT_LIMIT_EXCEEDED. - On success, associations between the provided account and tokens are made and the account is ready to interact with the tokens.
There is currently no limit on the number of token IDs that can be associated with an account (reference HIP-367). Still, you can see
TOKENS_PER_ACCOUNT_LIMIT_EXCEEDED responses for pre-HIP-367 transactions.- The key of the account the token is being associated to
- Transaction fee payer account key
- Please see the transaction and query fees table for the base transaction fee
- Please use the Hedera fee estimator to estimate your transaction fee cost
Constructor
| Constructor | Description |
|---|---|
new TokenAssociateTransaction() | Initializes the TokenAssociateTransaction object |
Transaction Properties
| Method | Type | Requirement |
|---|---|---|
setAccountId(<accountId>) | AccountId | Required |
setTokenIds(<tokenIds>) | List<TokenId> | Required |
setHighVolume(<highVolume>) | boolean | Optional |
Get Transaction Values
| Method | Type | Description |
|---|---|---|
getAccountId() | AccountId | Returns the account to be associated |
getTokenIds() | List<TokenId> | Returns the list of tokens to be associated |
getHighVolume() | boolean | Returns whether this transaction uses high-volume throttles |
This transaction supports high-volume entity creation
(HIP-1313). Setting
setHighVolume(true) routes the transaction through dedicated
high-volume throttle capacity with variable-rate pricing for both fungible and NFT mints.
Always pair this with setMaxTransactionFee() to cap your costs.