| Network Request Types | Throttle (tps) |
|---|---|
| Cryptocurrency Transactions |
|
| Consensus Transactions |
|
| Token Transactions |
|
| Schedule Transactions | ScheduleSignTransaction: 100 tpsScheduleCreateTransaction: 100 tps |
| File Transactions | 10 tps |
| Smart Contract Transactions | ContractExecuteTransaction: 15 million gas per secondContractCreateTransaction: 15 million gas per second |
| Queries (per node) |
|
| Receipts | unlimited (no throttle) |
| Network Request Type | Throttle (tps) |
|---|---|
| Cryptocurrency Transactions |
|
| Consensus Transactions |
|
| Token Transactions |
|
| Schedule Transactions | ScheduleSignTransaction: 100 tpsScheduleCreateTransaction: 100 tps |
| File Transactions | 10 tps |
| Smart Contract Transactions | ContractExecuteTransaction: 350 tpsContractCreateTransaction: 350 tps |
| Queries (per node) |
|
| Receipts | unlimited (no throttle) |
AccountId, long
| The token ID of the token being granted an allowance by the spender account, the account ID of the owner account, the account ID of the spender account. | `approveTokenAllowance(| Property Value | Description |
|---|---|
0 | Automatic token associations or token airdrops are not allowed, and the account must be manually associated with a token. This also applies if the value is less than or equal to usedAutoAssociations. |
-1 | Unlimited automatic token associations are allowed, and this is the default for accounts created via auto account creation and for accounts that began as hollow accounts and are now complete. Accounts with -1 can receive new tokens without manually associating them. The sender still pays the maxAutoAssociations fee and initial rent for each association. |
> 0 | If the value is a positive number (number greater than 0), the number of automatic token associations an account can have is limited to that number. |
| Method | Type | Requirement |
|---|---|---|
setKey(<key>) | Key | Required |
setAlias(<alias>) | EvmAddress | Optional |
setInitialBalance(<initialBalance>) | HBar | Optional |
setReceiverSignatureRequired(<booleanValue>) | boolean | Optional |
setMaxAutomaticTokenAssociations(<amount>) | int | Optional |
setStakedAccountId(<stakedAccountId>) | AccountId | Optional |
setStakedNodeId(<stakedNodeId>) | long | Optional |
setDeclineStakingReward(<declineStakingReward>) | boolean | Optional |
setAccountMemo(<memo>) | String | Optional |
setAutoRenewPeriod(<autoRenewPeriod>) | Duration | Disabled |
| Method | Type | Description |
|---|---|---|
addHbarTransfer(<accountId>, <evmAddress>, <value>) | AccountId, string, HBAR | The account involved in the transfer and the number of HBAR. The sender and recipient values must net zero. |
addTokenTransfer(<tokenId>, <accountId>, <evmAddress>, <value>) | TokenId, AccountId, string, long | The ID of the token, the account ID involved in the transfer, and the number of tokens to transfer. The sender and recipient values must net zero. |
addNftTransfer(<nftId>, <sender>, <receiver>) | NftId, AcountId, AccountId | The NFT ID (token + serial number), the sending account, and receiving account. |
addTokenTransferWithDecimals(<tokenId>, <accountId>, <value>, <int>) | TokenId, AccountId, long, decimals | The ID of the token, the account ID involved in the transfer, the number of tokens to transfer, the decimals of the token. The sender and recipient values must net zero. |
addApprovedHbarTransfer(<ownerAccountId>,<amount>) | AccountId, Hbar | The owner account ID the spender is authorized to transfer from and the amount. Applicable to allowance transfers only. |
addApprovedTokenTransfer(<tokenId>, <accountId>, <value>) | TokenId, AccountId, long | The owner account ID and token the spender is authorized to transfer from. The debiting account is the owner account. Applicable to allowance transfers only. |
addApprovedTokenTransferWithDecimals(<tokenId>, <accountId>, <value>, <decimals>) | TokenId, AccountId, long, int | The owner account ID and token ID (with decimals) the spender is authorized to transfer from. The debit account is the account ID of the sender. Applicable to allowance transfers only. |
addApprovedNftTransfer(<nftId>,<sender>, <receiver>) | NftId, AcountId, AccountId | The NFT ID the spender is authorized to transfer. The sender is the owner account and receiver is the receiving account. Applicable to allowance transfers only. |
| Method | Type | Requirements |
|---|---|---|
setAdminKey(<adminKey>) | Key | Optional |
setSubmitKey(<submitKey>) | Key | Optional |
setTopicMemo(<memo>) | String | Optional |
setAutoRenewAccountId(<accountId>) | AccountId | Optional |
setAutoRenewPeriod(<autoRenewPeriod>) | Duration | Optional |
setFeeScheduleKey() | Key | Optional |
setFeeExemptKeys() | List<Key> | Optional |
setCustomFees() | List<CustomFixedFee> | Optional |
addCustomFee() | CustomFixedFee | Optional |
addFeeExemptKey() | Key | Optional |
| Method | Type | Requirements |
|---|---|---|
getAdminKey(<adminKey>) | Key | Optional |
getSubmitKey(<submitKey>) | Key | Optional |
getTopicMemo(<memo>) | String | Optional |
getAutoRenewAccountId() | AccountId | Required |
getAutoRenewPeriod() | Duration | Required |
getFeeScheduleKey() | Key | Optional |
getFeeExemptKeys() | List | Optional |
getCustomFees() | List | Optional |
| **Method** | **Type** | **Requirements** |
|---|---|---|
getAdminKey(<adminKey>) | Key | Optional |
getSubmitKey(<submitKey>) | Key | Optional |
getTopicMemo(<memo>) | String | Optional |
getAutoRenewAccountId() | AccountId | Required |
getAutoRenewPeriod() | Duration | Required |
getFeeScheduleKey() | Key | Optional |
getFeeExemptKeys() | List | Optional |
getCustomFees() | List | Optional |
| Method | Type | Requirement |
|---|---|---|
setScheduledTransaction(<transaction>) | Transaction<?> | Required |
setAdminKey(<key>) | Key | Optional |
setPayerAccountId(<id>) | AccountId | Optional |
setScheduleMemo(<memo>) | String | Optional |
setExpirationTime(expirationTime) | Instant | Optional |
setWaitForExpiry() | boolean | Optional |
getAdminKey() | Key | Optional |
getPayerAccountId() | AccountId | Optional |
getScheduleMemo() | String | Optional |
| Method | Type | Description |
|---|---|---|
addTokenTransfer(<tokenId>, <accountId>, <amount>) | TokenId, AccountId, int64 | Add the from (sender) and to (receiver) account to transfer tokens. You will need to use this method twice. One will specify the the account sending the airdrop and the second will specify the account receiving the airdrop. The sending account must sign the transaction. The sender and recipient values must net zero. |
addNftTransfer(<nftId>, <sender>, <receiver>) | NftId, AccountId, AccountId | Adds an NFT transfer to the transaction, specifying the NFT ID, the sender's account, and the receiver's account. |
addTokenTransferWithDecimals(<tokenId>, <accountId>, <amount>, <decimals>) | TokenId, AccountId, int64, uint32 | Adds a token transfer to the transaction with specified decimal precision, detailing the token ID, account, amount, and decimal places. |
addApprovedTokenTransfer(<tokenId>, <accountId>, <amount>) | TokenId, AccountId, int64 | The owner account ID and token the spender is authorized to transfer from. The debiting account is the owner account. Applicable to allowance transfers only. |
addApprovedNftTransfer(<nftId>, <sender>, <receiver>) | NftId, AccountId, AccountId | The NFT ID the spender is authorized to transfer. The sender is the owner account and receiver is the receiving account. Applicable to allowance transfers only. |
addApprovedTokenTransferWithDecimals(<tokenId>, <accountId>, <amount>, <decimals>) | TokenId, AccountId, int64, uint32 | Adds an approved token transfer with decimal precision, specifying the owner account ID, token ID, and sender's account. Applicable to allowance transfers only. |
| Method | Type | Description |
|---|---|---|
addPendingAirdropId(<pendingAirdropId) | List<PendingAirdropId> | Adds the ID of a pending airdrop to the transaction, indicating which specific airdrop the receiver wants to claim. This method is used to reference and claim one or more pending airdrops by their unique identifiers. The transaction can have up to 10 entries and must no have any duplicates. |
| Method | Type | Requirement |
|---|---|---|
setTokenName(<name>) | String | Required |
setTokenType(<tokenType>) | TokenType | Optional |
setTokenSymbol(<symbol>) | String | Required |
setDecimals(<decimal>) | int | Optional |
setInitialSupply(<initialSupply>) | int | Optional |
setTreasuryAccountId(<treasury>) | AccountId | Required |
setAdminKey(<key>) | Key | Optional |
setKycKey(<key>) | Key | Optional |
setFreezeKey(<key>) | Key | Optional |
setWipeKey(<key>) | Key | Optional |
setSupplyKey(<key>) | Key | Optional |
setPauseKey(<key>) | Key | Optional |
setFreezeDefault(<freeze>) | boolean | Optional |
setExpirationTime(<expirationTime>) | Instant | Optional |
setFeeScheduleKey(<key>) | Key | Optional |
setCustomFees(<customFees>) | List<CustomFee> | Optional |
setSupplyType(<supplyType>) | TokenSupplyType | Optional |
setMaxSupply(<maxSupply>) | long | Optional |
setTokenMemo(<memo>) | String | Optional |
setAutoRenewAccountId(<account>) | AccountId | Optional |
setAutoRenewPeriod(<period>) | Duration | Optional |
setMetadataKey(<key>) | Key | Optional |
setMetadata(<bytes>) | bytes | Optional |
| Method | Type | Description | Requirement |
|---|---|---|---|
setTokenId(<tokenId>) | TokenId | The token ID for which to mint additional tokens | Required |
setAmount(<amount>) | long | Applicable to tokens of type FUNGIBLE_COMMON.The amount to mint to the Treasury Account. The amount must be a positive non-zero number represented in the lowest denomination of the token. The new supply must be lower than 2^63-1. | Optional |
setMetadata(<metaDatas>) | List<byte[]> | Applicable to tokens of type NON_FUNGIBLE_UNIQUE. A list of metadata that are being created. The maximum allowed size of each metadata is 100 bytes and is immutable. | Optional |
addMetadata(<metaData>) | byte [] | Applicable to tokens of type NON_FUNGIBLE_UNIQUE. A list of metadata that are being created. The maximum allowed size of each metadata is 100 bytes and is immutable. | Optional |
Set the ID for this transaction. The transaction ID includes the operator's account ( the account paying the transaction fee). If two transactions have the same transaction ID, they won't both have an effect. One will complete normally and the other will fail with a duplicate transaction status.
Normally, you should not use this method. Just before a transaction is executed, a
transaction ID will be generated from the operator on the client.
Set the duration that this transaction is valid for
Note: Max network valid duration is 180 seconds. SDK default value is 120 seconds. The minium valid duration period is 15 seconds.
| -| **Memo** | Set a note or description that should be recorded in the transaction record (maximum length of 100 characters). Anyone can view this memo on the network | -| **Node ID** | Set the account ID of the node that this transaction will be submitted to. | -| **Max transaction fee** |Set the max transaction fee for the operator (transaction fee payer account) is willing to pay
Default: 2 hbar
| +| **Field** | **Description** | +|-------|-------------| +| **Transaction ID** | Set the ID for this transaction. The transaction ID includes the operator's account (the account paying the transaction fee). If two transactions have the same transaction ID, they won't both have an effect. One will complete normally and the other will fail with a duplicate transaction status. Normally, you should not use this method. Just before a transaction is executed, a transaction ID will be generated from the operator on the client. | +| **Valid Duration** | Set the duration that this transaction is valid for. Max network valid duration is 180 seconds. SDK default value is 120 seconds. The minimum valid duration period is 15 seconds. | +| **Memo** | Set a note or description that should be recorded in the transaction record (maximum length of 100 characters). Anyone can view this memo on the network. | +| **Node ID** | Set the account ID of the node that this transaction will be submitted to. | +| **Max transaction fee** | Set the max transaction fee the operator (transaction fee payer account) is willing to pay. Default: 2 hbar. | +| **High Volume** | If set to `true`, opts this transaction into the [high-volume throttle system](/hedera/core-concepts/high-volume-entity-creation) with variable-rate pricing for entity creation. Only affects [supported transaction types](/hedera/core-concepts/high-volume-entity-creation#supported-transaction-types); otherwise ignored. Default: `false`. See [HIP-1313](https://hips.hedera.com/hip/hip-1313). | -| Method | Type |
|---|---|
setTransactionID(<transactionId>) | TransactionID |
setTransactionValidDuration(<validDuration>) | Duration |
setTransactionMemo(<memo>) | String |
setNodeAccountIds(<nodeAccountIds>) | List<AccountId> |
setMaxTransactionFee(<maxTransactionFee>) | Hbar |
setGrpcDeadline(<grpcDeadline>) | Duration |
setRegenerateTransactionId(<regenerateTransactionId>) | boolean |
| Method | Type |
|---|---|
getTransactionID() | TransactionID |
getTransactionValidDuration() | Duration |
getTransactionMemo() | String |
getNodeAccountId() | AccountID |
getMaxTransactionFee() | Hbar |
getTransactionHash() | byte[ ] |
getTransactionHashPerNode() | Map<AccountId, byte [ ]> |
getSignatures() | Map<AccountId, Map<PublicKey, byte [ ]>> |
| **Method** | **Type** | **Requirements** |
|---|---|---|
getAdminKey(<adminKey>) | Key | Optional |
getSubmitKey(<submitKey>) | Key | Optional |
getTopicMemo(<memo>) | String | Optional |
getAutoRenewAccountId() | AccountId | Required |
getAutoRenewPeriod() | Duration | Required |
getFeeScheduleKey() | Key | Optional |
getFeeExemptKeys() | List | Optional |
getCustomFees() | List | Optional |