Skip to content

Create Publication

We are looking for publications that demonstrate building dApps or smart contracts!
See the full list of Gitcoin bounties that are eligible for rewards.

algod


Paths

GET /debug/settings/config

Gets the merged config file.

GET /debug/settings/config

Description Returns the merged (defaults + overrides) config file in json.

Responses

HTTP Code Description Schema
200 The merged config file in json. string
default Unknown Error No Content

Produces

  • application/json

Tags

  • private

GET /debug/settings/pprof

Description Retrieves the current settings for blocking and mutex profiles

Responses

HTTP Code Description Schema
200 DebugPprof is the response to the /debug/extra/pprof endpoint DebugSettingsProf

Produces

  • application/json

Tags

  • private

PUT /debug/settings/pprof

Description Enables blocking and mutex profiles, and returns the old settings

Responses

HTTP Code Description Schema
200 DebugPprof is the response to the /debug/extra/pprof endpoint DebugSettingsProf

Produces

  • application/json

Tags

  • private

GET /genesis

Gets the genesis information.

GET /genesis

Description Returns the entire genesis file in json.

Responses

HTTP Code Description Schema
200 The genesis file in json. string
default Unknown Error No Content

Produces

  • application/json

Tags

  • common
  • public

GET /health

Returns OK if healthy.

GET /health

Responses

HTTP Code Description Schema
200 OK. No Content
default Unknown Error No Content

Produces

  • application/json

Tags

  • common
  • public

GET /metrics

Return metrics about algod functioning.

GET /metrics

Responses

HTTP Code Description Schema
200 text with #-comments and key:value lines No Content
404 metrics were compiled out No Content

Produces

  • text/plain

Tags

  • common
  • public

GET /ready

Returns OK if healthy and fully caught up.

GET /ready

Responses

HTTP Code Description Schema
200 OK. No Content
500 Internal Error No Content
503 Node not ready yet No Content
default Unknown Error No Content

Produces

  • application/json

Tags

  • common
  • public

GET /swagger.json

Gets the current swagger spec.

GET /swagger.json

Description Returns the entire swagger spec in json.

Responses

HTTP Code Description Schema
200 The current swagger spec string
default Unknown Error No Content

Produces

  • application/json

Tags

  • common
  • public

GET /v2/accounts/{address}

Get account information.

GET /v2/accounts/{address}

Description Given a specific account public key, this call returns the accounts status, balance and spendable amounts

Parameters

Type Name Description Schema
Path address
required
An account public key string
Query exclude
optional
When set to all will exclude asset holdings, application local state, created asset parameters, any created application parameters. Defaults to none. enum (all, none)
Query format
optional
Configures whether the response object is JSON or MessagePack encoded. If not provided, defaults to JSON. enum (json, msgpack)

Responses

HTTP Code Description Schema
200 AccountResponse wraps the Account type in a response. Account
400 Bad request ErrorResponse
401 Invalid API Token ErrorResponse
500 Internal Error ErrorResponse
default Unknown Error No Content

Produces

  • application/json
  • application/msgpack

Tags

  • nonparticipating
  • public

GET /v2/accounts/{address}/applications/{application-id}

Get account information about a given app.

GET /v2/accounts/{address}/applications/{application-id}

Description Given a specific account public key and application ID, this call returns the account's application local state and global state (AppLocalState and AppParams, if either exists). Global state will only be returned if the provided address is the application's creator.

Parameters

Type Name Description Schema
Path address
required
An account public key string
Path application-id
required
An application identifier integer
Query format
optional
Configures whether the response object is JSON or MessagePack encoded. If not provided, defaults to JSON. enum (json, msgpack)

Responses

HTTP Code Description Schema
200 AccountApplicationResponse describes the account's application local state and global state (AppLocalState and AppParams, if either exists) for a specific application ID. Global state will only be returned if the provided address is the application's creator. Response 200
400 Malformed address or application ID ErrorResponse
401 Invalid API Token ErrorResponse
500 Internal Error ErrorResponse
default Unknown Error No Content

Response 200

Name Description Schema
app-local-state
optional
[appl] the application local data stored in this account.

The raw account uses AppLocalState for this type.
ApplicationLocalState
created-app
optional
[appp] parameters of the application created by this account including app global data.

The raw account uses AppParams for this type.
ApplicationParams
round
required
The round for which this information is relevant. integer

Produces

  • application/json
  • application/msgpack

Tags

  • nonparticipating
  • public

GET /v2/accounts/{address}/assets

Get a list of assets held by an account, inclusive of asset params.

GET /v2/accounts/{address}/assets

Description Lookup an account's asset holdings.

Parameters

Type Name Description Schema
Path address
required
An account public key string
Query limit
optional
Maximum number of results to return. integer
Query next
optional
The next page of results. Use the next token provided by the previous results. string

Responses

HTTP Code Description Schema
200 AccountAssetsInformationResponse contains a list of assets held by an account. Response 200
400 Malformed address ErrorResponse
401 Invalid API Token ErrorResponse
500 Internal Error ErrorResponse
default Unknown Error No Content

Response 200

Name Description Schema
asset-holdings
optional
< AccountAssetHolding > array
next-token
optional
Used for pagination, when making another request provide this token with the next parameter. string
round
required
The round for which this information is relevant. integer

Produces

  • application/json

Tags

  • experimental
  • public

GET /v2/accounts/{address}/assets/{asset-id}

Get account information about a given asset.

GET /v2/accounts/{address}/assets/{asset-id}

Description Given a specific account public key and asset ID, this call returns the account's asset holding and asset parameters (if either exist). Asset parameters will only be returned if the provided address is the asset's creator.

Parameters

Type Name Description Schema
Path address
required
An account public key string
Path asset-id
required
An asset identifier integer
Query format
optional
Configures whether the response object is JSON or MessagePack encoded. If not provided, defaults to JSON. enum (json, msgpack)

Responses

HTTP Code Description Schema
200 AccountAssetResponse describes the account's asset holding and asset parameters (if either exist) for a specific asset ID. Asset parameters will only be returned if the provided address is the asset's creator. Response 200
400 Malformed address or asset ID ErrorResponse
401 Invalid API Token ErrorResponse
500 Internal Error ErrorResponse
default Unknown Error No Content

Response 200

Name Description Schema
asset-holding
optional
[asset] Details about the asset held by this account.

The raw account uses AssetHolding for this type.
AssetHolding
created-asset
optional
[apar] parameters of the asset created by this account.

The raw account uses AssetParams for this type.
AssetParams
round
required
The round for which this information is relevant. integer

Produces

  • application/json
  • application/msgpack

Tags

  • nonparticipating
  • public

GET /v2/accounts/{address}/transactions/pending

Get a list of unconfirmed transactions currently in the transaction pool by address.

GET /v2/accounts/{address}/transactions/pending

Description Get the list of pending transactions by address, sorted by priority, in decreasing order, truncated at the end at MAX. If MAX = 0, returns all pending transactions.

Parameters

Type Name Description Schema
Path address
required
An account public key string
Query format
optional
Configures whether the response object is JSON or MessagePack encoded. If not provided, defaults to JSON. enum (json, msgpack)
Query max
optional
Truncated number of transactions to display. If max=0, returns all pending txns. integer

Responses

HTTP Code Description Schema
200 A potentially truncated list of transactions currently in the node's transaction pool. You can compute whether or not the list is truncated if the number of elements in the top-transactions array is fewer than total-transactions. Response 200
400 Max must be a non-negative integer ErrorResponse
401 Invalid API Token ErrorResponse
500 Internal Error ErrorResponse
503 Service Temporarily Unavailable ErrorResponse
default Unknown Error No Content

Response 200

Name Description Schema
top-transactions
required
An array of signed transaction objects. < object > array
total-transactions
required
Total number of transactions in the pool. integer

Produces

  • application/json
  • application/msgpack

Tags

  • participating
  • public

GET /v2/applications/{application-id}

Get application information.

GET /v2/applications/{application-id}

Description Given a application ID, it returns application information including creator, approval and clear programs, global and local schemas, and global state.

Parameters

Type Name Description Schema
Path application-id
required
An application identifier integer

Responses

HTTP Code Description Schema
200 Application information Application
400 Bad Request ErrorResponse
401 Invalid API Token ErrorResponse
404 Application Not Found ErrorResponse
500 Internal Error ErrorResponse
default Unknown Error No Content

Produces

  • application/json

Tags

  • nonparticipating
  • public

GET /v2/applications/{application-id}/box

Get box information for a given application.

GET /v2/applications/{application-id}/box

