Protocol Parameters | Algorand Developer Portal

Protocol Parameters

Protocol parameters are constants that define the limits and requirements of the Algorand blockchain. These parameters control various aspects of the network including transaction fees, minimum balances, smart contract constraints, and asset creation limits. Understanding these parameters is essential for developers building on Algorand, as they directly impact the cost and feasibility of different operations on the network.

Minimum Balance Requirements

Parameter Value Variable Note
Default 0.1 Algo MinBalance
Opt-in ASA 0.1 Algo MinBalance
Created ASA 0.1 Algo MinBalance ASA creator is automatically opted in

Minimum Balance Requirements for Smart Contracts

Name Value Variable Note
Per page application creation fee 0.1 Algo AppFlatParamsMinBalance
Flat for application opt-in 0.1 Algo AppFlatOptInMinBalance
Per state entry 0.025 Algo SchemaMinBalancePerEntry
Addition per integer entry 0.0035 Algo SchemaUintMinBalance
Addition per byte slice entry 0.025 Algo SchemaBytesMinBalance
Per Box created 0.0025 Algo BoxFlatMinBalance
Per byte in box created 0.0004 Algo BoxByteMinBalance Includes the length of the key

Transaction Parameters

Name Value Variable Note
Minimum transaction fee, in all cases 0.001 Algo MinTxnFee
Additional minimum constraint if congested Additional fee per byte -
Max number of transactions in a group 16 MaxTxGroupSize
Max number of inner transactions 256 MaxInnerTransactions Each transaction allows 16 inner transactions, multiplied by MaxTxGroupSize (16) through inner transaction pooling.
Maximum size of a block 5000000 bytes MaxTxnBytesPerBlock
Maximum size of note 1024 bytes MaxTxnNoteBytes
Maximum transaction life 1000 rounds MaxTxnLife

ASA Parameters

Name Value Variable Note
Max number of ASAs (create and opt-in) Unlimited MaxAssetsPerAccount
Max asset name size 32 bytes MaxAssetNameBytes
Max unit name size 8 bytes MaxAssetUnitNameBytes
Max URL size 96 bytes MaxAssetURLBytes
Metadata hash 32 bytes - Padded with zeros if shorter than 32 bytes

Smart Signature Parameters

Name Value Variable Note
Max size of compiled TEAL code combined with arguments 1000 bytes LogicSigMaxSize
Max cost of TEAL code 20000 LogicSigMaxCost

Smart Contract Parameters

Name Value Variable Note
Current Max AVM/TEAL Version 12 LogicSigVersion Available in consensus v41/AVM v12
Page size of compiled approval + clear TEAL code 2048 bytes MaxAppProgramLen by default, each application has a single page
Max extra app pages 3 MaxExtraAppProgramPages an application can “pay” for additional pages via minimum balance
Max cost of approval TEAL code 700 MaxAppProgramCost
Max cost of clear TEAL code 700 MaxAppProgramCost
Max number of scratch variables 256 -
Max depth of stack 1000 MaxStackDepth
Max number of arguments 16 MaxAppArgs
Max combined size of arguments 2048 bytes MaxAppTotalArgLen
Max number of global state keys 64 MaxGlobalSchemaEntries
Max number of local state keys 16 MaxLocalSchemaEntries
Max number of log messages 32 MaxLogCalls
Max size of log messages 1024 MaxLogSize
Max key size 64 bytes MaxAppKeyLen
Max []byte value size 128 bytes MaxAppBytesValueLen
Max key + value size 128 bytes MaxAppSumKeyValueLens
Max number of foreign accounts 8 MaxAppTxnAccounts
Max number of access list entries 16 MaxAppAccess
Max number of foreign ASAs 8 MaxAppTxnForeignAssets
Max number of foreign applications 8 MaxAppTxnForeignApps
Max number of foreign accounts + ASAs + applications + box storage 8 MaxAppTotalTxnReferences
Max number of created applications Unlimited MaxAppsCreated
Max number of opt-in applications Unlimited MaxAppsOptedIn
App Version Auto-incrementing AppVersion Incremented each time approval or clear program changes
Reject Version uint64 RejectVersion Application version for which the txn must reject

Box Parameters

Name Value Variable Note
Max size of box 32768 MaxBoxSize Does not include name/key length, which is capped at 64 bytes by MaxAppKeyLen
Max box references 8 MaxAppBoxReferences
Bytes per Box reference 2048 BytesPerBoxReference
Max box key size 64 bytes MaxAppKeyLen