Parameters - Algorand Specifications
Keyboard shortcuts
Press ← or → to navigate between chapters
Press S or / to search in the book
Press ? to show this help
Press Esc to hide this help
- Auto
- Light
- Dark
Algorand Specifications
The Algorand Ledger is parameterized by the values in the following tables.
For each parameter, the tables provide the reference implementation name and the last update version, to facilitate the match of the specifications and the implementation.
| Parameter | Current Value | Unit | Description | Reference Implementation Name | Last Update Version |
|---|---|---|---|---|---|
| BmaxBmax | 5,242,8805,242,880 | bytes | Maximum number of transaction bytes in a block | MaxTxnBytesPerBlock |
v33 |
| ΔtmaxΔtmax | 2525 | seconds | Maximum difference between successive timestamps | MaxTimestampIncrement |
v7 |
| VmaxVmax | 128128 | bytes | Maximum length of protocol version strings | MaxVersionStringLen |
v12 |
| BNe,maxBNe,max | 3232 | Maximum number of expired participation accounts in block header | MaxProposedExpiredOnlineAccounts |
v31 | |
| BNa,maxBNa,max | 3232 | Maximum number of suspended participation accounts in block header | Payout.MaxMarkAbsent |
v40 |
| Parameter | Current Value | Unit | Description | Reference Implementation Name | Last Update Version |
|---|---|---|---|---|---|
| Bb,baseBb,base | 10,000,00010,000,000 | μALGO | Bonus to be paid when block rewards first applies | Bonus.BaseAmount |
v40 |
| Bb,startBb,start | round | Earliest round block rewards can apply | Bonus.BaseRound |
v40 | |
| Bb,decayBb,decay | 1,000,0001,000,000 | rounds | Time in rounds between 1% decays of the block rewards bonus component | Bonus.DecayInterval |
v40 |
| hbbitshbbits | 55 | bits | Frequency of online account challenges, about hbr×2hbbitshbr×2hbbits rounds | Payouts.ChallengeBits |
v40 |
| hbgracehbgrace | 200200 | rounds | Active challenge round lookback for the response interval [r−2hbgrace,r−hbgrace] | Payouts.ChallengeGracePeriod |
v40 |
| hbrhbr | 1,0001,000 | rounds | Online account challenges interval, it defines the challenges frequency | Payouts.ChallengeInterval |
v40 |
| Bp,feeBp,fee | 2,000,0002,000,000 | μALGO | Minimum keyreg transaction fee to be eligible for block rewards |
Payouts.GoOnlineFee |
v40 |
| Ar,maxAr,max | 70,000,000,000,00070,000,000,000,000 | μALGO | Maximum balance an account can have to be eligible for block rewards | Payouts.MaxBalance |
v40 |
| Ar,minAr,min | 30,000,000,00030,000,000,000 | μALGO | Minimum balance an account must have to be eligible for block rewards | Payouts.MinBalance |
v40 |
| Bp,%Bp,% | 5050 | % | Percent of fees paid in a block that go to the proposer instead of the FeeSink | Payouts.Percent |
v40 |
| UrUr | 1,000,0001,000,000 | μALGO | Size of an earning unit | RewardUnit |
v7 |
| ωrωr | 500,000500,000 | rounds | Rate at which the reward rate is refreshed | RewardsRateRefreshInterval |
v7 |
| Parameter | Current Value | Unit | Description | Reference Implementation Name | Last Update Version |
|---|---|---|---|---|---|
| δxδx | 140,000140,000 | rounds | Default number of rounds needed to prepare for an upgrade | DefaultUpgradeWaitRounds |
v20 |
| δxmaxδxmax | 250,000250,000 | rounds | Maximum number of rounds needed to prepare for an upgrade | MaxUpgradeWaitRounds |
v39 |
| δxminδxmin | 10,00010,000 | rounds | Minimum number of rounds needed to prepare for an upgrade | MinUpgradeWaitRounds |
v22 |
| ττ | 9,0009,000 | Number of votes needed to execute an upgrade | UpgradeThreshold |
v7 | |
| δdδd | 10,00010,000 | rounds | Number of rounds over which an upgrade proposal is open | UpgradeVoteRounds |
v7 |
| Parameter | Current Value | Unit | Description | Reference Implementation Name | Last Update Version |
|---|---|---|---|---|---|
| δSPδSP | 256256 | rounds | Number of rounds between state proofs | StateProofInterval |
v34 |
| ISPISP | 1010 | Number of state proof intervals that the network will try to catch-up with | StateProofMaxRecoveryIntervals |
v34 | |
| KQSPKQSP | 256256 | bits | Security parameter for State Proof | StateProofStrengthTarget |
v34 |
| NSPNSP | 1,0241,024 | Maximum number of online accounts included in the vector commitment of state proofs participants | StateProofTopVoters |
v34 | |
| δSP,bδSP,b | 1616 | rounds | Delay in rounds for online participant information committed to in the block header for State Proof | StateProofVotersLookback |
v34 |
| fSPfSP | 232×30100232×30100 | Fraction of participants proven to have signed by a State Proof | StateProofWeightThreshold |
v34 |
| Parameter | Current Value | Unit | Description | Reference Implementation Name | Last Update Version |
|---|---|---|---|---|---|
| TxTailmaxTxTailmax | 1,0001,000 | Length of the Transaction Tail | |||
| KΔr,maxKΔr,max | 16,777,21516,777,215 | rounds | Maximum voting range in a keyreg transaction, defined as (256×216)−1 |
MaxKeyregValidPeriod |
v31 |
| GTmaxGTmax | 1616 | txn | Maximum number of transactions allowed in a group | MaxTxGroupSize |
v18 |
| TΔr,maxTΔr,max | 1,0001,000 | rounds | Maximum difference between last valid and first valid round, defines transaction lifespan in the pool | MaxTxnLife |
v7 |
| Tfee,minTfee,min | 1,0001,000 | μALGO | Minimum processing fee for any transaction | MinTxnFee |
v7 |
| Tm,maxTm,max | 1,0241,024 | bytes | Maximum length of a transaction note field | MaxTxnNoteBytes |
v7 |
| Parameter | Current Value | Unit | Description | Reference Implementation Name | Last Update Version |
|---|---|---|---|---|---|
| KeyDilutionKeyDilution | 10,00010,000 | rounds | Granularity of top-level ephemeral keys, equal to the number of second-level keys in each batch | DefaultKeyDilution |
v7 |
| bminbmin | 100,000100,000 | μALGO | Minimum balance requirement (MBR) for an account | MinBalance |
v9 |
| AccAsa,maxAccAsa,max | 00 (unlimited) | Maximum number of assets per account | MaxAssetsPerAccount |
v32 | |
| AccApp,maxAccApp,max | 00 (unlimited) | Maximum number of applications created per account | MaxAppsCreated |
v32 | |
| AccApp,optin,maxAccApp,optin,max | 00 (unlimited) | Maximum number of applications opted-in per account | MaxAppsOptedIn |
v32 | |
| MBRmaxMBRmax | 00 (unlimited) | μALGO | Maximum MBR of an account | MaximumMinimumBalance |
v32 |
| Parameter | Current Value | Unit | Description | Reference Implementation Name | Last Update Version |
|---|---|---|---|---|---|
| Asad,maxAsad,max | 1919 | Maximum decimal precision of the asset supply | MaxAssetDecimals |
v20 | |
| Asan,maxAsan,max | 3232 | bytes | Maximum length of asset name | MaxAssetNameBytes |
v18 |
| Asau,maxAsau,max | 88 | bytes | Maximum length of asset unit (symbol) | MaxAssetUnitNameBytes |
v18 |
| Asar,maxAsar,max | 9696 | bytes | Maximum length of asset URL | MaxAssetURLBytes |
v28 |
| Parameter | Current Value | Unit | Description | Reference Implementation Name | Last Update Version |
|---|---|---|---|---|---|
| LSigc,maxLSigc,max | 20,00020,000 | opcodes | Maximum opcode cost for LSig | LogicSigMaxCost |
v18 |
| LSigmaxLSigmax | 1,0001,000 | bytes | Maximum combined length of LSig program and LSig arguments | LogicSigMaxSize |
v18 |
| Parameter | Current Value | Unit | Description | Reference Implementation Name | Last Update Version |
|---|---|---|---|---|---|
| Appoptin,bminAppoptin,bmin | 100,000100,000 | μALGO | MBR for opting in to a single application | AppFlatOptInMinBalance |
v24 |
| Appcreate,bminAppcreate,bmin | 100,000100,000 | μALGO | MBR for creating a single application | AppFlatParamsMinBalance |
v24 |
| Boxbyte,bminBoxbyte,bmin | 400400 | μALGO / byte | MBR per byte of box storage | BoxByteMinBalance |
v36 |
| Boxflat,bminBoxflat,bmin | 2,5002,500 | μALGO | MBR per box created | BoxFlatMinBalance |
v36 |
| BoxIOBoxIO | 2,0482,048 | bytes | Box read and write payload per reference | BytesPerBoxReference |
v41 |
| BoxmaxBoxmax | 32,76832,768 | bytes | Maximum size of a box | MaxBoxSize |
v36 |
| Apparg,maxApparg,max | 1616 | Maximum number of arguments for an appl transaction |
MaxAppArgs |
v24 | |
| AppBox,maxAppBox,max | 88 | Maximum number of box references for an appl transaction |
MaxAppBoxReferences |
v36 | |
| Appv,maxAppv,max | 128128 | bytes | Maximum length of a bytes value used in an application’s state | MaxAppBytesValueLen |
v28 |
| Appk,maxAppk,max | 6464 | bytes | Maximum length of a key used in an application’s state | MaxAppKeyLen |
v24 |
| Appc,maxAppc,max | 700700 | opcodes | Maximum cost of application Approval or ClearState application program | MaxAppProgramCost |
v24 |
| Appprog,maxAppprog,max | 2,0482,048 | bytes | Maximum length of application Approval or ClearState program page | MaxAppProgramLen |
v28 |
| Appkv,maxAppkv,max | 128128 | bytes | Maximum sum of the lengths of the key and value of one app state entry | MaxAppSumKeyValueLens |
v28 |
| Appay,maxAppay,max | 2,0482,048 | bytes | Maximum sum of the lengths of argument for an appl transaction |
MaxAppTotalArgLen |
v24 |
| Appprog,t,maxAppprog,t,max | 2,0482,048 | bytes | Maximum combined length of application Approval and ClearState programs | MaxAppTotalProgramLen |
v24 |
| Appr,maxAppr,max | 88 | Maximum number of references for an appl transaction |
MaxAppTotalTxnReferences |
v24 | |
| Appacc,maxAppacc,max | 88 | Maximum number of account references for an appl transaction |
MaxAppTxnAccounts |
v41 | |
| Appapp,maxAppapp,max | 88 | Maximum number of application references for an appl transaction |
MaxAppTxnForeignApps |
v28 | |
| Appasa,maxAppasa,max | 88 | Maximum number of asset references for an appl transaction |
MaxAppTxnForeignAssets |
v28 | |
| Appaccess,maxAppaccess,max | 1616 | Maximum number of resources access list for an appl transaction |
MaxAppAccess |
v41 | |
| Apppage,maxApppage,max | 33 | Maximum extra length for application program in pages | MaxExtraAppProgramPages |
v28 | |
| AppGS,maxAppGS,max | 6464 | Maximum number of key/value pairs of application global state | MaxGlobalSchemaEntries |
v24 | |
| AppLS,maxAppLS,max | 1616 | Maximum number of key/value pairs of application local state | MaxLocalSchemaEntries |
v24 | |
| AppitxnAppitxn | 1616 | txn | Maximum number of inner transactions for an appl transaction |
MaxInnerTransactions |
v30 |
| Appb,bminAppb,bmin | 25,00025,000 | μALGO | Additional MBR for []bytes values in application state |
SchemaBytesMinBalance |
v24 |
| Apps,bminApps,bmin | 25,00025,000 | μALGO | MBR for key-value pair in application state | SchemaMinBalancePerEntry |
v24 |
| Appu,bminAppu,bmin | 35,0035,00 | μALGO | Additional MBR for uint64 values in application state |
SchemaUintMinBalance |
v24 |
- KQSP=256 is the value set for State Proofs of type 00. Other types of State Proofs might be added in the future. KQSP=targetPQ is set to achieve post-quantum security for State Proof. For further details, refer to the State Proofs normative specification.