Description Given an application ID and box name, it returns the round, box name, and value (each base64 encoded). Box names must be in the goal app call arg encoding form 'encoding:value'. For ints, use the form 'int:1234'. For raw bytes, use the form 'b64:A=='. For printable strings, use the form 'str:hello'. For addresses, use the form 'addr:XYZ...'.

Parameters

Type Name Description Schema
Path application-id
required
An application identifier integer
Query name
required
A box name, in the goal app call arg form 'encoding:value'. For ints, use the form 'int:1234'. For raw bytes, use the form 'b64:A=='. For printable strings, use the form 'str:hello'. For addresses, use the form 'addr:XYZ...'. string

Responses

HTTP Code Description Schema
200 Box information Box
400 Bad Request ErrorResponse
401 Invalid API Token ErrorResponse
404 Box Not Found ErrorResponse
500 Internal Error ErrorResponse
default Unknown Error No Content

Produces

  • application/json

Tags

  • nonparticipating
  • public

GET /v2/applications/{application-id}/boxes

Get all box names for a given application.

GET /v2/applications/{application-id}/boxes

Description Given an application ID, return all Box names. No particular ordering is guaranteed. Request fails when client or server-side configured limits prevent returning all Box names.

Parameters

Type Name Description Schema
Path application-id
required
An application identifier integer
Query max
optional
Max number of box names to return. If max is not set, or max == 0, returns all box-names. integer

Responses

HTTP Code Description Schema
200 Box names of an application Response 200
400 Bad Request ErrorResponse
401 Invalid API Token ErrorResponse
500 Internal Error ErrorResponse
default Unknown Error No Content

Response 200

Name Schema
boxes
required
< BoxDescriptor > array

Produces

  • application/json

Tags

  • nonparticipating
  • public

GET /v2/assets/{asset-id}

Get asset information.

GET /v2/assets/{asset-id}

Description Given a asset ID, it returns asset information including creator, name, total supply and special addresses.

Parameters

Type Name Description Schema
Path asset-id
required
An asset identifier integer

Responses

HTTP Code Description Schema
200 Asset information Asset
400 Bad Request ErrorResponse
401 Invalid API Token ErrorResponse
404 Application Not Found ErrorResponse
500 Internal Error ErrorResponse
default Unknown Error No Content

Produces

  • application/json

Tags

  • nonparticipating
  • public

GET /v2/blocks/{round}

Get the block for the given round.

GET /v2/blocks/{round}

Parameters

Type Name Description Schema
Path round
required
The round from which to fetch block information. integer
Query format
optional
Configures whether the response object is JSON or MessagePack encoded. If not provided, defaults to JSON. enum (json, msgpack)

Responses

HTTP Code Description Schema
200 Encoded block object. Response 200
400 Bad Request - Non integer number ErrorResponse
401 Invalid API Token ErrorResponse
404 None existing block ErrorResponse
500 Internal Error ErrorResponse
default Unknown Error No Content

Response 200

Name Description Schema
block
required
Block header data. object
cert
optional
Optional certificate object. This is only included when the format is set to message pack. object

Produces

  • application/json
  • application/msgpack

Tags

  • nonparticipating
  • public

GET /v2/blocks/{round}/hash

Get the block hash for the block on the given round.

GET /v2/blocks/{round}/hash

Parameters

Type Name Description Schema
Path round
required
The round from which to fetch block hash information. integer

Responses

HTTP Code Description Schema
200 Hash of a block header. Response 200
400 Bad Request - Non integer number ErrorResponse
401 Invalid API Token ErrorResponse
404 None existing block ErrorResponse
500 Internal Error ErrorResponse
default Unknown Error No Content

Response 200

Name Description Schema
blockHash
required
Block header hash. string

Produces

  • application/json

Tags

  • nonparticipating
  • public

GET /v2/blocks/{round}/lightheader/proof

Gets a proof for a given light block header inside a state proof commitment

GET /v2/blocks/{round}/lightheader/proof

Parameters

Type Name Description Schema
Path round
required
The round to which the light block header belongs. integer

Responses

HTTP Code Description Schema
200 Proof of a light block header. LightBlockHeaderProof
401 Invalid API Token ErrorResponse
404 Could not create proof since some data is missing ErrorResponse
408 timed out on request ErrorResponse
500 Internal Error ErrorResponse
503 Service Temporarily Unavailable ErrorResponse
default Unknown Error No Content

Produces

  • application/json

Tags

  • nonparticipating
  • public

GET /v2/blocks/{round}/logs

Get all of the logs from outer and inner app calls in the given round

GET /v2/blocks/{round}/logs

Description Get all of the logs from outer and inner app calls in the given round

Parameters

Type Name Description Schema
Path round
required
The round from which to fetch block log information. integer

Responses

HTTP Code Description Schema
200 All logs emitted in the given round. Each app call, whether top-level or inner, that contains logs results in a separate AppCallLogs object. Therefore there may be multiple AppCallLogs with the same application ID and outer transaction ID in the event of multiple inner app calls to the same app. App calls with no logs are not included in the response. AppCallLogs are returned in the same order that their corresponding app call appeared in the block (pre-order traversal of inner app calls) Response 200
400 Bad Request - Non integer number ErrorResponse
401 Invalid API Token ErrorResponse
404 Nonexistent block ErrorResponse
500 Internal Error ErrorResponse

Response 200

Name Schema
logs
required
< AppCallLogs > array

Produces

  • application/json

Tags

  • nonparticipating
  • public

GET /v2/blocks/{round}/transactions/{txid}/proof

Get a proof for a transaction in a block.

GET /v2/blocks/{round}/transactions/{txid}/proof

Parameters

Type Name Description Schema
Path round
required
The round in which the transaction appears. integer
Path txid
required
The transaction ID for which to generate a proof. string
Query format
optional
Configures whether the response object is JSON or MessagePack encoded. If not provided, defaults to JSON. enum (json, msgpack)
Query hashtype
optional
The type of hash function used to create the proof, must be one of:
* sha512_256
* sha256
enum (sha512_256, sha256)

Responses

HTTP Code Description Schema
200 Proof of transaction in a block. Response 200
400 Malformed round number or transaction ID ErrorResponse
401 Invalid API token ErrorResponse
404 Non-existent block or transaction ErrorResponse
500 Internal error, including protocol not supporting proofs. ErrorResponse
default Unknown error No Content

Response 200

Name Description Schema
hashtype
required
The type of hash function used to create the proof, must be one of:
* sha512_256
* sha256
enum (sha512_256, sha256)
idx
required
Index of the transaction in the block's payset. integer
proof
required
Proof of transaction membership.
Pattern : "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==\|[A-Za-z0-9+/]{3}=)?$"
string (byte)
stibhash
required
Hash of SignedTxnInBlock for verifying proof.
Pattern : "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==\|[A-Za-z0-9+/]{3}=)?$"
string (byte)
treedepth
required
Represents the depth of the tree that is being proven, i.e. the number of edges from a leaf to the root. integer

Produces

  • application/json

Tags

  • nonparticipating
  • public

GET /v2/blocks/{round}/txids

Get the top level transaction IDs for the block on the given round.

GET /v2/blocks/{round}/txids

Parameters

Type Name Description Schema
Path round
required
The round from which to fetch block transaction IDs. integer

Responses

HTTP Code Description Schema
200 Top level transaction IDs in a block. Response 200
400 Bad Request - Non integer number ErrorResponse
401 Invalid API Token ErrorResponse
404 Non existing block ErrorResponse
500 Internal Error ErrorResponse
default Unknown Error No Content

Response 200

Name Description Schema
blockTxids
required
Block transaction IDs. < string > array

Produces

  • application/json

Tags

  • nonparticipating
  • public

POST /v2/catchup/{catchpoint}

Starts a catchpoint catchup.

POST /v2/catchup/{catchpoint}

Description Given a catchpoint, it starts catching up to this catchpoint

Parameters

Type Name Description Schema
Path catchpoint
required
A catch point string (catchpoint)
Query min
optional
Specify the minimum number of blocks which the ledger must be advanced by in order to start the catchup. This is useful for simplifying tools which support fast catchup, they can run the catchup unconditionally and the node will skip the catchup if it is not needed. integer

Responses

HTTP Code Description Schema
200 Response 200
201 Response 201
400 Bad Request ErrorResponse
401 Invalid API Token ErrorResponse
408 Request Timeout ErrorResponse
500 Internal Error ErrorResponse
default Unknown Error No Content

Response 200

Name Description Schema
catchup-message
required
Catchup start response string string

Response 201

Name Description Schema
catchup-message
required
Catchup start response string string

Produces

  • application/json

Tags

  • nonparticipating
  • private

DELETE /v2/catchup/{catchpoint}

