Algorand · Schema
Indexer
JSON Schema definitions extracted from the Indexer OpenAPI specification
BlockchainCryptocurrencyProof-of-StakeDeFiSmart Contracts
JSON Schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "Indexer",
"description": "JSON Schema definitions extracted from the Indexer OpenAPI specification",
"definitions": {
"Account": {
"description": "Account information at a given round.\n\nDefinition:\ndata/basics/userBalance.go : AccountData\n",
"properties": {
"address": {
"description": "the account public key",
"type": "string"
},
"amount": {
"description": "total number of MicroAlgos in the account",
"type": "integer"
},
"amount-without-pending-rewards": {
"description": "specifies the amount of MicroAlgos in the account, without the pending rewards.",
"type": "integer"
},
"apps-local-state": {
"description": "application local data stored in this account.\n\nNote the raw object uses `map[int] -> AppLocalState` for this type.",
"items": {
"$ref": "#/components/schemas/ApplicationLocalState"
},
"type": "array"
},
"apps-total-extra-pages": {
"description": "the sum of all extra application program pages for this account.",
"type": "integer"
},
"apps-total-schema": {
"$ref": "#/components/schemas/ApplicationStateSchema"
},
"assets": {
"description": "assets held by this account.\n\nNote the raw object uses `map[int] -> AssetHolding` for this type.",
"items": {
"$ref": "#/components/schemas/AssetHolding"
},
"type": "array"
},
"auth-addr": {
"description": "The address against which signing should be checked. If empty, the address of the current account is used. This field can be updated in any transaction by setting the RekeyTo field.",
"type": "string",
"x-algorand-format": "Address"
},
"closed-at-round": {
"description": "Round during which this account was most recently closed.",
"type": "integer",
"x-algorand-format": "uint64"
},
"created-apps": {
"description": "parameters of applications created by this account including app global data.\n\nNote: the raw account uses `map[int] -> AppParams` for this type.",
"items": {
"$ref": "#/components/schemas/Application"
},
"type": "array"
},
"created-assets": {
"description": "parameters of assets created by this account.\n\nNote: the raw account uses `map[int] -> Asset` for this type.",
"items": {
"$ref": "#/components/schemas/Asset"
},
"type": "array"
},
"created-at-round": {
"description": "Round during which this account first appeared in a transaction.",
"type": "integer",
"x-algorand-format": "uint64"
},
"deleted": {
"description": "Whether or not this account is currently closed.",
"type": "boolean"
},
"incentive-eligible": {
"description": "can the account receive block incentives if its balance is in range at proposal time.",
"type": "boolean"
},
"last-heartbeat": {
"description": "The round in which this account last went online, or explicitly renewed their online status.",
"type": "integer"
},
"last-proposed": {
"description": "The round in which this account last proposed the block.",
"type": "integer"
},
"min-balance": {
"description": "MicroAlgo balance required by the account.\n\nThe requirement grows based on asset and application usage.",
"type": "integer"
},
"participation": {
"$ref": "#/components/schemas/AccountParticipation"
},
"pending-rewards": {
"description": "amount of MicroAlgos of pending rewards in this account.",
"type": "integer"
},
"reward-base": {
"description": "used as part of the rewards computation. Only applicable to accounts which are participating.",
"type": "integer"
},
"rewards": {
"description": "total rewards of MicroAlgos the account has received, including pending rewards.",
"type": "integer"
},
"round": {
"description": "The round for which this information is relevant.",
"type": "integer"
},
"sig-type": {
"description": "the type of signature used by this account, must be one of:\n* sig\n* msig\n* lsig\n* or null if unknown",
"enum": [
"sig",
"msig",
"lsig"
],
"type": "string"
},
"status": {
"description": "voting status of the account's MicroAlgos\n* Offline - indicates that the associated account is delegated.\n* Online - indicates that the associated account used as part of the delegation pool.\n* NotParticipating - indicates that the associated account is neither a delegator nor a delegate.",
"type": "string"
},
"total-apps-opted-in": {
"description": "The count of all applications that have been opted in, equivalent to the count of application local data (AppLocalState objects) stored in this account.",
"type": "integer"
},
"total-assets-opted-in": {
"description": "The count of all assets that have been opted in, equivalent to the count of AssetHolding objects held by this account.",
"type": "integer"
},
"total-box-bytes": {
"description": "For app-accounts only. The total number of bytes allocated for the keys and values of boxes which belong to the associated application.",
"type": "integer"
},
"total-boxes": {
"description": "For app-accounts only. The total number of boxes which belong to the associated application.",
"type": "integer"
},
"total-created-apps": {
"description": "The count of all apps (AppParams objects) created by this account.",
"type": "integer"
},
"total-created-assets": {
"description": "The count of all assets (AssetParams objects) created by this account.",
"type": "integer"
}
},
"required": [
"address",
"amount",
"amount-without-pending-rewards",
"min-balance",
"pending-rewards",
"rewards",
"round",
"status",
"total-apps-opted-in",
"total-assets-opted-in",
"total-box-bytes",
"total-boxes",
"total-created-apps",
"total-created-assets"
],
"type": "object"
},
"AccountParticipation": {
"description": "AccountParticipation describes the parameters used by this account in consensus protocol.",
"properties": {
"selection-participation-key": {
"description": "Selection public key (if any) currently registered for this round.",
"format": "byte",
"pattern": "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$",
"type": "string"
},
"state-proof-key": {
"description": "Root of the state proof key (if any)",
"format": "byte",
"pattern": "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$",
"type": "string"
},
"vote-first-valid": {
"description": "First round for which this participation is valid.",
"type": "integer"
},
"vote-key-dilution": {
"description": "Number of subkeys in each batch of participation keys.",
"type": "integer"
},
"vote-last-valid": {
"description": "Last round for which this participation is valid.",
"type": "integer"
},
"vote-participation-key": {
"description": "root participation public key (if any) currently registered for this round.",
"format": "byte",
"pattern": "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$",
"type": "string"
}
},
"required": [
"selection-participation-key",
"vote-first-valid",
"vote-key-dilution",
"vote-last-valid",
"vote-participation-key"
],
"type": "object"
},
"AccountStateDelta": {
"description": "Application state delta.",
"properties": {
"address": {
"type": "string"
},
"delta": {
"$ref": "#/components/schemas/StateDelta"
}
},
"required": [
"address",
"delta"
],
"type": "object"
},
"Application": {
"description": "Application index and its parameters",
"properties": {
"created-at-round": {
"description": "Round when this application was created.",
"type": "integer",
"x-algorand-format": "uint64"
},
"deleted": {
"description": "Whether or not this application is currently deleted.",
"type": "boolean"
},
"deleted-at-round": {
"description": "Round when this application was deleted.",
"type": "integer",
"x-algorand-format": "uint64"
},
"id": {
"description": "application index.",
"type": "integer"
},
"params": {
"$ref": "#/components/schemas/ApplicationParams"
}
},
"required": [
"id",
"params"
],
"type": "object"
},
"ApplicationLocalState": {
"description": "Stores local state associated with an application.",
"properties": {
"closed-out-at-round": {
"description": "Round when account closed out of the application.",
"type": "integer",
"x-algorand-format": "uint64"
},
"deleted": {
"description": "Whether or not the application local state is currently deleted from its account.",
"type": "boolean"
},
"id": {
"description": "The application which this local state is for.",
"type": "integer"
},
"key-value": {
"$ref": "#/components/schemas/TealKeyValueStore"
},
"opted-in-at-round": {
"description": "Round when the account opted into the application.",
"type": "integer",
"x-algorand-format": "uint64"
},
"schema": {
"$ref": "#/components/schemas/ApplicationStateSchema"
}
},
"required": [
"id",
"schema"
],
"type": "object"
},
"ApplicationLogData": {
"description": "Stores the global information associated with an application.",
"properties": {
"logs": {
"description": "Logs for the application being executed by the transaction.",
"items": {
"format": "byte",
"pattern": "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$",
"type": "string"
},
"type": "array"
},
"txid": {
"description": "Transaction ID",
"type": "string"
}
},
"required": [
"logs",
"txid"
],
"type": "object"
},
"ApplicationParams": {
"description": "Stores the global information associated with an application.",
"properties": {
"approval-program": {
"description": "approval program.",
"format": "byte",
"pattern": "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$",
"type": "string",
"x-algorand-format": "TEALProgram"
},
"clear-state-program": {
"description": "clear state program.",
"format": "byte",
"pattern": "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$",
"type": "string",
"x-algorand-format": "TEALProgram"
},
"creator": {
"description": "The address that created this application. This is the address where the parameters and global state for this application can be found.",
"type": "string",
"x-algorand-format": "Address"
},
"extra-program-pages": {
"description": "the number of extra program pages available to this app.",
"type": "integer"
},
"global-state": {
"$ref": "#/components/schemas/TealKeyValueStore"
},
"global-state-schema": {
"$ref": "#/components/schemas/ApplicationStateSchema"
},
"local-state-schema": {
"$ref": "#/components/schemas/ApplicationStateSchema"
},
"version": {
"description": "the number of updates to the application programs",
"type": "integer"
}
},
"required": [
"approval-program",
"clear-state-program"
],
"type": "object"
},
"ApplicationStateSchema": {
"description": "Specifies maximums on the number of each type that may be stored.",
"properties": {
"num-byte-slice": {
"description": "number of byte slices.",
"type": "integer"
},
"num-uint": {
"description": "number of uints.",
"type": "integer"
}
},
"required": [
"num-byte-slice",
"num-uint"
],
"type": "object"
},
"Asset": {
"description": "Specifies both the unique identifier and the parameters for an asset",
"properties": {
"created-at-round": {
"description": "Round during which this asset was created.",
"type": "integer",
"x-algorand-format": "uint64"
},
"deleted": {
"description": "Whether or not this asset is currently deleted.",
"type": "boolean"
},
"destroyed-at-round": {
"description": "Round during which this asset was destroyed.",
"type": "integer",
"x-algorand-format": "uint64"
},
"index": {
"description": "unique asset identifier",
"type": "integer"
},
"params": {
"$ref": "#/components/schemas/AssetParams"
}
},
"required": [
"index",
"params"
],
"type": "object"
},
"AssetHolding": {
"description": "Describes an asset held by an account.\n\nDefinition:\ndata/basics/userBalance.go : AssetHolding",
"properties": {
"amount": {
"description": "number of units held.",
"type": "integer",
"x-algorand-format": "uint64"
},
"asset-id": {
"description": "Asset ID of the holding.",
"type": "integer"
},
"deleted": {
"description": "Whether or not the asset holding is currently deleted from its account.",
"type": "boolean"
},
"is-frozen": {
"description": "whether or not the holding is frozen.",
"type": "boolean"
},
"opted-in-at-round": {
"description": "Round during which the account opted into this asset holding.",
"type": "integer",
"x-algorand-format": "uint64"
},
"opted-out-at-round": {
"description": "Round during which the account opted out of this asset holding.",
"type": "integer",
"x-algorand-format": "uint64"
}
},
"required": [
"amount",
"asset-id",
"is-frozen"
],
"type": "object"
},
"AssetParams": {
"description": "AssetParams specifies the parameters for an asset.\n\n\\[apar\\] when part of an AssetConfig transaction.\n\nDefinition:\ndata/transactions/asset.go : AssetParams",
"properties": {
"clawback": {
"description": "Address of account used to clawback holdings of this asset. If empty, clawback is not permitted.",
"type": "string"
},
"creator": {
"description": "The address that created this asset. This is the address where the parameters for this asset can be found, and also the address where unwanted asset units can be sent in the worst case.",
"type": "string"
},
"decimals": {
"description": "The number of digits to use after the decimal point when displaying this asset. If 0, the asset is not divisible. If 1, the base unit of the asset is in tenths. If 2, the base unit of the asset is in hundredths, and so on. This value must be between 0 and 19 (inclusive).",
"maximum": 19,
"minimum": 0,
"type": "integer"
},
"default-frozen": {
"description": "Whether holdings of this asset are frozen by default.",
"type": "boolean"
},
"freeze": {
"description": "Address of account used to freeze holdings of this asset. If empty, freezing is not permitted.",
"type": "string"
},
"manager": {
"description": "Address of account used to manage the keys of this asset and to destroy it.",
"type": "string"
},
"metadata-hash": {
"description": "A commitment to some unspecified asset metadata. The format of this metadata is up to the application.",
"format": "byte",
"pattern": "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$",
"type": "string"
},
"name": {
"description": "Name of this asset, as supplied by the creator. Included only when the asset name is composed of printable utf-8 characters.",
"type": "string"
},
"name-b64": {
"description": "Base64 encoded name of this asset, as supplied by the creator.",
"format": "byte",
"pattern": "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$",
"type": "string"
},
"reserve": {
"description": "Address of account holding reserve (non-minted) units of this asset.",
"type": "string"
},
"total": {
"description": "The total number of units of this asset.",
"type": "integer",
"x-algorand-format": "uint64"
},
"unit-name": {
"description": "Name of a unit of this asset, as supplied by the creator. Included only when the name of a unit of this asset is composed of printable utf-8 characters.",
"type": "string"
},
"unit-name-b64": {
"description": "Base64 encoded name of a unit of this asset, as supplied by the creator.",
"format": "byte",
"pattern": "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$",
"type": "string"
},
"url": {
"description": "URL where more information about the asset can be retrieved. Included only when the URL is composed of printable utf-8 characters.",
"type": "string"
},
"url-b64": {
"description": "Base64 encoded URL where more information about the asset can be retrieved.",
"format": "byte",
"pattern": "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$",
"type": "string"
}
},
"required": [
"creator",
"decimals",
"total"
],
"type": "object"
},
"Block": {
"description": "Block information.\n\nDefinition:\ndata/bookkeeping/block.go : Block",
"properties": {
"bonus": {
"description": "the potential bonus payout for this block.",
"type": "integer"
},
"fees-collected": {
"description": "the sum of all fees paid by transactions in this block.",
"type": "integer"
},
"genesis-hash": {
"description": "\\[gh\\] hash to which this block belongs.",
"format": "byte",
"pattern": "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$",
"type": "string"
},
"genesis-id": {
"description": "\\[gen\\] ID to which this block belongs.",
"type": "string"
},
"participation-updates": {
"$ref": "#/components/schemas/ParticipationUpdates"
},
"previous-block-hash": {
"description": "\\[prev\\] Previous block hash.",
"format": "byte",
"pattern": "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$",
"type": "string"
},
"previous-block-hash-512": {
"description": "\\[prev512\\] Previous block hash, using SHA-512.",
"format": "byte",
"pattern": "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$",
"type": "string"
},
"proposer": {
"description": "the proposer of this block.",
"type": "string",
"x-algorand-format": "Address"
},
"proposer-payout": {
"description": "the actual amount transferred to the proposer from the fee sink.",
"type": "integer"
},
"rewards": {
"$ref": "#/components/schemas/BlockRewards"
},
"round": {
"description": "\\[rnd\\] Current round on which this block was appended to the chain.",
"type": "integer"
},
"seed": {
"description": "\\[seed\\] Sortition seed.",
"format": "byte",
"pattern": "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$",
"type": "string"
},
"state-proof-tracking": {
"description": "Tracks the status of state proofs.",
"items": {
"$ref": "#/components/schemas/StateProofTracking"
},
"type": "array"
},
"timestamp": {
"description": "\\[ts\\] Block creation timestamp in seconds since eposh",
"type": "integer"
},
"transactions": {
"description": "\\[txns\\] list of transactions corresponding to a given round.",
"items": {
"$ref": "#/components/schemas/Transaction"
},
"type": "array"
},
"transactions-root": {
"description": "\\[txn\\] TransactionsRoot authenticates the set of transactions appearing in the block. More specifically, it's the root of a merkle tree whose leaves are the block's Txids, in lexicographic order. For the empty block, it's 0. Note that the TxnRoot does not authenticate the signatures on the transactions, only the transactions themselves. Two blocks with the same transactions but in a different order and with different signatures will have the same TxnRoot.",
"format": "byte",
"pattern": "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$",
"type": "string"
},
"transactions-root-sha256": {
"description": "\\[txn256\\] TransactionsRootSHA256 is an auxiliary TransactionRoot, built using a vector commitment instead of a merkle tree, and SHA256 hash function instead of the default SHA512_256. This commitment can be used on environments where only the SHA256 function exists.",
"format": "byte",
"pattern": "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$",
"type": "string"
},
"transactions-root-sha512": {
"description": "\\[txn512\\] TransactionsRootSHA512 is an auxiliary TransactionRoot, built using a vector commitment instead of a merkle tree, and SHA512 hash function instead of the default SHA512_256.",
"format": "byte",
"pattern": "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$",
"type": "string"
},
"txn-counter": {
"description": "\\[tc\\] TxnCounter counts the number of transactions committed in the ledger, from the time at which support for this feature was introduced.\n\nSpecifically, TxnCounter is the number of the next transaction that will be committed after this block. It is 0 when no transactions have ever been committed (since TxnCounter started being supported).",
"type": "integer"
},
"upgrade-state": {
"$ref": "#/components/schemas/BlockUpgradeState"
},
"upgrade-vote": {
"$ref": "#/components/schemas/BlockUpgradeVote"
}
},
"required": [
"genesis-hash",
"genesis-id",
"previous-block-hash",
"round",
"seed",
"timestamp",
"transactions-root",
"transactions-root-sha256"
],
"type": "object"
},
"BlockRewards": {
"description": "Fields relating to rewards,",
"properties": {
"fee-sink": {
"description": "\\[fees\\] accepts transaction fees, it can only spend to the incentive pool.",
"type": "string"
},
"rewards-calculation-round": {
"description": "\\[rwcalr\\] number of leftover MicroAlgos after the distribution of rewards-rate MicroAlgos for every reward unit in the next round.",
"type": "integer"
},
"rewards-level": {
"description": "\\[earn\\] How many rewards, in MicroAlgos, have been distributed to each RewardUnit of MicroAlgos since genesis.",
"type": "integer"
},
"rewards-pool": {
"description": "\\[rwd\\] accepts periodic injections from the fee-sink and continually redistributes them as rewards.",
"type": "string"
},
"rewards-rate": {
"description": "\\[rate\\] Number of new MicroAlgos added to the participation stake from rewards at the next round.",
"type": "integer"
},
"rewards-residue": {
"description": "\\[frac\\] Number of leftover MicroAlgos after the distribution of RewardsRate/rewardUnits MicroAlgos for every reward unit in the next round.",
"type": "integer"
}
},
"required": [
"fee-sink",
"rewards-calculation-round",
"rewards-level",
"rewards-pool",
"rewards-rate",
"rewards-residue"
],
"type": "object"
},
"BlockUpgradeState": {
"description": "Fields relating to a protocol upgrade.",
"properties": {
"current-protocol": {
"description": "\\[proto\\] The current protocol version.",
"type": "string"
},
"next-protocol": {
"description": "\\[nextproto\\] The next proposed protocol version.",
"type": "string"
},
"next-protocol-approvals": {
"description": "\\[nextyes\\] Number of blocks which approved the protocol upgrade.",
"type": "integer"
},
"next-protocol-switch-on": {
"description": "\\[nextswitch\\] Round on which the protocol upgrade will take effect.",
"type": "integer"
},
"next-protocol-vote-before": {
"description": "\\[nextbefore\\] Deadline round for this protocol upgrade (No votes will be consider after this round).",
"type": "integer"
}
},
"required": [
"current-protocol"
],
"type": "object"
},
"BlockUpgradeVote": {
"description": "Fields relating to voting for a protocol upgrade.",
"properties": {
"upgrade-approve": {
"description": "\\[upgradeyes\\] Indicates a yes vote for the current proposal.",
"type": "boolean"
},
"upgrade-delay": {
"description": "\\[upgradedelay\\] Indicates the time between acceptance and execution.",
"type": "integer"
},
"upgrade-propose": {
"description": "\\[upgradeprop\\] Indicates a proposed upgrade.",
"type": "string"
}
},
"type": "object"
},
"Box": {
"description": "Box name and its content.",
"properties": {
"name": {
"description": "\\[name\\] box name, base64 encoded",
"format": "byte",
"pattern": "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$",
"type": "string"
},
"round": {
"description": "The round for which this information is relevant",
"type": "integer"
},
"value": {
"description": "\\[value\\] box value, base64 encoded.",
"format": "byte",
"pattern": "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$",
"type": "string"
}
},
"required": [
"name",
"round",
"value"
],
"type": "object"
},
"BoxDescriptor": {
"description": "Box descriptor describes an app box without a value.",
"properties": {
"name": {
"description": "Base64 encoded box name",
"format": "byte",
"pattern": "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$",
"type": "string"
}
},
"required": [
"name"
],
"type": "object"
},
"BoxReference": {
"description": "BoxReference names a box by its name and the application ID it belongs to.",
"properties": {
"app": {
"description": "Application ID to which the box belongs, or zero if referring to the called application.",
"type": "integer"
},
"name": {
"description": "Base64 encoded box name",
"format": "byte",
"pattern": "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$",
"type": "string"
}
},
"required": [
"app",
"name"
],
"type": "object"
},
"EvalDelta": {
"description": "Represents a TEAL value delta.",
"properties": {
"action": {
"description": "\\[at\\] delta action.",
"type": "integer"
},
"bytes": {
"description": "\\[bs\\] bytes value.",
"type": "string"
},
"uint": {
"description": "\\[ui\\] uint value.",
"type": "integer",
"x-algorand-format": "uint64"
}
},
"required": [
"action"
],
"type": "object"
},
"EvalDeltaKeyValue": {
"description": "Key-value pairs for StateDelta.",
"properties": {
"key": {
"type": "string"
},
"value": {
"$ref": "#/components/schemas/EvalDelta"
}
},
"required": [
"key",
"value"
],
"type": "object"
},
"HashFactory": {
"properties": {
"hash-type": {
"description": "\\[t\\]",
"type": "integer",
"x-algorand-format": "uint16"
}
},
"type": "object"
},
"Hashtype": {
"description": "The type of hash function used to create the proof, must be one of: \n* sha512_256 \n* sha256",
"enum": [
"sha512_256",
"sha256"
],
"type": "string"
},
"HbProofFields": {
"description": "\\[hbprf\\] HbProof is a signature using HeartbeatAddress's partkey, thereby showing it is online.",
"properties": {
"hb-pk": {
"description": "\\[p\\] Public key of the heartbeat message.",
"format": "byte",
"pattern": "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$",
"type": "string"
},
"hb-pk1sig": {
"description": "\\[p1s\\] Signature of OneTimeSignatureSubkeyOffsetID(PK, Batch, Offset) under the key PK2.",
"format": "byte",
"pattern": "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$",
"type": "string"
},
"hb-pk2": {
"description": "\\[p2\\] Key for new-style two-level ephemeral signature.",
"format": "byte",
"pattern": "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$",
"type": "string"
},
"hb-pk2sig": {
"description": "\\[p2s\\] Signature of OneTimeSignatureSubkeyBatchID(PK2, Batch) under the master key (OneTimeSignatureVerifier).",
"format": "byte",
"pattern": "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$",
"type
# --- truncated at 32 KB (67 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/algorand/refs/heads/main/json-schema/algorand-indexer-schema.json