Skip to content

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

ParameterValueVariableNote
Default0.1 AlgoMinBalance
Opt-in ASA0.1 AlgoMinBalance
Created ASA0.1 AlgoMinBalanceASA creator is automatically opted in

Minimum Balance Requirements for Smart Contracts

NameValueVariableNote
Per page application creation fee0.1 AlgoAppFlatParamsMinBalance
Flat for application opt-in0.1 AlgoAppFlatOptInMinBalance
Per state entry0.025 AlgoSchemaMinBalancePerEntry
Addition per integer entry0.0035 AlgoSchemaUintMinBalance
Addition per byte slice entry0.025 AlgoSchemaBytesMinBalance
Per Box created0.0025 AlgoBoxFlatMinBalance
Per byte in box created0.0004 AlgoBoxByteMinBalanceIncludes the length of the key

Transaction Parameters

NameValueVariableNote
Minimum transaction fee, in all cases0.001 AlgoMinTxnFee
Additional minimum constraint if congestedAdditional fee per byte-
Max number of transactions in a group16MaxTxGroupSize
Max number of inner transactions256MaxInnerTransactionsEach transaction allows 16 inner transactions, multiplied by MaxTxGroupSize (16) through inner transaction pooling.
Maximum size of a block5000000 bytesMaxTxnBytesPerBlock
Maximum size of note1024 bytesMaxTxnNoteBytes
Maximum transaction life1000 roundsMaxTxnLife

ASA Parameters

NameValueVariableNote
Max number of ASAs (create and opt-in)UnlimitedMaxAssetsPerAccount
Max asset name size32 bytesMaxAssetNameBytes
Max unit name size8 bytesMaxAssetUnitNameBytes
Max URL size96 bytesMaxAssetURLBytes
Metadata hash32 bytesPadded with zeros if shorter than 32 bytes

Smart Signature Parameters

NameValueVariableNote
Max size of compiled TEAL code combined with arguments1000 bytesLogicSigMaxSize
Max cost of TEAL code20000LogicSigMaxCost

Smart Contract Parameters

NameValueVariableNote
Page size of compiled approval + clear TEAL code2048 bytesMaxAppProgramLenby default, each application has a single page
Max extra app pages3MaxExtraAppProgramPagesan application can “pay” for additional pages via minimum balance
Max cost of approval TEAL code700MaxAppProgramCost
Max cost of clear TEAL code700MaxAppProgramCost
Max number of scratch variables256
Max depth of stack1000MaxStackDepth
Max number of arguments16MaxAppArgs
Max combined size of arguments2048 bytesMaxAppTotalArgLen
Max number of global state keys64MaxGlobalSchemaEntries
Max number of local state keys16MaxLocalSchemaEntries
Max number of log messages32MaxLogCalls
Max size of log messages1024MaxLogSize
Max key size64 bytesMaxAppKeyLen
Max []byte value size128 bytesMaxAppBytesValueLen
Max key + value size128 bytesMaxAppSumKeyValueLens
Max number of foreign accounts4MaxAppTxnAccounts
Max number of foreign ASAs8MaxAppTxnForeignAssets
Max number of foreign applications8MaxAppTxnForeignApps
Max number of foreign accounts + ASAs + applications + box storage8MaxAppTotalTxnReferences
Max number of created applicationsUnlimitedMaxAppsCreated
Max number of opt-in applicationsUnlimitedMaxAppsOptedIn

Box Parameters

NameValueVariableNote
Max size of box32768MaxBoxSizeDoes not include name/key length, which is capped at 64 bytes by MaxAppKeyLen
Max box references8MaxAppBoxReferences
Bytes per Box reference1024BytesPerBoxReference
Max box key size64 bytesMaxAppKeyLen