Aborts a catchpoint catchup.

DELETE /v2/catchup/{catchpoint}

Description Given a catchpoint, it aborts catching up to this catchpoint

Parameters

Type Name Description Schema
Path catchpoint
required
A catch point string (catchpoint)

Responses

HTTP Code Description Schema
200 Response 200
400 Bad Request ErrorResponse
401 Invalid API Token ErrorResponse
500 Internal Error ErrorResponse
default Unknown Error No Content

Response 200

Name Description Schema
catchup-message
required
Catchup abort response string string

Produces

  • application/json

Tags

  • nonparticipating
  • private

GET /v2/deltas/txn/group/{id}

Get a LedgerStateDelta object for a given transaction group

GET /v2/deltas/txn/group/{id}

Description Get a ledger delta for a given transaction group.

Parameters

Type Name Description Schema
Path id
required
A transaction ID, or transaction group ID string
Query format
optional
Configures whether the response object is JSON or MessagePack encoded. If not provided, defaults to JSON. enum (json, msgpack)

Responses

HTTP Code Description Schema
200 Response containing a ledger state delta for a single transaction group. LedgerStateDelta
401 Invalid API Token ErrorResponse
404 Could not find a delta for transaction ID or group ID ErrorResponse
408 timed out on request ErrorResponse
500 Internal Error ErrorResponse
501 Not Implemented ErrorResponse
default Unknown Error No Content

Produces

  • application/json
  • application/msgpack

Tags

  • nonparticipating
  • public

GET /v2/deltas/{round}

Get a LedgerStateDelta object for a given round

GET /v2/deltas/{round}

Description Get ledger deltas for a round.

Parameters

Type Name Description Schema
Path round
required
The round for which the deltas are desired. integer
Query format
optional
Configures whether the response object is JSON or MessagePack encoded. If not provided, defaults to JSON. enum (json, msgpack)

Responses

HTTP Code Description Schema
200 Contains ledger deltas LedgerStateDelta
401 Invalid API Token ErrorResponse
404 Could not find a delta for round ErrorResponse
408 timed out on request ErrorResponse
500 Internal Error ErrorResponse
503 Service Temporarily Unavailable ErrorResponse
default Unknown Error No Content

Produces

  • application/json
  • application/msgpack

Tags

  • nonparticipating
  • public

GET /v2/deltas/{round}/txn/group

Get LedgerStateDelta objects for all transaction groups in a given round

GET /v2/deltas/{round}/txn/group

Description Get ledger deltas for transaction groups in a given round.

Parameters

Type Name Description Schema
Path round
required
The round for which the deltas are desired. integer
Query format
optional
Configures whether the response object is JSON or MessagePack encoded. If not provided, defaults to JSON. enum (json, msgpack)

Responses

HTTP Code Description Schema
200 Response containing all ledger state deltas for transaction groups, with their associated Ids, in a single round. Response 200
401 Invalid API Token ErrorResponse
404 Could not find deltas for round ErrorResponse
408 timed out on request ErrorResponse
500 Internal Error ErrorResponse
501 Not Implemented ErrorResponse
default Unknown Error No Content

Response 200

Name Schema
Deltas
required
< LedgerStateDeltaForTransactionGroup > array

Produces

  • application/json
  • application/msgpack

Tags

  • nonparticipating
  • public

GET /v2/devmode/blocks/offset

Returns the timestamp offset. Timestamp offsets can only be set in dev mode.

GET /v2/devmode/blocks/offset

Description Gets the current timestamp offset.

Responses

HTTP Code Description Schema
200 Response containing the timestamp offset in seconds Response 200
400 TimeStamp offset not set. ErrorResponse
default Unknown Error No Content

Response 200

Name Description Schema
offset
required
Timestamp offset in seconds. integer

Produces

  • application/json

Tags

  • nonparticipating
  • public

POST /v2/devmode/blocks/offset/{offset}

Given a timestamp offset in seconds, adds the offset to every subsequent block header's timestamp.

POST /v2/devmode/blocks/offset/{offset}

Description Sets the timestamp offset (seconds) for blocks in dev mode. Providing an offset of 0 will unset this value and try to use the real clock for the timestamp.

Parameters

Type Name Description Schema
Path offset
required
The timestamp offset for blocks in dev mode. integer

Responses

HTTP Code Description Schema
200 OK No Content
400 Cannot set timestamp offset to a negative integer. ErrorResponse
401 Invalid API Token ErrorResponse
500 Internal Error ErrorResponse
default Unknown Error No Content

Tags

  • nonparticipating
  • public

GET /v2/experimental

Returns OK if experimental API is enabled.

GET /v2/experimental

Responses

HTTP Code Description Schema
200 Experimental API enabled No Content
404 Experimental API not enabled No Content
default Unknown Error No Content

Produces

  • application/json

Tags

  • experimental
  • public

GET /v2/ledger/supply

Get the current supply reported by the ledger.

GET /v2/ledger/supply

Responses

HTTP Code Description Schema
200 Supply represents the current supply of MicroAlgos in the system. Response 200
401 Invalid API Token ErrorResponse
default Unknown Error No Content

Response 200

Name Description Schema
current_round
required
Round integer
online-money
required
OnlineMoney integer
total-money
required
TotalMoney integer

Produces

  • application/json

Tags

  • nonparticipating
  • public

GET /v2/ledger/sync

Returns the minimum sync round the ledger is keeping in cache.

GET /v2/ledger/sync

Description Gets the minimum sync round for the ledger.

Responses

HTTP Code Description Schema
200 Response containing the ledger's minimum sync round Response 200
400 Sync round not set. ErrorResponse
401 Invalid API Token ErrorResponse
500 Internal Error ErrorResponse
503 Service Temporarily Unavailable ErrorResponse
default Unknown Error No Content

Response 200

Name Description Schema
round
required
The minimum sync round for the ledger. integer

Tags

  • data
  • public

DELETE /v2/ledger/sync

Removes minimum sync round restriction from the ledger.

DELETE /v2/ledger/sync

Description Unset the ledger sync round.

Responses

HTTP Code Description Schema
200 No Content
400 Sync round not set. ErrorResponse
401 Invalid API Token ErrorResponse
500 Internal Error ErrorResponse
503 Service Temporarily Unavailable ErrorResponse
default Unknown Error No Content

Tags

  • data
  • public

POST /v2/ledger/sync/{round}

Given a round, tells the ledger to keep that round in its cache.

POST /v2/ledger/sync/{round}

Description Sets the minimum sync round on the ledger.

Parameters

Type Name Description Schema
Path round
required
The round for which the deltas are desired. integer

Responses

HTTP Code Description Schema
200 No Content
400 Can not set sync round to an earlier round than the current round. ErrorResponse
401 Invalid API Token ErrorResponse
500 Internal Error ErrorResponse
503 Service Temporarily Unavailable ErrorResponse
default Unknown Error No Content

Tags

  • data
  • public

POST /v2/participation

Add a participation key to the node

POST /v2/participation

Parameters

Type Name Description Schema
Body participationkey
required
The participation key to add to the node string (binary)

Responses

HTTP Code Description Schema
200 Participation ID of the submission Response 200
400 Bad Request ErrorResponse
401 Invalid API Token ErrorResponse
404 Participation Key Not Found ErrorResponse
500 Internal Error ErrorResponse
503 Service Temporarily Unavailable ErrorResponse
default Unknown Error No Content

Response 200

Name Description Schema
partId
required
encoding of the participation ID. string

Consumes

  • application/msgpack

Produces

  • application/json

Tags

  • participating
  • private

GET /v2/participation

Return a list of participation keys

GET /v2/participation

Description Return a list of participation keys

Responses

HTTP Code Description Schema
200 A list of participation keys < ParticipationKey > array
400 Bad Request ErrorResponse
401 Invalid API Token ErrorResponse
404 Participation Key Not Found ErrorResponse
500 Internal Error ErrorResponse
default Unknown Error No Content

Produces

  • application/json

Tags

  • participating
  • private

POST /v2/participation/generate/{address}

Generate and install participation keys to the node.

POST /v2/participation/generate/{address}

Parameters

Type Name Description Schema
Path address
required
An account public key string
Query dilution
optional
Key dilution for two-level participation keys (defaults to sqrt of validity window). integer
Query first
required
First round for participation key. integer
Query last
required
Last round for participation key. integer

Responses

HTTP Code Description Schema
200 An empty JSON object is returned if the generation process was started. Currently no status is available. string
400 Bad Request ErrorResponse
401 Invalid API Token ErrorResponse
500 Internal Error ErrorResponse
503 Service Temporarily Unavailable ErrorResponse
default Unknown Error No Content

Produces

  • application/json

Tags

  • participating
  • private

POST /v2/participation/{participation-id}

Append state proof keys to a participation key

POST /v2/participation/{participation-id}

Description Given a participation ID, append state proof keys to a particular set of participation keys

Parameters

Type Name Description Schema
Path participation-id
required
string
Body keymap
required
The state proof keys to add to an existing participation ID string (binary)

Responses

HTTP Code Description Schema
200 A detailed description of a participation ID ParticipationKey
400 Bad Request ErrorResponse
401 Invalid API Token ErrorResponse
404 Participation Key Not Found ErrorResponse
500 Internal Error ErrorResponse
default Unknown Error No Content

Consumes

  • application/msgpack

Produces

  • application/json

Tags

  • participating
  • private

GET /v2/participation/{participation-id}

Get participation key info given a participation ID

GET /v2/participation/{participation-id}

Description Given a participation ID, return information about that participation key

Parameters

Type Name Schema
Path participation-id
required
string

Responses

HTTP Code Description Schema
200 A detailed description of a participation ID ParticipationKey
400 Bad Request ErrorResponse
401 Invalid API Token ErrorResponse
404 Participation Key Not Found ErrorResponse
500 Internal Error ErrorResponse
default Unknown Error No Content

Produces

  • application/json

Tags

  • participating
  • private

DELETE /v2/participation/{participation-id}

Delete a given participation key by ID

DELETE /v2/participation/{participation-id}

Description Delete a given participation key by ID

Parameters

Type Name Schema
Path participation-id
required
string

Responses

HTTP Code Description Schema
200 Participation key got deleted by ID No Content
400 Bad Request ErrorResponse
401 Invalid API Token ErrorResponse
404 Participation Key Not Found ErrorResponse
500 Internal Error ErrorResponse
default Unknown Error No Content

Produces

  • application/json

Tags

  • participating
  • private

POST /v2/shutdown

Description Special management endpoint to shutdown the node. Optionally provide a timeout parameter to indicate that the node should begin shutting down after a number of seconds.

Parameters

Type Name Schema Default
Query timeout
optional
integer 0

Responses

HTTP Code Schema
200 object

Tags

  • nonparticipating
  • private

GET /v2/stateproofs/{round}

Get a state proof that covers a given round

GET /v2/stateproofs/{round}

Parameters

Type Name Description Schema
Path round
required
The round for which a state proof is desired. integer

Responses

HTTP Code Description Schema
200 StateProofResponse wraps the StateProof type in a response. StateProof
401 Invalid API Token ErrorResponse
404 Could not find a state proof that covers a given round ErrorResponse
408 timed out on request ErrorResponse
500 Internal Error ErrorResponse
503 Service Temporarily Unavailable ErrorResponse
default Unknown Error No Content

Produces

  • application/json

Tags

  • nonparticipating
  • public

GET /v2/status

Gets the current node status.

GET /v2/status

Responses

HTTP Code Description Schema
200 Response 200
401 Invalid API Token ErrorResponse
500 Internal Error string
default Unknown Error No Content

Response 200

Name Description Schema
catchpoint
optional
The current catchpoint that is being caught up to string
catchpoint-acquired-blocks
optional
The number of blocks that have already been obtained by the node as part of the catchup integer
catchpoint-processed-accounts
optional
The number of accounts from the current catchpoint that have been processed so far as part of the catchup integer
catchpoint-processed-kvs
optional
The number of key-values (KVs) from the current catchpoint that have been processed so far as part of the catchup integer
catchpoint-total-accounts
optional
The total number of accounts included in the current catchpoint integer
catchpoint-total-blocks
optional
The total number of blocks that are required to complete the current catchpoint catchup integer
catchpoint-total-kvs
optional
The total number of key-values (KVs) included in the current catchpoint integer
catchpoint-verified-accounts
optional
The number of accounts from the current catchpoint that have been verified so far as part of the catchup integer
catchpoint-verified-kvs
optional
The number of key-values (KVs) from the current catchpoint that have been verified so far as part of the catchup integer
catchup-time
required
CatchupTime in nanoseconds integer
last-catchpoint
optional
The last catchpoint seen by the node string
last-round
required
LastRound indicates the last round seen integer
last-version
required
LastVersion indicates the last consensus version supported string
next-version
required
NextVersion of consensus protocol to use string
next-version-round
required
NextVersionRound is the round at which the next consensus version will apply integer
next-version-supported
required
NextVersionSupported indicates whether the next consensus version is supported by this node boolean
stopped-at-unsupported-round
required
StoppedAtUnsupportedRound indicates that the node does not support the new rounds and has stopped making progress boolean
time-since-last-round
required
TimeSinceLastRound in nanoseconds integer
upgrade-delay
optional
Upgrade delay integer
upgrade-next-protocol-vote-before
optional
Next protocol round integer
upgrade-no-votes
optional
No votes cast for consensus upgrade integer
upgrade-node-vote
optional
This node's upgrade vote boolean
upgrade-vote-rounds
optional
Total voting rounds for current upgrade integer
upgrade-votes
optional
Total votes cast for consensus upgrade integer
upgrade-votes-required
optional
Yes votes required for consensus upgrade integer
upgrade-yes-votes
optional
Yes votes cast for consensus upgrade integer

Produces

  • application/json

Tags

  • nonparticipating
  • public

GET /v2/status/wait-for-block-after/{round}

Gets the node status after waiting for a round after the given round.

GET /v2/status/wait-for-block-after/{round}

Description Waits for a block to appear after round {round} and returns the node's status at the time. There is a 1 minute timeout, when reached the current status is returned regardless of whether or not it is the round after the given round.

Parameters

Type Name Description Schema
Path round
required
The round to wait until returning status integer

Responses

HTTP Code Description Schema
200 Response 200
400 Bad Request -- number must be non-negative integer ErrorResponse
401 Invalid API Token ErrorResponse
500 Internal Error ErrorResponse
503 Service Temporarily Unavailable ErrorResponse
default Unknown Error No Content

Response 200

Name Description Schema
catchpoint
optional
The current catchpoint that is being caught up to string
catchpoint-acquired-blocks
optional
The number of blocks that have already been obtained by the node as part of the catchup integer
catchpoint-processed-accounts
optional
The number of accounts from the current catchpoint that have been processed so far as part of the catchup integer
catchpoint-processed-kvs
optional
The number of key-values (KVs) from the current catchpoint that have been processed so far as part of the catchup integer
catchpoint-total-accounts
optional
The total number of accounts included in the current catchpoint integer
catchpoint-total-blocks
optional
The total number of blocks that are required to complete the current catchpoint catchup integer
catchpoint-total-kvs
optional
The total number of key-values (KVs) included in the current catchpoint integer
catchpoint-verified-accounts
optional
The number of accounts from the current catchpoint that have been verified so far as part of the catchup integer
catchpoint-verified-kvs
optional
The number of key-values (KVs) from the current catchpoint that have been verified so far as part of the catchup integer
catchup-time
required
CatchupTime in nanoseconds integer
last-catchpoint
optional
The last catchpoint seen by the node string
last-round
required
LastRound indicates the last round seen integer
last-version
required
LastVersion indicates the last consensus version supported string
next-version
required
NextVersion of consensus protocol to use string
next-version-round
required
NextVersionRound is the round at which the next consensus version will apply integer
next-version-supported
required
NextVersionSupported indicates whether the next consensus version is supported by this node boolean
stopped-at-unsupported-round
required
StoppedAtUnsupportedRound indicates that the node does not support the new rounds and has stopped making progress boolean
time-since-last-round
required
TimeSinceLastRound in nanoseconds integer
upgrade-delay
optional
Upgrade delay integer
upgrade-next-protocol-vote-before
optional
Next protocol round integer
upgrade-no-votes
optional
No votes cast for consensus upgrade integer
upgrade-node-vote
optional
This node's upgrade vote boolean
upgrade-vote-rounds
optional
Total voting rounds for current upgrade integer
upgrade-votes
optional
Total votes cast for consensus upgrade integer
upgrade-votes-required
optional
Yes votes required for consensus upgrade integer
upgrade-yes-votes
optional
Yes votes cast for consensus upgrade integer

Produces

  • application/json

Tags

  • nonparticipating
  • public

POST /v2/teal/compile

Compile TEAL source code to binary, produce its hash

POST /v2/teal/compile

Description Given TEAL source code in plain text, return base64 encoded program bytes and base32 SHA512_256 hash of program bytes (Address style). This endpoint is only enabled when a node's configuration file sets EnableDeveloperAPI to true.

Parameters

Type Name Description Schema
Query sourcemap
optional
When set to true, returns the source map of the program as a JSON. Defaults to false. boolean
Body source
required
TEAL source code to be compiled string (binary)

Responses

HTTP Code Description Schema
200 Teal compile Result Response 200
400 Bad Request - Teal Compile Error ErrorResponse
401 Invalid API Token ErrorResponse
404 Developer API not enabled No Content
500 Internal Error ErrorResponse
default Unknown Error No Content

Response 200

Name Description Schema
hash
required
base32 SHA512_256 of program bytes (Address style) string
result
required
base64 encoded program bytes string
sourcemap
optional
JSON of the source map object

Consumes

  • text/plain

Produces

  • application/json

Tags

  • nonparticipating
  • public

POST /v2/teal/disassemble

Disassemble program bytes into the TEAL source code.

POST /v2/teal/disassemble

Description Given the program bytes, return the TEAL source code in plain text. This endpoint is only enabled when a node's configuration file sets EnableDeveloperAPI to true.

Parameters

Type Name Description Schema
Body source
required
TEAL program binary to be disassembled string (byte)

Responses

HTTP Code Description Schema
200 Teal disassembly Result Response 200
400 Bad Request - Teal Compile Error ErrorResponse
401 Invalid API Token ErrorResponse
404 Developer API not enabled No Content
500 Internal Error ErrorResponse
default Unknown Error No Content

Response 200

Name Description Schema
result
required
disassembled Teal code string

Consumes

  • application/x-binary

Produces

  • application/json

Tags

  • nonparticipating
  • public

POST /v2/teal/dryrun

Provide debugging information for a transaction (or group).

POST /v2/teal/dryrun

Description Executes TEAL program(s) in context and returns debugging information about the execution. This endpoint is only enabled when a node's configuration file sets EnableDeveloperAPI to true.

Parameters

Type Name Description Schema
Body request
optional
Transaction (or group) and any accompanying state-simulation data. DryrunRequest

Responses

HTTP Code Description Schema
200 DryrunResponse contains per-txn debug information from a dryrun. Response 200
400 Bad Request ErrorResponse
401 Invalid API Token ErrorResponse
404 Developer API not enabled No Content
500 Internal Error ErrorResponse
default Unknown Error No Content

Response 200

Name Description Schema
error
required
string
protocol-version
required
Protocol version is the protocol version Dryrun was operated under. string
txns
required
< DryrunTxnResult > array

Consumes

  • application/json
  • application/msgpack

Produces

  • application/json

Tags

  • nonparticipating
  • public

POST /v2/transactions

Broadcasts a raw transaction or transaction group to the network.

POST /v2/transactions

Parameters

Type Name Description Schema
Body rawtxn
required
The byte encoded signed transaction to broadcast to network string (binary)

Responses

HTTP Code Description Schema
200 Transaction ID of the submission. Response 200
400 Bad Request - Malformed Algorand transaction ErrorResponse
401 Invalid API Token ErrorResponse
500 Internal Error ErrorResponse
503 Service Temporarily Unavailable ErrorResponse
default Unknown Error No Content

Response 200

Name Description Schema
txId
required
encoding of the transaction hash. string

Consumes

  • application/x-binary

Produces

  • application/json

Tags

  • participating
  • public

POST /v2/transactions/async

Fast track for broadcasting a raw transaction or transaction group to the network through the tx handler without performing most of the checks and reporting detailed errors. Should be only used for development and performance testing.

POST /v2/transactions/async

Parameters

Type Name Description Schema
Body rawtxn
required
The byte encoded signed transaction to broadcast to network string (binary)

Responses

HTTP Code Description Schema
200 No Content
400 Bad Request - Malformed Algorand transaction ErrorResponse
401 Invalid API Token ErrorResponse
404 Developer or Experimental API not enabled No Content
500 Internal Error ErrorResponse
503 Service Temporarily Unavailable ErrorResponse
default Unknown Error No Content

Consumes

  • application/x-binary

Tags

  • experimental
  • public

GET /v2/transactions/params

Get parameters for constructing a new transaction

GET /v2/transactions/params

Responses

HTTP Code Description Schema
200 TransactionParams contains the parameters that help a client construct a new transaction. Response 200
401 Invalid API Token ErrorResponse
500 Internal Error ErrorResponse
503 Service Temporarily Unavailable ErrorResponse
default Unknown Error No Content

Response 200

Name Description Schema
consensus-version
required
ConsensusVersion indicates the consensus protocol version
as of LastRound.
string
fee
required
Fee is the suggested transaction fee
Fee is in units of micro-Algos per byte.
Fee may fall to zero but transactions must still have a fee of
at least MinTxnFee for the current network protocol.
integer
genesis-hash
required
GenesisHash is the hash of the genesis block.
Pattern : "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==\|[A-Za-z0-9+/]{3}=)?$"
string (byte)
genesis-id
required
GenesisID is an ID listed in the genesis block. string
last-round
required
LastRound indicates the last round seen integer
min-fee
required
The minimum transaction fee (not per byte) required for the
txn to validate for the current network protocol.
integer

Produces

  • application/json

Tags

  • nonparticipating
  • public

GET /v2/transactions/pending

Get a list of unconfirmed transactions currently in the transaction pool.

GET /v2/transactions/pending

Description Get the list of pending transactions, sorted by priority, in decreasing order, truncated at the end at MAX. If MAX = 0, returns all pending transactions.

Parameters

Type Name Description Schema
Query format
optional
Configures whether the response object is JSON or MessagePack encoded. If not provided, defaults to JSON. enum (json, msgpack)
Query max
optional
Truncated number of transactions to display. If max=0, returns all pending txns. integer

Responses

HTTP Code Description Schema
200 A potentially truncated list of transactions currently in the node's transaction pool. You can compute whether or not the list is truncated if the number of elements in the top-transactions array is fewer than total-transactions. Response 200
401 Invalid API Token ErrorResponse
500 Internal Error ErrorResponse
503 Service Temporarily Unavailable ErrorResponse
default Unknown Error No Content

Response 200

Name Description Schema
top-transactions
required
An array of signed transaction objects. < object > array
total-transactions
required
Total number of transactions in the pool. integer

Produces

  • application/json
  • application/msgpack

Tags

  • participating
  • public

GET /v2/transactions/pending/{txid}

Get a specific pending transaction.

GET /v2/transactions/pending/{txid}

Description Given a transaction ID of a recently submitted transaction, it returns information about it. There are several cases when this might succeed: - transaction committed (committed round > 0) - transaction still in the pool (committed round = 0, pool error = "") - transaction removed from pool due to error (committed round = 0, pool error != "") Or the transaction may have happened sufficiently long ago that the node no longer remembers it, and this will return an error.

Parameters

Type Name Description Schema
Path txid
required
A transaction ID string
Query format
optional
Configures whether the response object is JSON or MessagePack encoded. If not provided, defaults to JSON. enum (json, msgpack)

Responses

HTTP Code Description Schema
200 Given a transaction ID of a recently submitted transaction, it returns information about it. There are several cases when this might succeed:
- transaction committed (committed round > 0)
- transaction still in the pool (committed round = 0, pool error = "")
- transaction removed from pool due to error (committed round = 0, pool error != "")

Or the transaction may have happened sufficiently long ago that the node no longer remembers it, and this will return an error.
PendingTransactionResponse
400 Bad Request ErrorResponse
401 Invalid API Token ErrorResponse
404 Transaction Not Found ErrorResponse
default Unknown Error No Content

Produces

  • application/json
  • application/msgpack

Tags

  • participating
  • public

POST /v2/transactions/simulate

Simulates a raw transaction or transaction group as it would be evaluated on the network. The simulation will use blockchain state from the latest committed round.

POST /v2/transactions/simulate

Parameters

Type Name Description Schema
Query format
optional
Configures whether the response object is JSON or MessagePack encoded. If not provided, defaults to JSON. enum (json, msgpack)
Body request
required
The transactions to simulate, along with any other inputs. SimulateRequest

Responses

HTTP Code Description Schema
200 Result of a transaction group simulation. Response 200
400 Bad Request ErrorResponse
401 Invalid API Token ErrorResponse
500 Internal Error ErrorResponse
503 Service Temporarily Unavailable ErrorResponse
default Unknown Error No Content

Response 200

Name Description Schema
eval-overrides
optional
SimulationEvalOverrides
exec-trace-config
optional
SimulateTraceConfig
initial-states
optional
SimulateInitialStates
last-round
required
The round immediately preceding this simulation. State changes through this round were used to run this simulation. integer
txn-groups
required
A result object for each transaction group that was simulated. < SimulateTransactionGroupResult > array
version
required
The version of this response object. integer

Consumes

  • application/json
  • application/msgpack

Produces

  • application/json
  • application/msgpack

Tags

  • nonparticipating
  • public

GET /versions

Description Retrieves the supported API versions, binary build versions, and genesis information.

Responses

HTTP Code Description Schema
200 VersionsResponse is the response to 'GET /versions' Version

Produces

  • application/json

Tags

  • common
  • public

Definitions

Account

Account information at a given round.

Definition: data/basics/userBalance.go : AccountData

Name Description Schema
address
required
the account public key string
amount
required
[algo] total number of MicroAlgos in the account integer
amount-without-pending-rewards
required
specifies the amount of MicroAlgos in the account, without the pending rewards. integer
apps-local-state
optional
[appl] applications local data stored in this account.

Note the raw object uses map[int] -> AppLocalState for this type.
< ApplicationLocalState > array
apps-total-extra-pages
optional
[teap] the sum of all extra application program pages for this account. integer
apps-total-schema
optional
[tsch] stores the sum of all of the local schemas and global schemas in this account.

Note: the raw account uses StateSchema for this type.
ApplicationStateSchema
assets
optional
[asset] assets held by this account.

Note the raw object uses map[int] -> AssetHolding for this type.
< AssetHolding > array
auth-addr
optional
[spend] 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. string
created-apps
optional
[appp] parameters of applications created by this account including app global data.

Note: the raw account uses map[int] -> AppParams for this type.
< Application > array
created-assets
optional
[apar] parameters of assets created by this account.

Note: the raw account uses map[int] -> Asset for this type.
< Asset > array
incentive-eligible
optional
Whether or not the account can receive block incentives if its balance is in range at proposal time. boolean
last-heartbeat
optional
The round in which this account last went online, or explicitly renewed their online status. integer
last-proposed
optional
The round in which this account last proposed the block. integer
min-balance
required
MicroAlgo balance required by the account.

The requirement grows based on asset and application usage.
integer
participation
optional
AccountParticipation
pending-rewards
required
amount of MicroAlgos of pending rewards in this account. integer
reward-base
optional
[ebase] used as part of the rewards computation. Only applicable to accounts which are participating. integer
rewards
required
[ern] total rewards of MicroAlgos the account has received, including pending rewards. integer
round
required
The round for which this information is relevant. integer
sig-type
optional
Indicates what type of signature is used by this account, must be one of:
* sig
* msig
* lsig
enum (sig, msig, lsig)
status
required
[onl] delegation status of the account's MicroAlgos
* Offline - indicates that the associated account is delegated.
* Online - indicates that the associated account used as part of the delegation pool.
* NotParticipating - indicates that the associated account is neither a delegator nor a delegate.
string
total-apps-opted-in
required
The count of all applications that have been opted in, equivalent to the count of application local data (AppLocalState objects) stored in this account. integer
total-assets-opted-in
required
The count of all assets that have been opted in, equivalent to the count of AssetHolding objects held by this account. integer
total-box-bytes
optional
[tbxb] The total number of bytes used by this account's app's box keys and values. integer
total-boxes
optional
[tbx] The number of existing boxes created by this account's app. integer
total-created-apps
required
The count of all apps (AppParams objects) created by this account. integer
total-created-assets
required
The count of all assets (AssetParams objects) created by this account. integer

AccountAssetHolding

AccountAssetHolding describes the account's asset holding and asset parameters (if either exist) for a specific asset ID.

Name Description Schema
asset-holding
required
[asset] Details about the asset held by this account.

The raw account uses AssetHolding for this type.
AssetHolding
asset-params
optional
[apar] parameters of the asset held by this account.

The raw account uses AssetParams for this type.
AssetParams

AccountParticipation

AccountParticipation describes the parameters used by this account in consensus protocol.

Name Description Schema
selection-participation-key
required
[sel] Selection public key (if any) currently registered for this round.
Pattern : "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==\|[A-Za-z0-9+/]{3}=)?$"
string (byte)
state-proof-key
optional
[stprf] Root of the state proof key (if any)
Pattern : "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==\|[A-Za-z0-9+/]{3}=)?$"
string (byte)
vote-first-valid
required
[voteFst] First round for which this participation is valid. integer
vote-key-dilution
required
[voteKD] Number of subkeys in each batch of participation keys. integer
vote-last-valid
required
[voteLst] Last round for which this participation is valid. integer
vote-participation-key
required
[vote] root participation public key (if any) currently registered for this round.
Pattern : "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==\|[A-Za-z0-9+/]{3}=)?$"
string (byte)

AccountStateDelta

Application state delta.

Name Schema
address
required
string
delta
required
StateDelta

AppCallLogs

The logged messages from an app call along with the app ID and outer transaction ID. Logs appear in the same order that they were emitted.

Name Description Schema
application-index
required
The application from which the logs were generated integer
logs
required
An array of logs < string (byte) > array
txId
required
The transaction ID of the outer app call that lead to these logs string

Application

Application index and its parameters

Name Description Schema
id
required
[appidx] application index. integer
params
required
[appparams] application parameters. ApplicationParams

ApplicationInitialStates

An application's initial global/local/box states that were accessed during simulation.

Name Description Schema
app-boxes
optional
ApplicationKVStorage
app-globals
optional
ApplicationKVStorage
app-locals
optional
An application's initial local states tied to different accounts. < ApplicationKVStorage > array
id
required
Application index. integer

ApplicationKVStorage

An application's global/local/box state.

Name Description Schema
account
optional
The address of the account associated with the local state. string
kvs
required
Key-Value pairs representing application states. < AvmKeyValue > array

ApplicationLocalReference

References an account's local state for an application.

Name Description Schema
account
required
Address of the account with the local state. string
app
required
Application ID of the local state application. integer

ApplicationLocalState

Stores local state associated with an application.

Name Description Schema
id
required
The application which this local state is for. integer
key-value
optional
[tkv] storage. TealKeyValueStore
schema
required
[hsch] schema. ApplicationStateSchema

ApplicationParams

Stores the global information associated with an application.

Name Description Schema
approval-program
required
[approv] approval program.
Pattern : "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==\|[A-Za-z0-9+/]{3}=)?$"
string (byte)
clear-state-program
required
[clearp] approval program.
Pattern : "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==\|[A-Za-z0-9+/]{3}=)?$"
string (byte)
creator
required
The address that created this application. This is the address where the parameters and global state for this application can be found. string
extra-program-pages
optional
[epp] the amount of extra program pages available to this app. integer
global-state
optional
[gs] global state TealKeyValueStore
global-state-schema
optional
[gsch] global schema ApplicationStateSchema
local-state-schema
optional
[lsch] local schema ApplicationStateSchema

ApplicationStateOperation

An operation against an application's global/local/box state.

Name Description Schema
account
optional
For local state changes, the address of the account associated with the local state. string
app-state-type
required
Type of application state. Value g is global state, l is local state, b is boxes. string
key
required
The key (name) of the global/local/box state.
Pattern : "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==\|[A-Za-z0-9+/]{3}=)?$"
string (byte)
new-value
optional
AvmValue
operation
required
Operation type. Value w is write, d is delete. string

ApplicationStateSchema

Specifies maximums on the number of each type that may be stored.

Name Description Schema
num-byte-slice
required
[nbs] num of byte slices. integer
num-uint
required
[nui] num of uints. integer

Asset

Specifies both the unique identifier and the parameters for an asset

Name Description Schema
index
required
unique asset identifier integer
params
required
AssetParams

AssetHolding

Describes an asset held by an account.

Definition: data/basics/userBalance.go : AssetHolding

Name Description Schema
amount
required
[a] number of units held. integer
asset-id
required
Asset ID of the holding. integer
is-frozen
required
[f] whether or not the holding is frozen. boolean

AssetHoldingReference

References an asset held by an account.

Name Description Schema
account
required
Address of the account holding the asset. string
asset
required
Asset ID of the holding. integer

AssetParams

AssetParams specifies the parameters for an asset.

[apar] when part of an AssetConfig transaction.

Definition: data/transactions/asset.go : AssetParams

Name Description Schema
clawback
optional
[c] Address of account used to clawback holdings of this asset. If empty, clawback is not permitted. string
creator
required
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. string
decimals
required
[dc] 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).
Minimum value : 0
Maximum value : 19
integer
default-frozen
optional
[df] Whether holdings of this asset are frozen by default. boolean
freeze
optional
[f] Address of account used to freeze holdings of this asset. If empty, freezing is not permitted. string
manager
optional
[m] Address of account used to manage the keys of this asset and to destroy it. string
metadata-hash
optional
[am] A commitment to some unspecified asset metadata. The format of this metadata is up to the application.
Pattern : "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==\|[A-Za-z0-9+/]{3}=)?$"
string (byte)
name
optional
[an] Name of this asset, as supplied by the creator. Included only when the asset name is composed of printable utf-8 characters. string
name-b64
optional
Base64 encoded name of this asset, as supplied by the creator.
Pattern : "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==\|[A-Za-z0-9+/]{3}=)?$"
string (byte)
reserve
optional
[r] Address of account holding reserve (non-minted) units of this asset. string
total
required
[t] The total number of units of this asset. integer
unit-name
optional
[un] 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. string
unit-name-b64
optional
Base64 encoded name of a unit of this asset, as supplied by the creator.
Pattern : "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==\|[A-Za-z0-9+/]{3}=)?$"
string (byte)
url
optional
[au] URL where more information about the asset can be retrieved. Included only when the URL is composed of printable utf-8 characters. string
url-b64
optional
Base64 encoded URL where more information about the asset can be retrieved.
Pattern : "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==\|[A-Za-z0-9+/]{3}=)?$"
string (byte)

AvmKeyValue

Represents an AVM key-value pair in an application store.

Name Description Schema
key
required
Pattern : "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==\|[A-Za-z0-9+/]{3}=)?$" string (byte)
value
required
AvmValue

AvmValue

Represents an AVM value.

Name Description Schema
bytes
optional
bytes value.
Pattern : "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==\|[A-Za-z0-9+/]{3}=)?$"
string (byte)
type
required
value type. Value 1 refers to bytes, value 2 refers to uint64 integer
uint
optional
uint value. integer

Box

Box name and its content.

Name Description Schema
name
required
[name] box name, base64 encoded
Pattern : "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==\|[A-Za-z0-9+/]{3}=)?$"
string (byte)
round
required
The round for which this information is relevant integer
value
required
[value] box value, base64 encoded.
Pattern : "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==\|[A-Za-z0-9+/]{3}=)?$"
string (byte)

BoxDescriptor

Box descriptor describes a Box.

Name Description Schema
name
required
Base64 encoded box name
Pattern : "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==\|[A-Za-z0-9+/]{3}=)?$"
string (byte)

BoxReference

References a box of an application.

Name Description Schema
app
required
Application ID which this box belongs to integer
name
required
Base64 encoded box name
Pattern : "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==\|[A-Za-z0-9+/]{3}=)?$"
string (byte)

BuildVersion

Name Schema
branch
required
string
build_number
required
integer (int64)
channel
required
string
commit_hash
required
string
major
required
integer (int64)
minor
required
integer (int64)

DebugSettingsProf

algod mutex and blocking profiling state.

Name Description Schema
block-rate
optional
The rate of blocking events. The profiler aims to sample an average of one blocking event per rate nanoseconds spent blocked. To turn off profiling entirely, pass rate 0.
Example : 1000
integer
mutex-rate
optional
The rate of mutex events. On average 1/rate events are reported. To turn off profiling entirely, pass rate 0
Example : 1000
integer

DryrunRequest

Request data type for dryrun endpoint. Given the Transactions and simulated ledger state upload, run TEAL scripts and return debugging information.

Name Description Schema
accounts
required
< Account > array
apps
required
< Application > array
latest-timestamp
required
LatestTimestamp is available to some TEAL scripts. Defaults to the latest confirmed timestamp this algod is attached to. integer (int64)
protocol-version
required
ProtocolVersion specifies a specific version string to operate under, otherwise whatever the current protocol of the network this algod is running in. string
round
required
Round is available to some TEAL scripts. Defaults to the current round on the network this algod is attached to. integer
sources
required
< DryrunSource > array
txns
required
< string (json) > array

DryrunSource

DryrunSource is TEAL source text that gets uploaded, compiled, and inserted into transactions or application state.

Name Description Schema
app-index
required
integer
field-name
required
FieldName is what kind of sources this is. If lsig then it goes into the transactions[this.TxnIndex].LogicSig. If approv or clearp it goes into the Approval Program or Clear State Program of application[this.AppIndex]. string
source
required
string
txn-index
required
integer

DryrunState

Stores the TEAL eval step data

Name Description Schema
error
optional
Evaluation error if any string
line
required
Line number integer
pc
required
Program counter integer
scratch
optional
< TealValue > array
stack
required
< TealValue > array

DryrunTxnResult

DryrunTxnResult contains any LogicSig or ApplicationCall program debug information and state updates from a dryrun.

Name Description Schema
app-call-messages
optional
< string > array
app-call-trace
optional
< DryrunState > array
budget-added
optional
Budget added during execution of app call transaction. integer
budget-consumed
optional
Budget consumed during execution of app call transaction. integer
disassembly
required
Disassembled program line by line. < string > array
global-delta
optional
StateDelta
local-deltas
optional
< AccountStateDelta > array
logic-sig-disassembly
optional
Disassembled lsig program line by line. < string > array
logic-sig-messages
optional
< string > array
logic-sig-trace
optional
< DryrunState > array
logs
optional
< string (byte) > array

ErrorResponse

An error response with optional data field.

Name Schema
data
optional
object
message
required
string

EvalDelta

Represents a TEAL value delta.

Name Description Schema
action
required
[at] delta action. integer
bytes
optional
[bs] bytes value. string
uint
optional
[ui] uint value. integer

EvalDeltaKeyValue

Key-value pairs for StateDelta.

Name Schema
key
required
string
value
required
EvalDelta

KvDelta

A single Delta containing the key, the previous value and the current value for a single round.

Name Description Schema
key
optional
The key, base64 encoded.
Pattern : "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==\|[A-Za-z0-9+/]{3}=)?$"
string (byte)
value
optional
The new value of the KV store entry, base64 encoded.
Pattern : "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==\|[A-Za-z0-9+/]{3}=)?$"
string (byte)

LedgerStateDelta

Ledger StateDelta object

Type : object

LedgerStateDeltaForTransactionGroup

Contains a ledger delta for a single transaction group

Name Schema
Delta
required
LedgerStateDelta
Ids
required
< string > array

LightBlockHeaderProof

Proof of membership and position of a light block header.

Name Description Schema
index
required
The index of the light block header in the vector commitment tree integer
proof
required
The encoded proof.
Pattern : "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==\|[A-Za-z0-9+/]{3}=)?$"
string (byte)
treedepth
required
Represents the depth of the tree that is being proven, i.e. the number of edges from a leaf to the root. integer

ParticipationKey

Represents a participation key used by the node.

Name Description Schema
address
required
Address the key was generated for. string
effective-first-valid
optional
When registered, this is the first round it may be used. integer
effective-last-valid
optional
When registered, this is the last round it may be used. integer
id
required
The key's ParticipationID. string
key
required
Key information stored on the account. AccountParticipation
last-block-proposal
optional
Round when this key was last used to propose a block. integer
last-state-proof
optional
Round when this key was last used to generate a state proof. integer
last-vote
optional
Round when this key was last used to vote. integer

PendingTransactionResponse

Details about a pending transaction. If the transaction was recently confirmed, includes confirmation details like the round and reward details.

Name Description Schema
application-index
optional
The application index if the transaction was found and it created an application. integer
asset-closing-amount
optional
The number of the asset's unit that were transferred to the close-to address. integer
asset-index
optional
The asset index if the transaction was found and it created an asset. integer
close-rewards
optional
Rewards in microalgos applied to the close remainder to account. integer
closing-amount
optional
Closing amount for the transaction. integer
confirmed-round
optional
The round where this transaction was confirmed, if present. integer
global-state-delta
optional
Global state key/value changes for the application being executed by this transaction. StateDelta
inner-txns
optional
Inner transactions produced by application execution. < PendingTransactionResponse > array
local-state-delta
optional
Local state key/value changes for the application being executed by this transaction. < AccountStateDelta > array
logs
optional
Logs for the application being executed by this transaction. < string (byte) > array
pool-error
required
Indicates that the transaction was kicked out of this node's transaction pool (and specifies why that happened). An empty string indicates the transaction wasn't kicked out of this node's txpool due to an error. string
receiver-rewards
optional
Rewards in microalgos applied to the receiver account. integer
sender-rewards
optional
Rewards in microalgos applied to the sender account. integer
txn
required
The raw signed transaction. object

ScratchChange

A write operation into a scratch slot.

Name Description Schema
new-value
required
AvmValue
slot
required
The scratch slot written. integer

SimulateInitialStates

Initial states of resources that were accessed during simulation.

Name Description Schema
app-initial-states
optional
The initial states of accessed application before simulation. The order of this array is arbitrary. < ApplicationInitialStates > array

SimulateRequest

Request type for simulation endpoint.

Name Description Schema
allow-empty-signatures
optional
Allows transactions without signatures to be simulated as if they had correct signatures. boolean
allow-more-logging
optional
Lifts limits on log opcode usage during simulation. boolean
allow-unnamed-resources
optional
Allows access to unnamed resources during simulation. boolean
exec-trace-config
optional
SimulateTraceConfig
extra-opcode-budget
optional
Applies extra opcode budget during simulation for each transaction group. integer
fix-signers
optional
If true, signers for transactions that are missing signatures will be fixed during evaluation. boolean
round
optional
If provided, specifies the round preceding the simulation. State changes through this round will be used to run this simulation. Usually only the 4 most recent rounds will be available (controlled by the node config value MaxAcctLookback). If not specified, defaults to the latest available round. integer
txn-groups
required
The transaction groups to simulate. < SimulateRequestTransactionGroup > array

SimulateRequestTransactionGroup

A transaction group to simulate.

Name Description Schema
txns
required
An atomic transaction group. < string (json) > array

SimulateTraceConfig

An object that configures simulation execution trace.

Name Description Schema
enable
optional
A boolean option for opting in execution trace features simulation endpoint. boolean
scratch-change
optional
A boolean option enabling returning scratch slot changes together with execution trace during simulation. boolean
stack-change
optional
A boolean option enabling returning stack changes together with execution trace during simulation. boolean
state-change
optional
A boolean option enabling returning application state changes (global, local, and box changes) with the execution trace during simulation. boolean

SimulateTransactionGroupResult

Simulation result for an atomic transaction group

Name Description Schema
app-budget-added
optional
Total budget added during execution of app calls in the transaction group. integer
app-budget-consumed
optional
Total budget consumed during execution of app calls in the transaction group. integer
failed-at
optional
If present, indicates which transaction in this group caused the failure. This array represents the path to the failing transaction. Indexes are zero based, the first element indicates the top-level transaction, and successive elements indicate deeper inner transactions. < integer > array
failure-message
optional
If present, indicates that the transaction group failed and specifies why that happened string
txn-results
required
Simulation result for individual transactions < SimulateTransactionResult > array
unnamed-resources-accessed
optional
SimulateUnnamedResourcesAccessed

SimulateTransactionResult

Simulation result for an individual transaction

Name Description Schema
app-budget-consumed
optional
Budget used during execution of an app call transaction. This value includes budged used by inner app calls spawned by this transaction. integer
exec-trace
optional
SimulationTransactionExecTrace
fixed-signer
optional
The account that needed to sign this transaction when no signature was provided and the provided signer was incorrect. string
logic-sig-budget-consumed
optional
Budget used during execution of a logic sig transaction. integer
txn-result
required
PendingTransactionResponse
unnamed-resources-accessed
optional
SimulateUnnamedResourcesAccessed

SimulateUnnamedResourcesAccessed

These are resources that were accessed by this group that would normally have caused failure, but were allowed in simulation. Depending on where this object is in the response, the unnamed resources it contains may or may not qualify for group resource sharing. If this is a field in SimulateTransactionGroupResult, the resources do qualify, but if this is a field in SimulateTransactionResult, they do not qualify. In order to make this group valid for actual submission, resources that qualify for group sharing can be made available by any transaction of the group; otherwise, resources must be placed in the same transaction which accessed them.

Name Description Schema
accounts
optional
The unnamed accounts that were referenced. The order of this array is arbitrary. < string > array
app-locals
optional
The unnamed application local states that were referenced. The order of this array is arbitrary. < ApplicationLocalReference > array
apps
optional
The unnamed applications that were referenced. The order of this array is arbitrary. < integer > array
asset-holdings
optional
The unnamed asset holdings that were referenced. The order of this array is arbitrary. < AssetHoldingReference > array
assets
optional
The unnamed assets that were referenced. The order of this array is arbitrary. < integer > array
boxes
optional
The unnamed boxes that were referenced. The order of this array is arbitrary. < BoxReference > array
extra-box-refs
optional
The number of extra box references used to increase the IO budget. This is in addition to the references defined in the input transaction group and any referenced to unnamed boxes. integer

SimulationEvalOverrides

The set of parameters and limits override during simulation. If this set of parameters is present, then evaluation parameters may differ from standard evaluation in certain ways.

Name Description Schema
allow-empty-signatures
optional
If true, transactions without signatures are allowed and simulated as if they were properly signed. boolean
allow-unnamed-resources
optional
If true, allows access to unnamed resources during simulation. boolean
extra-opcode-budget
optional
The extra opcode budget added to each transaction group during simulation integer
fix-signers
optional
If true, signers for transactions that are missing signatures will be fixed during evaluation. boolean
max-log-calls
optional
The maximum log calls one can make during simulation integer
max-log-size
optional
The maximum byte number to log during simulation integer

SimulationOpcodeTraceUnit

The set of trace information and effect from evaluating a single opcode.

Name Description Schema
pc
required
The program counter of the current opcode being evaluated. integer
scratch-changes
optional
The writes into scratch slots. < ScratchChange > array
spawned-inners
optional
The indexes of the traces for inner transactions spawned by this opcode, if any. < integer > array
stack-additions
optional
The values added by this opcode to the stack. < AvmValue > array
stack-pop-count
optional
The number of deleted stack values by this opcode. integer
state-changes
optional
The operations against the current application's states. < ApplicationStateOperation > array

SimulationTransactionExecTrace

The execution trace of calling an app or a logic sig, containing the inner app call trace in a recursive way.

Name Description Schema
approval-program-hash
optional
SHA512_256 hash digest of the approval program executed in transaction.
Pattern : "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==\|[A-Za-z0-9+/]{3}=)?$"
string (byte)
approval-program-trace
optional
Program trace that contains a trace of opcode effects in an approval program. < SimulationOpcodeTraceUnit > array
clear-state-program-hash
optional
SHA512_256 hash digest of the clear state program executed in transaction.
Pattern : "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==\|[A-Za-z0-9+/]{3}=)?$"
string (byte)
clear-state-program-trace
optional
Program trace that contains a trace of opcode effects in a clear state program. < SimulationOpcodeTraceUnit > array
clear-state-rollback
optional
If true, indicates that the clear state program failed and any persistent state changes it produced should be reverted once the program exits. boolean
clear-state-rollback-error
optional
The error message explaining why the clear state program failed. This field will only be populated if clear-state-rollback is true and the failure was due to an execution error. string
inner-trace
optional
An array of SimulationTransactionExecTrace representing the execution trace of any inner transactions executed. < SimulationTransactionExecTrace > array
logic-sig-hash
optional
SHA512_256 hash digest of the logic sig executed in transaction.
Pattern : "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==\|[A-Za-z0-9+/]{3}=)?$"
string (byte)
logic-sig-trace
optional
Program trace that contains a trace of opcode effects in a logic sig. < SimulationOpcodeTraceUnit > array

StateDelta

Application state delta.

Type : < EvalDeltaKeyValue > array

StateProof

Represents a state proof and its corresponding message

Name Description Schema
Message
required
StateProofMessage
StateProof
required
The encoded StateProof for the message.
Pattern : "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==\|[A-Za-z0-9+/]{3}=)?$"
string (byte)

StateProofMessage

Represents the message that the state proofs are attesting to.

Name Description Schema
BlockHeadersCommitment
required
The vector commitment root on all light block headers within a state proof interval.
Pattern : "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==\|[A-Za-z0-9+/]{3}=)?$"
string (byte)
FirstAttestedRound
required
The first round the message attests to. integer
LastAttestedRound
required
The last round the message attests to. integer
LnProvenWeight
required
An integer value representing the natural log of the proven weight with 16 bits of precision. This value would be used to verify the next state proof. integer
VotersCommitment
required
The vector commitment root of the top N accounts to sign the next StateProof.
Pattern : "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==\|[A-Za-z0-9+/]{3}=)?$"
string (byte)

TealKeyValue

Represents a key-value pair in an application store.

Name Schema
key
required
string
value
required
TealValue

TealKeyValueStore

Represents a key-value store for use in an application.

Type : < TealKeyValue > array

TealValue

Represents a TEAL value.

Name Description Schema
bytes
required
[tb] bytes value. string
type
required
[tt] value type. Value 1 refers to bytes, value 2 refers to uint integer
uint
required
[ui] uint value. integer

Version

algod version information.

Name Description Schema
build
required
BuildVersion
genesis_hash_b64
required
Pattern : "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==\|[A-Za-z0-9+/]{3}=)?$" string (byte)
genesis_id
required
string
versions
required
< string > array