Skip to content

Indexer API

Scroll down for code samples, example requests and responses. Select a language for code samples from the tabs above or the mobile navigation menu.

Algorand ledger analytics API.

Base URLs:

Web: Algorand

common

makeHealthCheck

Code samples

Terminal window
curl -X GET https://example.com/health \
-H 'Accept: application/json'
GET https://example.com/health HTTP/1.1
Host: example.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://example.com/health',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://example.com/health',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://example.com/health', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://example.com/health', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://example.com/health");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://example.com/health", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}

GET /health

Returns 200 if healthy.

Example responses

200 Response

{
"data": {},
"db-available": true,
"errors": [
"string"
],
"is-migrating": true,
"message": "string",
"round": 0,
"version": "string"
}

Responses

StatusMeaningDescriptionSchema
200OK(empty)HealthCheck
defaultDefaultUnknown ErrorNone

Response Schema

lookup

lookupAccountAppLocalStates

Code samples

Terminal window
curl -X GET https://example.com/v2/accounts/{account-id}/apps-local-state \
-H 'Accept: application/json'
GET https://example.com/v2/accounts/{account-id}/apps-local-state HTTP/1.1
Host: example.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://example.com/v2/accounts/{account-id}/apps-local-state',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://example.com/v2/accounts/{account-id}/apps-local-state',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://example.com/v2/accounts/{account-id}/apps-local-state', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://example.com/v2/accounts/{account-id}/apps-local-state', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://example.com/v2/accounts/{account-id}/apps-local-state");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://example.com/v2/accounts/{account-id}/apps-local-state", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}

GET /v2/accounts/{account-id}/apps-local-state

Lookup an account’s asset holdings, optionally for a specific ID.

Parameters

NameInTypeRequiredDescription
account-idpathstringtrueaccount string
application-idqueryintegerfalseApplication ID
include-allquerybooleanfalseInclude all items including closed accounts, deleted applications, destroyed assets, opted-out asset holdings, and closed-out application localstates.
limitqueryintegerfalseMaximum number of results to return. There could be additional pages even if the limit is not reached.
nextquerystringfalseThe next page of results. Use the next token provided by the previous results.

Example responses

200 Response

{
"apps-local-states": [
{
"closed-out-at-round": 0,
"deleted": true,
"id": 0,
"key-value": [
{
"key": "string",
"value": {
"bytes": "string",
"type": 0,
"uint": 0
}
}
],
"opted-in-at-round": 0,
"schema": {
"num-byte-slice": 0,
"num-uint": 0
}
}
],
"current-round": 0,
"next-token": "string"
}

Responses

StatusMeaningDescriptionSchema
200OK(empty)Inline
400Bad RequestResponse for errorsInline
404Not FoundResponse for errorsInline
500Internal Server ErrorResponse for errorsInline

Response Schema

Status Code 200

NameTypeRequiredRestrictionsDescription
» apps-local-states[ApplicationLocalState]truenone[Stores local state associated with an application.]
»» closed-out-at-roundintegerfalsenoneRound when account closed out of the application.
»» deletedbooleanfalsenoneWhether or not the application local state is currently deleted from its account.
»» idintegertruenoneThe application which this local state is for.
»» key-value[TealKeyValue]falsenoneRepresents a key-value store for use in an application.
»»» keystringtruenonenone
»»» valueTealValuetruenoneRepresents a TEAL value.
»»»» bytesstringtruenonebytes value.
»»»» typeintegertruenonetype of the value. Value 1 refers to bytes, value 2 refers to uint
»»»» uintintegertruenoneuint value.
»» opted-in-at-roundintegerfalsenoneRound when the account opted into the application.
»» schemaApplicationStateSchematruenoneSpecifies maximums on the number of each type that may be stored.
»»» num-byte-sliceintegertruenonenumber of byte slices.
»»» num-uintintegertruenonenumber of uints.
» current-roundintegertruenoneRound at which the results were computed.
» next-tokenstringfalsenoneUsed for pagination, when making another request provide this token with the next parameter.

Status Code 400

NameTypeRequiredRestrictionsDescription
» dataobjectfalsenonenone
» messagestringtruenonenone

Status Code 404

NameTypeRequiredRestrictionsDescription
» dataobjectfalsenonenone
» messagestringtruenonenone

Status Code 500

NameTypeRequiredRestrictionsDescription
» dataobjectfalsenonenone
» messagestringtruenonenone

lookupAccountAssets

Code samples

Terminal window
curl -X GET https://example.com/v2/accounts/{account-id}/assets \
-H 'Accept: application/json'
GET https://example.com/v2/accounts/{account-id}/assets HTTP/1.1
Host: example.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://example.com/v2/accounts/{account-id}/assets',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://example.com/v2/accounts/{account-id}/assets',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://example.com/v2/accounts/{account-id}/assets', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://example.com/v2/accounts/{account-id}/assets', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://example.com/v2/accounts/{account-id}/assets");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://example.com/v2/accounts/{account-id}/assets", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}

GET /v2/accounts/{account-id}/assets

Lookup an account’s asset holdings, optionally for a specific ID.

Parameters

NameInTypeRequiredDescription
account-idpathstringtrueaccount string
asset-idqueryintegerfalseAsset ID
include-allquerybooleanfalseInclude all items including closed accounts, deleted applications, destroyed assets, opted-out asset holdings, and closed-out application localstates.
limitqueryintegerfalseMaximum number of results to return. There could be additional pages even if the limit is not reached.
nextquerystringfalseThe next page of results. Use the next token provided by the previous results.

Example responses

200 Response

{
"assets": [
{
"amount": 0,
"asset-id": 0,
"deleted": true,
"is-frozen": true,
"opted-in-at-round": 0,
"opted-out-at-round": 0
}
],
"current-round": 0,
"next-token": "string"
}

Responses

StatusMeaningDescriptionSchema
200OK(empty)Inline
400Bad RequestResponse for errorsInline
404Not FoundResponse for errorsInline
500Internal Server ErrorResponse for errorsInline

Response Schema

Status Code 200

NameTypeRequiredRestrictionsDescription
» assets[AssetHolding]truenone[Describes an asset held by an account.

Definition:
data/basics/userBalance.go : AssetHolding]
»» amountintegertruenonenumber of units held.
»» asset-idintegertruenoneAsset ID of the holding.
»» deletedbooleanfalsenoneWhether or not the asset holding is currently deleted from its account.
»» is-frozenbooleantruenonewhether or not the holding is frozen.
»» opted-in-at-roundintegerfalsenoneRound during which the account opted into this asset holding.
»» opted-out-at-roundintegerfalsenoneRound during which the account opted out of this asset holding.
» current-roundintegertruenoneRound at which the results were computed.
» next-tokenstringfalsenoneUsed for pagination, when making another request provide this token with the next parameter.

Status Code 400

NameTypeRequiredRestrictionsDescription
» dataobjectfalsenonenone
» messagestringtruenonenone

Status Code 404

NameTypeRequiredRestrictionsDescription
» dataobjectfalsenonenone
» messagestringtruenonenone

Status Code 500

NameTypeRequiredRestrictionsDescription
» dataobjectfalsenonenone
» messagestringtruenonenone

lookupAccountByID

Code samples

Terminal window
curl -X GET https://example.com/v2/accounts/{account-id} \
-H 'Accept: application/json'
GET https://example.com/v2/accounts/{account-id} HTTP/1.1
Host: example.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://example.com/v2/accounts/{account-id}',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://example.com/v2/accounts/{account-id}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://example.com/v2/accounts/{account-id}', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://example.com/v2/accounts/{account-id}', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://example.com/v2/accounts/{account-id}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://example.com/v2/accounts/{account-id}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}

GET /v2/accounts/{account-id}

Lookup account information.

Parameters

NameInTypeRequiredDescription
account-idpathstringtrueaccount string
roundqueryintegerfalseInclude results for the specified round.
include-allquerybooleanfalseInclude all items including closed accounts, deleted applications, destroyed assets, opted-out asset holdings, and closed-out application localstates.
excludequeryarray[string]falseExclude additional items such as asset holdings, application local data stored for this account, asset parameters created by this account, and application parameters created by this account.

Enumerated Values

ParameterValue
excludeall
excludeassets
excludecreated-assets
excludeapps-local-state
excludecreated-apps
excludenone

Example responses

200 Response

{
"account": {
"address": "string",
"amount": 0,
"amount-without-pending-rewards": 0,
"apps-local-state": [
{
"closed-out-at-round": 0,
"deleted": true,
"id": 0,
"key-value": [
{
"key": "string",
"value": {
"bytes": "string",
"type": 0,
"uint": 0
}
}
],
"opted-in-at-round": 0,
"schema": {
"num-byte-slice": 0,
"num-uint": 0
}
}
],
"apps-total-extra-pages": 0,
"apps-total-schema": {
"num-byte-slice": 0,
"num-uint": 0
},
"assets": [
{
"amount": 0,
"asset-id": 0,
"deleted": true,
"is-frozen": true,
"opted-in-at-round": 0,
"opted-out-at-round": 0
}
],
"auth-addr": "string",
"closed-at-round": 0,
"created-apps": [
{
"created-at-round": 0,
"deleted": true,
"deleted-at-round": 0,
"id": 0,
"params": {
"approval-program": "string",
"clear-state-program": "string",
"creator": "string",
"extra-program-pages": 0,
"global-state": [
{
"key": "string",
"value": {
"bytes": "string",
"type": 0,
"uint": 0
}
}
],
"global-state-schema": {
"num-byte-slice": 0,
"num-uint": 0
},
"local-state-schema": {
"num-byte-slice": 0,
"num-uint": 0
}
}
}
],
"created-assets": [
{
"created-at-round": 0,
"deleted": true,
"destroyed-at-round": 0,
"index": 0,
"params": {
"clawback": "string",
"creator": "string",
"decimals": 19,
"default-frozen": true,
"freeze": "string",
"manager": "string",
"metadata-hash": "string",
"name": "string",
"name-b64": "string",
"reserve": "string",
"total": 0,
"unit-name": "string",
"unit-name-b64": "string",
"url": "string",
"url-b64": "string"
}
}
],
"created-at-round": 0,
"deleted": true,
"incentive-eligible": true,
"last-heartbeat": 0,
"last-proposed": 0,
"min-balance": 0,
"participation": {
"selection-participation-key": "string",
"state-proof-key": "string",
"vote-first-valid": 0,
"vote-key-dilution": 0,
"vote-last-valid": 0,
"vote-participation-key": "string"
},
"pending-rewards": 0,
"reward-base": 0,
"rewards": 0,
"round": 0,
"sig-type": "sig",
"status": "string",
"total-apps-opted-in": 0,
"total-assets-opted-in": 0,
"total-box-bytes": 0,
"total-boxes": 0,
"total-created-apps": 0,
"total-created-assets": 0
},
"current-round": 0
}

Responses

StatusMeaningDescriptionSchema
200OK(empty)Inline
400Bad RequestResponse for errorsInline
404Not FoundResponse for errorsInline
500Internal Server ErrorResponse for errorsInline

Response Schema

Status Code 200

NameTypeRequiredRestrictionsDescription
» accountAccounttruenoneAccount information at a given round.

Definition:
data/basics/userBalance.go : AccountData
»» addressstringtruenonethe account public key
»» amountintegertruenonetotal number of MicroAlgos in the account
»» amount-without-pending-rewardsintegertruenonespecifies the amount of MicroAlgos in the account, without the pending rewards.
»» apps-local-state[ApplicationLocalState]falsenoneapplication local data stored in this account.

Note the raw object uses map[int] -> AppLocalState for this type.
»»» closed-out-at-roundintegerfalsenoneRound when account closed out of the application.
»»» deletedbooleanfalsenoneWhether or not the application local state is currently deleted from its account.
»»» idintegertruenoneThe application which this local state is for.
»»» key-value[TealKeyValue]falsenoneRepresents a key-value store for use in an application.
»»»» keystringtruenonenone
»»»» valueTealValuetruenoneRepresents a TEAL value.
»»»»» bytesstringtruenonebytes value.
»»»»» typeintegertruenonetype of the value. Value 1 refers to bytes, value 2 refers to uint
»»»»» uintintegertruenoneuint value.
»»» opted-in-at-roundintegerfalsenoneRound when the account opted into the application.
»»» schemaApplicationStateSchematruenoneSpecifies maximums on the number of each type that may be stored.
»»»» num-byte-sliceintegertruenonenumber of byte slices.
»»»» num-uintintegertruenonenumber of uints.
»» apps-total-extra-pagesintegerfalsenonethe sum of all extra application program pages for this account.
»» apps-total-schemaApplicationStateSchemafalsenoneSpecifies maximums on the number of each type that may be stored.
»» assets[AssetHolding]falsenoneassets held by this account.

Note the raw object uses map[int] -> AssetHolding for this type.
»»» amountintegertruenonenumber of units held.
»»» asset-idintegertruenoneAsset ID of the holding.
»»» deletedbooleanfalsenoneWhether or not the asset holding is currently deleted from its account.
»»» is-frozenbooleantruenonewhether or not the holding is frozen.
»»» opted-in-at-roundintegerfalsenoneRound during which the account opted into this asset holding.
»»» opted-out-at-roundintegerfalsenoneRound during which the account opted out of this asset holding.
»» auth-addrstringfalsenoneThe 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.
»» closed-at-roundintegerfalsenoneRound during which this account was most recently closed.
»» created-apps[Application]falsenoneparameters of applications created by this account including app global data.

Note: the raw account uses map[int] -> AppParams for this type.
»»» created-at-roundintegerfalsenoneRound when this application was created.
»»» deletedbooleanfalsenoneWhether or not this application is currently deleted.
»»» deleted-at-roundintegerfalsenoneRound when this application was deleted.
»»» idintegertruenoneapplication index.
»»» paramsApplicationParamstruenoneStores the global information associated with an application.
»»»» approval-programstring(byte)truenoneapproval program.
»»»» clear-state-programstring(byte)truenoneclear state program.
»»»» creatorstringfalsenoneThe address that created this application. This is the address where the parameters and global state for this application can be found.
»»»» extra-program-pagesintegerfalsenonethe number of extra program pages available to this app.
»»»» global-state[TealKeyValue]falsenoneRepresents a key-value store for use in an application.
»»»» global-state-schemaApplicationStateSchemafalsenoneSpecifies maximums on the number of each type that may be stored.
»»»» local-state-schemaApplicationStateSchemafalsenoneSpecifies maximums on the number of each type that may be stored.
»» created-assets[Asset]falsenoneparameters of assets created by this account.

Note: the raw account uses map[int] -> Asset for this type.
»»» created-at-roundintegerfalsenoneRound during which this asset was created.
»»» deletedbooleanfalsenoneWhether or not this asset is currently deleted.
»»» destroyed-at-roundintegerfalsenoneRound during which this asset was destroyed.
»»» indexintegertruenoneunique asset identifier
»»» paramsAssetParamstruenoneAssetParams specifies the parameters for an asset.

[apar] when part of an AssetConfig transaction.

Definition:
data/transactions/asset.go : AssetParams
»»»» clawbackstringfalsenoneAddress of account used to clawback holdings of this asset. If empty, clawback is not permitted.
»»»» creatorstringtruenoneThe 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.
»»»» decimalsintegertruenoneThe 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).
»»»» default-frozenbooleanfalsenoneWhether holdings of this asset are frozen by default.
»»»» freezestringfalsenoneAddress of account used to freeze holdings of this asset. If empty, freezing is not permitted.
»»»» managerstringfalsenoneAddress of account used to manage the keys of this asset and to destroy it.
»»»» metadata-hashstring(byte)falsenoneA commitment to some unspecified asset metadata. The format of this metadata is up to the application.
»»»» namestringfalsenoneName of this asset, as supplied by the creator. Included only when the asset name is composed of printable utf-8 characters.
»»»» name-b64string(byte)falsenoneBase64 encoded name of this asset, as supplied by the creator.
»»»» reservestringfalsenoneAddress of account holding reserve (non-minted) units of this asset.
»»»» totalintegertruenoneThe total number of units of this asset.
»»»» unit-namestringfalsenoneName 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.
»»»» unit-name-b64string(byte)falsenoneBase64 encoded name of a unit of this asset, as supplied by the creator.
»»»» urlstringfalsenoneURL where more information about the asset can be retrieved. Included only when the URL is composed of printable utf-8 characters.
»»»» url-b64string(byte)falsenoneBase64 encoded URL where more information about the asset can be retrieved.
»» created-at-roundintegerfalsenoneRound during which this account first appeared in a transaction.
»» deletedbooleanfalsenoneWhether or not this account is currently closed.
»» incentive-eligiblebooleanfalsenonecan the account receive block incentives if its balance is in range at proposal time.
»» last-heartbeatintegerfalsenoneThe round in which this account last went online, or explicitly renewed their online status.
»» last-proposedintegerfalsenoneThe round in which this account last proposed the block.
»» min-balanceintegertruenoneMicroAlgo balance required by the account.

The requirement grows based on asset and application usage.
»» participationAccountParticipationfalsenoneAccountParticipation describes the parameters used by this account in consensus protocol.
»»» selection-participation-keystring(byte)truenoneSelection public key (if any) currently registered for this round.
»»» state-proof-keystring(byte)falsenoneRoot of the state proof key (if any)
»»» vote-first-validintegertruenoneFirst round for which this participation is valid.
»»» vote-key-dilutionintegertruenoneNumber of subkeys in each batch of participation keys.
»»» vote-last-validintegertruenoneLast round for which this participation is valid.
»»» vote-participation-keystring(byte)truenoneroot participation public key (if any) currently registered for this round.
»» pending-rewardsintegertruenoneamount of MicroAlgos of pending rewards in this account.
»» reward-baseintegerfalsenoneused as part of the rewards computation. Only applicable to accounts which are participating.
»» rewardsintegertruenonetotal rewards of MicroAlgos the account has received, including pending rewards.
»» roundintegertruenoneThe round for which this information is relevant.
»» sig-typestringfalsenonethe type of signature used by this account, must be one of:
* sig
* msig
* lsig
* or null if unknown
»» statusstringtruenonevoting 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.
»» total-apps-opted-inintegertruenoneThe count of all applications that have been opted in, equivalent to the count of application local data (AppLocalState objects) stored in this account.
»» total-assets-opted-inintegertruenoneThe count of all assets that have been opted in, equivalent to the count of AssetHolding objects held by this account.
»» total-box-bytesintegertruenoneFor app-accounts only. The total number of bytes allocated for the keys and values of boxes which belong to the associated application.
»» total-boxesintegertruenoneFor app-accounts only. The total number of boxes which belong to the associated application.
»» total-created-appsintegertruenoneThe count of all apps (AppParams objects) created by this account.
»» total-created-assetsintegertruenoneThe count of all assets (AssetParams objects) created by this account.
» current-roundintegertruenoneRound at which the results were computed.

Enumerated Values

PropertyValue
sig-typesig
sig-typemsig
sig-typelsig

Status Code 400

NameTypeRequiredRestrictionsDescription
» dataobjectfalsenonenone
» messagestringtruenonenone

Status Code 404

NameTypeRequiredRestrictionsDescription
» dataobjectfalsenonenone
» messagestringtruenonenone

Status Code 500

NameTypeRequiredRestrictionsDescription
» dataobjectfalsenonenone
» messagestringtruenonenone

lookupAccountCreatedApplications

Code samples

Terminal window
curl -X GET https://example.com/v2/accounts/{account-id}/created-applications \
-H 'Accept: application/json'
GET https://example.com/v2/accounts/{account-id}/created-applications HTTP/1.1
Host: example.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://example.com/v2/accounts/{account-id}/created-applications',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://example.com/v2/accounts/{account-id}/created-applications',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://example.com/v2/accounts/{account-id}/created-applications', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://example.com/v2/accounts/{account-id}/created-applications', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://example.com/v2/accounts/{account-id}/created-applications");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://example.com/v2/accounts/{account-id}/created-applications", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}

GET /v2/accounts/{account-id}/created-applications

Lookup an account’s created application parameters, optionally for a specific ID.

Parameters

NameInTypeRequiredDescription
account-idpathstringtrueaccount string
application-idqueryintegerfalseApplication ID
include-allquerybooleanfalseInclude all items including closed accounts, deleted applications, destroyed assets, opted-out asset holdings, and closed-out application localstates.
limitqueryintegerfalseMaximum number of results to return. There could be additional pages even if the limit is not reached.
nextquerystringfalseThe next page of results. Use the next token provided by the previous results.

Example responses

200 Response

{
"applications": [
{
"created-at-round": 0,
"deleted": true,
"deleted-at-round": 0,
"id": 0,
"params": {
"approval-program": "string",
"clear-state-program": "string",
"creator": "string",
"extra-program-pages": 0,
"global-state": [
{
"key": "string",
"value": {
"bytes": "string",
"type": 0,
"uint": 0
}
}
],
"global-state-schema": {
"num-byte-slice": 0,
"num-uint": 0
},
"local-state-schema": {
"num-byte-slice": 0,
"num-uint": 0
}
}
}
],
"current-round": 0,
"next-token": "string"
}

Responses

StatusMeaningDescriptionSchema
200OK(empty)Inline
400Bad RequestResponse for errorsInline
404Not FoundResponse for errorsInline
500Internal Server ErrorResponse for errorsInline

Response Schema

Status Code 200

NameTypeRequiredRestrictionsDescription
» applications[Application]truenone[Application index and its parameters]
»» created-at-roundintegerfalsenoneRound when this application was created.
»» deletedbooleanfalsenoneWhether or not this application is currently deleted.
»» deleted-at-roundintegerfalsenoneRound when this application was deleted.
»» idintegertruenoneapplication index.
»» paramsApplicationParamstruenoneStores the global information associated with an application.
»»» approval-programstring(byte)truenoneapproval program.
»»» clear-state-programstring(byte)truenoneclear state program.
»»» creatorstringfalsenoneThe address that created this application. This is the address where the parameters and global state for this application can be found.
»»» extra-program-pagesintegerfalsenonethe number of extra program pages available to this app.
»»» global-state[TealKeyValue]falsenoneRepresents a key-value store for use in an application.
»»»» keystringtruenonenone
»»»» valueTealValuetruenoneRepresents a TEAL value.
»»»»» bytesstringtruenonebytes value.
»»»»» typeintegertruenonetype of the value. Value 1 refers to bytes, value 2 refers to uint
»»»»» uintintegertruenoneuint value.
»»» global-state-schemaApplicationStateSchemafalsenoneSpecifies maximums on the number of each type that may be stored.
»»»» num-byte-sliceintegertruenonenumber of byte slices.
»»»» num-uintintegertruenonenumber of uints.
»»» local-state-schemaApplicationStateSchemafalsenoneSpecifies maximums on the number of each type that may be stored.
» current-roundintegertruenoneRound at which the results were computed.
» next-tokenstringfalsenoneUsed for pagination, when making another request provide this token with the next parameter.

Status Code 400

NameTypeRequiredRestrictionsDescription
» dataobjectfalsenonenone
» messagestringtruenonenone

Status Code 404

NameTypeRequiredRestrictionsDescription
» dataobjectfalsenonenone
» messagestringtruenonenone

Status Code 500

NameTypeRequiredRestrictionsDescription
» dataobjectfalsenonenone
» messagestringtruenonenone

lookupAccountCreatedAssets

Code samples

Terminal window
curl -X GET https://example.com/v2/accounts/{account-id}/created-assets \
-H 'Accept: application/json'
GET https://example.com/v2/accounts/{account-id}/created-assets HTTP/1.1
Host: example.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://example.com/v2/accounts/{account-id}/created-assets',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://example.com/v2/accounts/{account-id}/created-assets',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://example.com/v2/accounts/{account-id}/created-assets', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://example.com/v2/accounts/{account-id}/created-assets', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://example.com/v2/accounts/{account-id}/created-assets");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://example.com/v2/accounts/{account-id}/created-assets", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}

GET /v2/accounts/{account-id}/created-assets

Lookup an account’s created asset parameters, optionally for a specific ID.

Parameters

NameInTypeRequiredDescription
account-idpathstringtrueaccount string
asset-idqueryintegerfalseAsset ID
include-allquerybooleanfalseInclude all items including closed accounts, deleted applications, destroyed assets, opted-out asset holdings, and closed-out application localstates.
limitqueryintegerfalseMaximum number of results to return. There could be additional pages even if the limit is not reached.
nextquerystringfalseThe next page of results. Use the next token provided by the previous results.

Example responses

200 Response

{
"assets": [
{
"created-at-round": 0,
"deleted": true,
"destroyed-at-round": 0,
"index": 0,
"params": {
"clawback": "string",
"creator": "string",
"decimals": 19,
"default-frozen": true,
"freeze": "string",
"manager": "string",
"metadata-hash": "string",
"name": "string",
"name-b64": "string",
"reserve": "string",
"total": 0,
"unit-name": "string",
"unit-name-b64": "string",
"url": "string",
"url-b64": "string"
}
}
],
"current-round": 0,
"next-token": "string"
}

Responses

StatusMeaningDescriptionSchema
200OK(empty)Inline
400Bad RequestResponse for errorsInline
404Not FoundResponse for errorsInline
500Internal Server ErrorResponse for errorsInline

Response Schema

Status Code 200

NameTypeRequiredRestrictionsDescription
» assets[Asset]truenone[Specifies both the unique identifier and the parameters for an asset]
»» created-at-roundintegerfalsenoneRound during which this asset was created.
»» deletedbooleanfalsenoneWhether or not this asset is currently deleted.
»» destroyed-at-roundintegerfalsenoneRound during which this asset was destroyed.
»» indexintegertruenoneunique asset identifier
»» paramsAssetParamstruenoneAssetParams specifies the parameters for an asset.

[apar] when part of an AssetConfig transaction.

Definition:
data/transactions/asset.go : AssetParams
»»» clawbackstringfalsenoneAddress of account used to clawback holdings of this asset. If empty, clawback is not permitted.
»»» creatorstringtruenoneThe 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.
»»» decimalsintegertruenoneThe 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).
»»» default-frozenbooleanfalsenoneWhether holdings of this asset are frozen by default.
»»» freezestringfalsenoneAddress of account used to freeze holdings of this asset. If empty, freezing is not permitted.
»»» managerstringfalsenoneAddress of account used to manage the keys of this asset and to destroy it.
»»» metadata-hashstring(byte)falsenoneA commitment to some unspecified asset metadata. The format of this metadata is up to the application.
»»» namestringfalsenoneName of this asset, as supplied by the creator. Included only when the asset name is composed of printable utf-8 characters.
»»» name-b64string(byte)falsenoneBase64 encoded name of this asset, as supplied by the creator.
»»» reservestringfalsenoneAddress of account holding reserve (non-minted) units of this asset.
»»» totalintegertruenoneThe total number of units of this asset.
»»» unit-namestringfalsenoneName 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.
»»» unit-name-b64string(byte)falsenoneBase64 encoded name of a unit of this asset, as supplied by the creator.
»»» urlstringfalsenoneURL where more information about the asset can be retrieved. Included only when the URL is composed of printable utf-8 characters.
»»» url-b64string(byte)falsenoneBase64 encoded URL where more information about the asset can be retrieved.
» current-roundintegertruenoneRound at which the results were computed.
» next-tokenstringfalsenoneUsed for pagination, when making another request provide this token with the next parameter.

Status Code 400

NameTypeRequiredRestrictionsDescription
» dataobjectfalsenonenone
» messagestringtruenonenone

Status Code 404

NameTypeRequiredRestrictionsDescription
» dataobjectfalsenonenone
» messagestringtruenonenone

Status Code 500

NameTypeRequiredRestrictionsDescription
» dataobjectfalsenonenone
» messagestringtruenonenone

lookupAccountTransactions

Code samples

Terminal window
curl -X GET https://example.com/v2/accounts/{account-id}/transactions \
-H 'Accept: application/json'
GET https://example.com/v2/accounts/{account-id}/transactions HTTP/1.1
Host: example.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://example.com/v2/accounts/{account-id}/transactions',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://example.com/v2/accounts/{account-id}/transactions',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://example.com/v2/accounts/{account-id}/transactions', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://example.com/v2/accounts/{account-id}/transactions', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://example.com/v2/accounts/{account-id}/transactions");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://example.com/v2/accounts/{account-id}/transactions", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}

GET /v2/accounts/{account-id}/transactions

Lookup account transactions. Transactions are returned newest to oldest.

Parameters

NameInTypeRequiredDescription
limitqueryintegerfalseMaximum number of results to return. There could be additional pages even if the limit is not reached.
nextquerystringfalseThe next page of results. Use the next token provided by the previous results.
note-prefixquerystringfalseSpecifies a prefix which must be contained in the note field.
tx-typequerystringfalsenone
sig-typequerystringfalseSigType filters just results using the specified type of signature:
txidquerystringfalseLookup the specific transaction by ID.
roundqueryintegerfalseInclude results for the specified round.
min-roundqueryintegerfalseInclude results at or after the specified min-round.
max-roundqueryintegerfalseInclude results at or before the specified max-round.
asset-idqueryintegerfalseAsset ID
before-timequerystring(date-time)falseInclude results before the given time. Must be an RFC 3339 formatted string.
after-timequerystring(date-time)falseInclude results after the given time. Must be an RFC 3339 formatted string.
currency-greater-thanqueryintegerfalseResults should have an amount greater than this value. MicroAlgos are the default currency unless an asset-id is provided, in which case the asset will be used.
currency-less-thanqueryintegerfalseResults should have an amount less than this value. MicroAlgos are the default currency unless an asset-id is provided, in which case the asset will be used.
account-idpathstringtrueaccount string
rekey-toquerybooleanfalseInclude results which include the rekey-to field.

Detailed descriptions

sig-type: SigType filters just results using the specified type of signature:

  • sig - Standard
  • msig - MultiSig
  • lsig - LogicSig

Enumerated Values

ParameterValue
tx-typepay
tx-typekeyreg
tx-typeacfg
tx-typeaxfer
tx-typeafrz
tx-typeappl
tx-typestpf
tx-typehb
sig-typesig
sig-typemsig
sig-typelsig

Example responses

200 Response

{
"current-round": 0,
"next-token": "string",
"transactions": [
{
"application-transaction": {
"accounts": [
"string"
],
"application-args": [
"string"
],
"application-id": 0,
"approval-program": "string",
"clear-state-program": "string",
"extra-program-pages": 0,
"foreign-apps": [
0
],
"foreign-assets": [
0
],
"global-state-schema": {
"num-byte-slice": 0,
"num-uint": 0
},
"local-state-schema": {
"num-byte-slice": 0,
"num-uint": 0
},
"on-completion": "noop"
},
"asset-config-transaction": {
"asset-id": 0,
"params": {
"clawback": "string",
"creator": "string",
"decimals": 19,
"default-frozen": true,
"freeze": "string",
"manager": "string",
"metadata-hash": "string",
"name": "string",
"name-b64": "string",
"reserve": "string",
"total": 0,
"unit-name": "string",
"unit-name-b64": "string",
"url": "string",
"url-b64": "string"
}
},
"asset-freeze-transaction": {
"address": "string",
"asset-id": 0,
"new-freeze-status": true
},
"asset-transfer-transaction": {
"amount": 0,
"asset-id": 0,
"close-amount": 0,
"close-to": "string",
"receiver": "string",
"sender": "string"
},
"auth-addr": "string",
"close-rewards": 0,
"closing-amount": 0,
"confirmed-round": 0,
"created-application-index": 0,
"created-asset-index": 0,
"fee": 0,
"first-valid": 0,
"genesis-hash": "string",
"genesis-id": "string",
"global-state-delta": [
{
"key": "string",
"value": {
"action": 0,
"bytes": "string",
"uint": 0
}
}
],
"group": "string",
"heartbeat-transaction": {
"hb-address": "string",
"hb-key-dilution": 0,
"hb-proof": {
"hb-pk": "string",
"hb-pk1sig": "string",
"hb-pk2": "string",
"hb-pk2sig": "string",
"hb-sig": "string"
},
"hb-seed": "string",
"hb-vote-id": "string"
},
"id": "string",
"inner-txns": [
{}
],
"intra-round-offset": 0,
"keyreg-transaction": {
"non-participation": true,
"selection-participation-key": "string",
"state-proof-key": "string",
"vote-first-valid": 0,
"vote-key-dilution": 0,
"vote-last-valid": 0,
"vote-participation-key": "string"
},
"last-valid": 0,
"lease": "string",
"local-state-delta": [
{
"address": "string",
"delta": [
{
"key": "string",
"value": {
"action": 0,
"bytes": "string",
"uint": 0
}
}
]
}
],
"logs": [
"string"
],
"note": "string",
"payment-transaction": {
"amount": 0,
"close-amount": 0,
"close-remainder-to": "string",
"receiver": "string"
},
"receiver-rewards": 0,
"rekey-to": "string",
"round-time": 0,
"sender": "string",
"sender-rewards": 0,
"signature": {
"logicsig": {
"args": [
"string"
],
"logic": "string",
"multisig-signature": {
"subsignature": [
{
"public-key": "string",
"signature": "string"
}
],
"threshold": 0,
"version": 0
},
"signature": "string"
},
"multisig": {
"subsignature": [
{
"public-key": "string",
"signature": "string"
}
],
"threshold": 0,
"version": 0
},
"sig": "string"
},
"state-proof-transaction": {
"message": {
"block-headers-commitment": "string",
"first-attested-round": 0,
"latest-attested-round": 0,
"ln-proven-weight": 0,
"voters-commitment": "string"
},
"state-proof": {
"part-proofs": {
"hash-factory": {
"hash-type": 0
},
"path": [
"string"
],
"tree-depth": 0
},
"positions-to-reveal": [
0
],
"reveals": [
{
"participant": {
"verifier": {
"commitment": "string",
"key-lifetime": 0
},
"weight": 0
},
"position": 0,
"sig-slot": {
"lower-sig-weight": 0,
"signature": {
"falcon-signature": "string",
"merkle-array-index": 0,
"proof": {
"hash-factory": {},
"path": [],
"tree-depth": 0
},
"verifying-key": "string"
}
}
}
],
"salt-version": 0,
"sig-commit": "string",
"sig-proofs": {
"hash-factory": {
"hash-type": 0
},
"path": [
"string"
],
"tree-depth": 0
},
"signed-weight": 0
},
"state-proof-type": 0
},
"tx-type": "pay"
}
]
}

Responses

StatusMeaningDescriptionSchema
200OK(empty)Inline
400Bad RequestResponse for errorsInline
500Internal Server ErrorResponse for errorsInline

Response Schema

Status Code 200

NameTypeRequiredRestrictionsDescription
» current-roundintegertruenoneRound at which the results were computed.
» next-tokenstringfalsenoneUsed for pagination, when making another request provide this token with the next parameter.
» transactions[Transaction]truenone[Contains all fields common to all transactions and serves as an envelope to all transactions type. Represents both regular and inner transactions.

Definition:
data/transactions/signedtxn.go : SignedTxn
data/transactions/transaction.go : Transaction
]
»» application-transactionTransactionApplicationfalsenoneFields for application transactions.

Definition:
data/transactions/application.go : ApplicationCallTxnFields
»»» accounts[string]falsenone[apat] List of accounts in addition to the sender that may be accessed from the application’s approval-program and clear-state-program.
»»» application-args[string]falsenone[apaa] transaction specific arguments accessed from the application’s approval-program and clear-state-program.
»»» application-idintegertruenone[apid] ID of the application being configured or empty if creating.
»»» approval-programstring(byte)falsenone[apap] Logic executed for every application transaction, except when on-completion is set to “clear”. It can read and write global state for the application, as well as account-specific local state. Approval programs may reject the transaction.
»»» clear-state-programstring(byte)falsenone[apsu] Logic executed for application transactions with on-completion set to “clear”. It can read and write global state for the application, as well as account-specific local state. Clear state programs cannot reject the transaction.
»»» extra-program-pagesintegerfalsenone[epp] specifies the additional app program len requested in pages.
»»» foreign-apps[integer]falsenone[apfa] Lists the applications in addition to the application-id whose global states may be accessed by this application’s approval-program and clear-state-program. The access is read-only.
»»» foreign-assets[integer]falsenone[apas] lists the assets whose parameters may be accessed by this application’s ApprovalProgram and ClearStateProgram. The access is read-only.
»»» global-state-schemaStateSchemafalsenoneRepresents a [apls] local-state or [apgs] global-state schema. These schemas determine how much storage may be used in a local-state or global-state for an application. The more space used, the larger minimum balance must be maintained in the account holding the data.
»»»» num-byte-sliceintegertruenoneMaximum number of TEAL byte slices that may be stored in the key/value store.
»»»» num-uintintegertruenoneMaximum number of TEAL uints that may be stored in the key/value store.
»»» local-state-schemaStateSchemafalsenoneRepresents a [apls] local-state or [apgs] global-state schema. These schemas determine how much storage may be used in a local-state or global-state for an application. The more space used, the larger minimum balance must be maintained in the account holding the data.
»»» on-completionOnCompletiontruenone[apan] defines the what additional actions occur with the transaction.

Valid types:
* noop
* optin
* closeout
* clear
* update
* update
* delete
»» asset-config-transactionTransactionAssetConfigfalsenoneFields for asset allocation, re-configuration, and destruction.


A zero value for asset-id indicates asset creation.
A zero value for the params indicates asset destruction.

Definition:
data/transactions/asset.go : AssetConfigTxnFields
»»» asset-idintegerfalsenone[xaid] ID of the asset being configured or empty if creating.
»»» paramsAssetParamsfalsenoneAssetParams specifies the parameters for an asset.

[apar] when part of an AssetConfig transaction.

Definition:
data/transactions/asset.go : AssetParams
»»»» clawbackstringfalsenoneAddress of account used to clawback holdings of this asset. If empty, clawback is not permitted.
»»»» creatorstringtruenoneThe 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.
»»»» decimalsintegertruenoneThe 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).
»»»» default-frozenbooleanfalsenoneWhether holdings of this asset are frozen by default.
»»»» freezestringfalsenoneAddress of account used to freeze holdings of this asset. If empty, freezing is not permitted.
»»»» managerstringfalsenoneAddress of account used to manage the keys of this asset and to destroy it.
»»»» metadata-hashstring(byte)falsenoneA commitment to some unspecified asset metadata. The format of this metadata is up to the application.
»»»» namestringfalsenoneName of this asset, as supplied by the creator. Included only when the asset name is composed of printable utf-8 characters.
»»»» name-b64string(byte)falsenoneBase64 encoded name of this asset, as supplied by the creator.
»»»» reservestringfalsenoneAddress of account holding reserve (non-minted) units of this asset.
»»»» totalintegertruenoneThe total number of units of this asset.
»»»» unit-namestringfalsenoneName 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.
»»»» unit-name-b64string(byte)falsenoneBase64 encoded name of a unit of this asset, as supplied by the creator.
»»»» urlstringfalsenoneURL where more information about the asset can be retrieved. Included only when the URL is composed of printable utf-8 characters.
»»»» url-b64string(byte)falsenoneBase64 encoded URL where more information about the asset can be retrieved.
»» asset-freeze-transactionTransactionAssetFreezefalsenoneFields for an asset freeze transaction.

Definition:
data/transactions/asset.go : AssetFreezeTxnFields
»»» addressstringtruenone[fadd] Address of the account whose asset is being frozen or thawed.
»»» asset-idintegertruenone[faid] ID of the asset being frozen or thawed.
»»» new-freeze-statusbooleantruenone[afrz] The new freeze status.
»» asset-transfer-transactionTransactionAssetTransferfalsenoneFields for an asset transfer transaction.

Definition:
data/transactions/asset.go : AssetTransferTxnFields
»»» amountintegertruenone[aamt] Amount of asset to transfer. A zero amount transferred to self allocates that asset in the account’s Assets map.
»»» asset-idintegertruenone[xaid] ID of the asset being transferred.
»»» close-amountintegerfalsenoneNumber of assets transferred to the close-to account as part of the transaction.
»»» close-tostringfalsenone[aclose] Indicates that the asset should be removed from the account’s Assets map, and specifies where the remaining asset holdings should be transferred. It’s always valid to transfer remaining asset holdings to the creator account.
»»» receiverstringtruenone[arcv] Recipient address of the transfer.
»»» senderstringfalsenone[asnd] The effective sender during a clawback transactions. If this is not a zero value, the real transaction sender must be the Clawback address from the AssetParams.
»» auth-addrstringfalsenone[sgnr] this is included with signed transactions when the signing address does not equal the sender. The backend can use this to ensure that auth addr is equal to the accounts auth addr.
»» close-rewardsintegerfalsenone[rc] rewards applied to close-remainder-to account.
»» closing-amountintegerfalsenone[ca] closing amount for transaction.
»» confirmed-roundintegerfalsenoneRound when the transaction was confirmed.
»» created-application-indexintegerfalsenoneSpecifies an application index (ID) if an application was created with this transaction.
»» created-asset-indexintegerfalsenoneSpecifies an asset index (ID) if an asset was created with this transaction.
»» feeintegertruenone[fee] Transaction fee.
»» first-validintegertruenone[fv] First valid round for this transaction.
»» genesis-hashstring(byte)falsenone[gh] Hash of genesis block.
»» genesis-idstringfalsenone[gen] genesis block ID.
»» global-state-delta[EvalDeltaKeyValue]falsenoneApplication state delta.
»»» keystringtruenonenone
»»» valueEvalDeltatruenoneRepresents a TEAL value delta.
»»»» actionintegertruenone[at] delta action.
»»»» bytesstringfalsenone[bs] bytes value.
»»»» uintintegerfalsenone[ui] uint value.
»» groupstring(byte)falsenone[grp] Base64 encoded byte array of a sha512/256 digest. When present indicates that this transaction is part of a transaction group and the value is the sha512/256 hash of the transactions in that group.
»» heartbeat-transactionTransactionHeartbeatfalsenoneFields for a heartbeat transaction.

Definition:
data/transactions/heartbeat.go : HeartbeatTxnFields
»»» hb-addressstringtruenone[hbad] HbAddress is the account this txn is proving onlineness for.
»»» hb-key-dilutionintegertruenone[hbkd] HbKeyDilution must match HbAddress account’s current KeyDilution.
»»» hb-proofHbProofFieldstruenone[hbprf] HbProof is a signature using HeartbeatAddress’s partkey, thereby showing it is online.
»»»» hb-pkstring(byte)falsenone[p] Public key of the heartbeat message.
»»»» hb-pk1sigstring(byte)falsenone[p1s] Signature of OneTimeSignatureSubkeyOffsetID(PK, Batch, Offset) under the key PK2.
»»»» hb-pk2string(byte)falsenone[p2] Key for new-style two-level ephemeral signature.
»»»» hb-pk2sigstring(byte)falsenone[p2s] Signature of OneTimeSignatureSubkeyBatchID(PK2, Batch) under the master key (OneTimeSignatureVerifier).
»»»» hb-sigstring(byte)falsenone[s] Signature of the heartbeat message.
»»» hb-seedstring(byte)truenone[hbsd] HbSeed must be the block seed for the this transaction’s firstValid block.
»»» hb-vote-idstring(byte)truenone[hbvid] HbVoteID must match the HbAddress account’s current VoteID.
»» idstringfalsenoneTransaction ID
»» inner-txns[Transaction]falsenoneInner transactions produced by application execution.
»» intra-round-offsetintegerfalsenoneOffset into the round where this transaction was confirmed.
»» keyreg-transactionTransactionKeyregfalsenoneFields for a keyreg transaction.

Definition:
data/transactions/keyreg.go : KeyregTxnFields
»»» non-participationbooleanfalsenone[nonpart] Mark the account as participating or non-participating.
»»» selection-participation-keystring(byte)falsenone[selkey] Public key used with the Verified Random Function (VRF) result during committee selection.
»»» state-proof-keystring(byte)falsenone[sprfkey] State proof key used in key registration transactions.
»»» vote-first-validintegerfalsenone[votefst] First round this participation key is valid.
»»» vote-key-dilutionintegerfalsenone[votekd] Number of subkeys in each batch of participation keys.
»»» vote-last-validintegerfalsenone[votelst] Last round this participation key is valid.
»»» vote-participation-keystring(byte)falsenone[votekey] Participation public key used in key registration transactions.
»» last-validintegertruenone[lv] Last valid round for this transaction.
»» leasestring(byte)falsenone[lx] Base64 encoded 32-byte array. Lease enforces mutual exclusion of transactions. If this field is nonzero, then once the transaction is confirmed, it acquires the lease identified by the (Sender, Lease) pair of the transaction until the LastValid round passes. While this transaction possesses the lease, no other transaction specifying this lease can be confirmed.
»» local-state-delta[AccountStateDelta]falsenone[ld] Local state key/value changes for the application being executed by this transaction.
»»» addressstringtruenonenone
»»» delta[EvalDeltaKeyValue]truenoneApplication state delta.
»» logs[string]falsenone[lg] Logs for the application being executed by this transaction.
»» notestring(byte)falsenone[note] Free form data.
»» payment-transactionTransactionPaymentfalsenoneFields for a payment transaction.

Definition:
data/transactions/payment.go : PaymentTxnFields
»»» amountintegertruenone[amt] number of MicroAlgos intended to be transferred.
»»» close-amountintegerfalsenoneNumber of MicroAlgos that were sent to the close-remainder-to address when closing the sender account.
»»» close-remainder-tostringfalsenone[close] when set, indicates that the sending account should be closed and all remaining funds be transferred to this address.
»»» receiverstringtruenone[rcv] receiver’s address.
»» receiver-rewardsintegerfalsenone[rr] rewards applied to receiver account.
»» rekey-tostringfalsenone[rekey] when included in a valid transaction, the accounts auth addr will be updated with this value and future signatures must be signed with the key represented by this address.
»» round-timeintegerfalsenoneTime when the block this transaction is in was confirmed.
»» senderstringtruenone[snd] Sender’s address.
»» sender-rewardsintegerfalsenone[rs] rewards applied to sender account.
»» signatureTransactionSignaturefalsenoneValidation signature associated with some data. Only one of the signatures should be provided.
»»» logicsigTransactionSignatureLogicsigfalsenone[lsig] Programatic transaction signature.

Definition:
data/transactions/logicsig.go
»»»» args[string]falsenone[arg] Logic arguments, base64 encoded.
»»»» logicstring(byte)truenone[l] Program signed by a signature or multi signature, or hashed to be the address of ana ccount. Base64 encoded TEAL program.
»»»» multisig-signatureTransactionSignatureMultisigfalsenone[msig] structure holding multiple subsignatures.

Definition:
crypto/multisig.go : MultisigSig
»»»»» subsignature[TransactionSignatureMultisigSubsignature]falsenone[subsig] holds pairs of public key and signatures.
»»»»»» public-keystring(byte)falsenone[pk]
»»»»»» signaturestring(byte)falsenone[s]
»»»»» thresholdintegerfalsenone[thr]
»»»»» versionintegerfalsenone[v]
»»»» signaturestring(byte)falsenone[sig] ed25519 signature.
»»» multisigTransactionSignatureMultisigfalsenone[msig] structure holding multiple subsignatures.

Definition:
crypto/multisig.go : MultisigSig
»»» sigstring(byte)falsenone[sig] Standard ed25519 signature.
»» state-proof-transactionTransactionStateProoffalsenoneFields for a state proof transaction.

Definition:
data/transactions/stateproof.go : StateProofTxnFields
»»» messageIndexerStateProofMessagefalsenonenone
»»»» block-headers-commitmentstring(byte)falsenone[b]
»»»» first-attested-roundintegerfalsenone[f]
»»»» latest-attested-roundintegerfalsenone[l]
»»»» ln-proven-weightintegerfalsenone[P]
»»»» voters-commitmentstring(byte)falsenone[v]
»»» state-proofStateProofFieldsfalsenone[sp] represents a state proof.

Definition:
crypto/stateproof/structs.go : StateProof
»»»» part-proofsMerkleArrayProoffalsenonenone
»»»»» hash-factoryHashFactoryfalsenonenone
»»»»»» hash-typeintegerfalsenone[t]
»»»»» path[string]falsenone[pth]
»»»»» tree-depthintegerfalsenone[td]
»»»» positions-to-reveal[integer]falsenone[pr] Sequence of reveal positions.
»»»» reveals[StateProofReveal]falsenone[r] Note that this is actually stored as a map[uint64] - Reveal in the actual msgp
»»»»» participantStateProofParticipantfalsenonenone
»»»»»» verifierStateProofVerifierfalsenonenone
»»»»»»» commitmentstring(byte)falsenone[cmt] Represents the root of the vector commitment tree.
»»»»»»» key-lifetimeintegerfalsenone[lf] Key lifetime.
»»»»»» weightintegerfalsenone[w]
»»»»» positionintegerfalsenoneThe position in the signature and participants arrays corresponding to this entry.
»»»»» sig-slotStateProofSigSlotfalsenonenone
»»»»»» lower-sig-weightintegerfalsenone[l] The total weight of signatures in the lower-numbered slots.
»»»»»» signatureStateProofSignaturefalsenonenone
»»»»»»» falcon-signaturestring(byte)falsenonenone
»»»»»»» merkle-array-indexintegerfalsenonenone
»»»»»»» proofMerkleArrayProoffalsenonenone
»»»»»»» verifying-keystring(byte)falsenone[vkey]
»»»» salt-versionintegerfalsenone[v] Salt version of the merkle signature.
»»»» sig-commitstring(byte)falsenone[c]
»»»» sig-proofsMerkleArrayProoffalsenonenone
»»»» signed-weightintegerfalsenone[w]
»»» state-proof-typeintegerfalsenone[sptype] Type of the state proof. Integer representing an entry defined in protocol/stateproof.go
»» tx-typestringtruenone[type] Indicates what type of transaction this is. Different types have different fields.

Valid types, and where their fields are stored:
* [pay] payment-transaction
* [keyreg] keyreg-transaction
* [acfg] asset-config-transaction
* [axfer] asset-transfer-transaction
* [afrz] asset-freeze-transaction
* [appl] application-transaction
* [stpf] state-proof-transaction
* [hb] heartbeat-transaction

Enumerated Values

PropertyValue
on-completionnoop
on-completionoptin
on-completioncloseout
on-completionclear
on-completionupdate
on-completiondelete
tx-typepay
tx-typekeyreg
tx-typeacfg
tx-typeaxfer
tx-typeafrz
tx-typeappl
tx-typestpf
tx-typehb

Status Code 400

NameTypeRequiredRestrictionsDescription
» dataobjectfalsenonenone
» messagestringtruenonenone

Status Code 500

NameTypeRequiredRestrictionsDescription
» dataobjectfalsenonenone
» messagestringtruenonenone

lookupApplicationBoxByIDAndName

Code samples

Terminal window
curl -X GET https://example.com/v2/applications/{application-id}/box?name=string \
-H 'Accept: application/json'
GET https://example.com/v2/applications/{application-id}/box?name=string HTTP/1.1
Host: example.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://example.com/v2/applications/{application-id}/box?name=string',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://example.com/v2/applications/{application-id}/box',
params: {
'name' => 'string'
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://example.com/v2/applications/{application-id}/box', params={
'name': 'string'
}, headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://example.com/v2/applications/{application-id}/box', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://example.com/v2/applications/{application-id}/box?name=string");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://example.com/v2/applications/{application-id}/box", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}

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

Get box information for a given application.

Given an application ID and box name, returns base64 encoded box name and value. Box names must be in the goal app call arg form ‘encoding:value’. For ints, use the form ‘int:1234’. For raw bytes, encode base 64 and use ‘b64’ prefix as in ‘b64:A==’. For printable strings, use the form ‘str:hello’. For addresses, use the form ‘addr:XYZ…’.

Parameters

NameInTypeRequiredDescription
application-idpathintegertruenone
namequerystringtrueA box name in goal-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…’.

Example responses

200 Response

{
"name": "string",
"round": 0,
"value": "string"
}

Responses

StatusMeaningDescriptionSchema
200OKBox informationBox
400Bad RequestResponse for errorsInline
404Not FoundResponse for errorsInline
500Internal Server ErrorResponse for errorsInline

Response Schema

Status Code 400

NameTypeRequiredRestrictionsDescription
» dataobjectfalsenonenone
» messagestringtruenonenone

Status Code 404

NameTypeRequiredRestrictionsDescription
» dataobjectfalsenonenone
» messagestringtruenonenone

Status Code 500

NameTypeRequiredRestrictionsDescription
» dataobjectfalsenonenone
» messagestringtruenonenone

lookupApplicationByID

Code samples

Terminal window
curl -X GET https://example.com/v2/applications/{application-id} \
-H 'Accept: application/json'
GET https://example.com/v2/applications/{application-id} HTTP/1.1
Host: example.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://example.com/v2/applications/{application-id}',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://example.com/v2/applications/{application-id}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://example.com/v2/applications/{application-id}', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://example.com/v2/applications/{application-id}', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://example.com/v2/applications/{application-id}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://example.com/v2/applications/{application-id}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}

GET /v2/applications/{application-id}

Lookup application.

Parameters

NameInTypeRequiredDescription
application-idpathintegertruenone
include-allquerybooleanfalseInclude all items including closed accounts, deleted applications, destroyed assets, opted-out asset holdings, and closed-out application localstates.

Example responses

200 Response

{
"application": {
"created-at-round": 0,
"deleted": true,
"deleted-at-round": 0,
"id": 0,
"params": {
"approval-program": "string",
"clear-state-program": "string",
"creator": "string",
"extra-program-pages": 0,
"global-state": [
{
"key": "string",
"value": {
"bytes": "string",
"type": 0,
"uint": 0
}
}
],
"global-state-schema": {
"num-byte-slice": 0,
"num-uint": 0
},
"local-state-schema": {
"num-byte-slice": 0,
"num-uint": 0
}
}
},
"current-round": 0
}

Responses

StatusMeaningDescriptionSchema
200OK(empty)Inline
404Not FoundResponse for errorsInline
500Internal Server ErrorResponse for errorsInline

Response Schema

Status Code 200

NameTypeRequiredRestrictionsDescription
» applicationApplicationfalsenoneApplication index and its parameters
»» created-at-roundintegerfalsenoneRound when this application was created.
»» deletedbooleanfalsenoneWhether or not this application is currently deleted.
»» deleted-at-roundintegerfalsenoneRound when this application was deleted.
»» idintegertruenoneapplication index.
»» paramsApplicationParamstruenoneStores the global information associated with an application.
»»» approval-programstring(byte)truenoneapproval program.
»»» clear-state-programstring(byte)truenoneclear state program.
»»» creatorstringfalsenoneThe address that created this application. This is the address where the parameters and global state for this application can be found.
»»» extra-program-pagesintegerfalsenonethe number of extra program pages available to this app.
»»» global-state[TealKeyValue]falsenoneRepresents a key-value store for use in an application.
»»»» keystringtruenonenone
»»»» valueTealValuetruenoneRepresents a TEAL value.
»»»»» bytesstringtruenonebytes value.
»»»»» typeintegertruenonetype of the value. Value 1 refers to bytes, value 2 refers to uint
»»»»» uintintegertruenoneuint value.
»»» global-state-schemaApplicationStateSchemafalsenoneSpecifies maximums on the number of each type that may be stored.
»»»» num-byte-sliceintegertruenonenumber of byte slices.
»»»» num-uintintegertruenonenumber of uints.
»»» local-state-schemaApplicationStateSchemafalsenoneSpecifies maximums on the number of each type that may be stored.
» current-roundintegertruenoneRound at which the results were computed.

Status Code 404

NameTypeRequiredRestrictionsDescription
» dataobjectfalsenonenone
» messagestringtruenonenone

Status Code 500

NameTypeRequiredRestrictionsDescription
» dataobjectfalsenonenone
» messagestringtruenonenone

lookupApplicationLogsByID

Code samples

Terminal window
curl -X GET https://example.com/v2/applications/{application-id}/logs \
-H 'Accept: application/json'
GET https://example.com/v2/applications/{application-id}/logs HTTP/1.1
Host: example.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://example.com/v2/applications/{application-id}/logs',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://example.com/v2/applications/{application-id}/logs',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://example.com/v2/applications/{application-id}/logs', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://example.com/v2/applications/{application-id}/logs', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://example.com/v2/applications/{application-id}/logs");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://example.com/v2/applications/{application-id}/logs", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}

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

Lookup application logs.

Parameters

NameInTypeRequiredDescription
application-idpathintegertruenone
limitqueryintegerfalseMaximum number of results to return. There could be additional pages even if the limit is not reached.
nextquerystringfalseThe next page of results. Use the next token provided by the previous results.
txidquerystringfalseLookup the specific transaction by ID.
min-roundqueryintegerfalseInclude results at or after the specified min-round.
max-roundqueryintegerfalseInclude results at or before the specified max-round.
sender-addressquerystringfalseOnly include transactions with this sender address.

Example responses

200 Response

{
"application-id": 0,
"current-round": 0,
"log-data": [
{
"logs": [
"string"
],
"txid": "string"
}
],
"next-token": "string"
}

Responses

StatusMeaningDescriptionSchema
200OK(empty)Inline

Response Schema

Status Code 200

NameTypeRequiredRestrictionsDescription
» application-idintegertruenone[appidx] application index.
» current-roundintegertruenoneRound at which the results were computed.
» log-data[ApplicationLogData]falsenone[Stores the global information associated with an application.]
»» logs[string]truenoneLogs for the application being executed by the transaction.
»» txidstringtruenoneTransaction ID
» next-tokenstringfalsenoneUsed for pagination, when making another request provide this token with the next parameter.

lookupAssetBalances

Code samples

Terminal window
curl -X GET https://example.com/v2/assets/{asset-id}/balances \
-H 'Accept: application/json'
GET https://example.com/v2/assets/{asset-id}/balances HTTP/1.1
Host: example.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://example.com/v2/assets/{asset-id}/balances',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://example.com/v2/assets/{asset-id}/balances',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://example.com/v2/assets/{asset-id}/balances', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://example.com/v2/assets/{asset-id}/balances', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://example.com/v2/assets/{asset-id}/balances");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://example.com/v2/assets/{asset-id}/balances", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}

GET /v2/assets/{asset-id}/balances

Lookup the list of accounts who hold this asset

Parameters

NameInTypeRequiredDescription
include-allquerybooleanfalseInclude all items including closed accounts, deleted applications, destroyed assets, opted-out asset holdings, and closed-out application localstates.
limitqueryintegerfalseMaximum number of results to return. There could be additional pages even if the limit is not reached.
nextquerystringfalseThe next page of results. Use the next token provided by the previous results.
currency-greater-thanqueryintegerfalseResults should have an amount greater than this value. MicroAlgos are the default currency unless an asset-id is provided, in which case the asset will be used.
currency-less-thanqueryintegerfalseResults should have an amount less than this value. MicroAlgos are the default currency unless an asset-id is provided, in which case the asset will be used.
asset-idpathintegertruenone

Example responses

200 Response

{
"balances": [
{
"address": "string",
"amount": 0,
"deleted": true,
"is-frozen": true,
"opted-in-at-round": 0,
"opted-out-at-round": 0
}
],
"current-round": 0,
"next-token": "string"
}

Responses

StatusMeaningDescriptionSchema
200OK(empty)Inline
400Bad RequestResponse for errorsInline
500Internal Server ErrorResponse for errorsInline

Response Schema

Status Code 200

NameTypeRequiredRestrictionsDescription
» balances[MiniAssetHolding]truenone[A simplified version of AssetHolding ]
»» addressstringtruenonenone
»» amountintegertruenonenone
»» deletedbooleanfalsenoneWhether or not this asset holding is currently deleted from its account.
»» is-frozenbooleantruenonenone
»» opted-in-at-roundintegerfalsenoneRound during which the account opted into the asset.
»» opted-out-at-roundintegerfalsenoneRound during which the account opted out of the asset.
» current-roundintegertruenoneRound at which the results were computed.
» next-tokenstringfalsenoneUsed for pagination, when making another request provide this token with the next parameter.

Status Code 400

NameTypeRequiredRestrictionsDescription
» dataobjectfalsenonenone
» messagestringtruenonenone

Status Code 500

NameTypeRequiredRestrictionsDescription
» dataobjectfalsenonenone
» messagestringtruenonenone

lookupAssetByID

Code samples

Terminal window
curl -X GET https://example.com/v2/assets/{asset-id} \
-H 'Accept: application/json'
GET https://example.com/v2/assets/{asset-id} HTTP/1.1
Host: example.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://example.com/v2/assets/{asset-id}',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://example.com/v2/assets/{asset-id}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://example.com/v2/assets/{asset-id}', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://example.com/v2/assets/{asset-id}', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://example.com/v2/assets/{asset-id}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://example.com/v2/assets/{asset-id}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}

GET /v2/assets/{asset-id}

Lookup asset information.

Parameters

NameInTypeRequiredDescription
asset-idpathintegertruenone
include-allquerybooleanfalseInclude all items including closed accounts, deleted applications, destroyed assets, opted-out asset holdings, and closed-out application localstates.

Example responses

200 Response

{
"asset": {
"created-at-round": 0,
"deleted": true,
"destroyed-at-round": 0,
"index": 0,
"params": {
"clawback": "string",
"creator": "string",
"decimals": 19,
"default-frozen": true,
"freeze": "string",
"manager": "string",
"metadata-hash": "string",
"name": "string",
"name-b64": "string",
"reserve": "string",
"total": 0,
"unit-name": "string",
"unit-name-b64": "string",
"url": "string",
"url-b64": "string"
}
},
"current-round": 0
}

Responses

StatusMeaningDescriptionSchema
200OK(empty)Inline
400Bad RequestResponse for errorsInline
404Not FoundResponse for errorsInline
500Internal Server ErrorResponse for errorsInline

Response Schema

Status Code 200

NameTypeRequiredRestrictionsDescription
» assetAssettruenoneSpecifies both the unique identifier and the parameters for an asset
»» created-at-roundintegerfalsenoneRound during which this asset was created.
»» deletedbooleanfalsenoneWhether or not this asset is currently deleted.
»» destroyed-at-roundintegerfalsenoneRound during which this asset was destroyed.
»» indexintegertruenoneunique asset identifier
»» paramsAssetParamstruenoneAssetParams specifies the parameters for an asset.

[apar] when part of an AssetConfig transaction.

Definition:
data/transactions/asset.go : AssetParams
»»» clawbackstringfalsenoneAddress of account used to clawback holdings of this asset. If empty, clawback is not permitted.
»»» creatorstringtruenoneThe 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.
»»» decimalsintegertruenoneThe 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).
»»» default-frozenbooleanfalsenoneWhether holdings of this asset are frozen by default.
»»» freezestringfalsenoneAddress of account used to freeze holdings of this asset. If empty, freezing is not permitted.
»»» managerstringfalsenoneAddress of account used to manage the keys of this asset and to destroy it.
»»» metadata-hashstring(byte)falsenoneA commitment to some unspecified asset metadata. The format of this metadata is up to the application.
»»» namestringfalsenoneName of this asset, as supplied by the creator. Included only when the asset name is composed of printable utf-8 characters.
»»» name-b64string(byte)falsenoneBase64 encoded name of this asset, as supplied by the creator.
»»» reservestringfalsenoneAddress of account holding reserve (non-minted) units of this asset.
»»» totalintegertruenoneThe total number of units of this asset.
»»» unit-namestringfalsenoneName 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.
»»» unit-name-b64string(byte)falsenoneBase64 encoded name of a unit of this asset, as supplied by the creator.
»»» urlstringfalsenoneURL where more information about the asset can be retrieved. Included only when the URL is composed of printable utf-8 characters.
»»» url-b64string(byte)falsenoneBase64 encoded URL where more information about the asset can be retrieved.
» current-roundintegertruenoneRound at which the results were computed.

Status Code 400

NameTypeRequiredRestrictionsDescription
» dataobjectfalsenonenone
» messagestringtruenonenone

Status Code 404

NameTypeRequiredRestrictionsDescription
» dataobjectfalsenonenone
» messagestringtruenonenone

Status Code 500

NameTypeRequiredRestrictionsDescription
» dataobjectfalsenonenone
» messagestringtruenonenone

lookupAssetTransactions

Code samples

Terminal window
curl -X GET https://example.com/v2/assets/{asset-id}/transactions \
-H 'Accept: application/json'
GET https://example.com/v2/assets/{asset-id}/transactions HTTP/1.1
Host: example.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://example.com/v2/assets/{asset-id}/transactions',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://example.com/v2/assets/{asset-id}/transactions',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://example.com/v2/assets/{asset-id}/transactions', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://example.com/v2/assets/{asset-id}/transactions', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://example.com/v2/assets/{asset-id}/transactions");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://example.com/v2/assets/{asset-id}/transactions", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}

GET /v2/assets/{asset-id}/transactions

Lookup transactions for an asset. Transactions are returned oldest to newest.

Parameters

NameInTypeRequiredDescription
limitqueryintegerfalseMaximum number of results to return. There could be additional pages even if the limit is not reached.
nextquerystringfalseThe next page of results. Use the next token provided by the previous results.
note-prefixquerystringfalseSpecifies a prefix which must be contained in the note field.
tx-typequerystringfalsenone
sig-typequerystringfalseSigType filters just results using the specified type of signature:
txidquerystringfalseLookup the specific transaction by ID.
roundqueryintegerfalseInclude results for the specified round.
min-roundqueryintegerfalseInclude results at or after the specified min-round.
max-roundqueryintegerfalseInclude results at or before the specified max-round.
before-timequerystring(date-time)falseInclude results before the given time. Must be an RFC 3339 formatted string.
after-timequerystring(date-time)falseInclude results after the given time. Must be an RFC 3339 formatted string.
currency-greater-thanqueryintegerfalseResults should have an amount greater than this value. MicroAlgos are the default currency unless an asset-id is provided, in which case the asset will be used.
currency-less-thanqueryintegerfalseResults should have an amount less than this value. MicroAlgos are the default currency unless an asset-id is provided, in which case the asset will be used.
addressquerystringfalseOnly include transactions with this address in one of the transaction fields.
address-rolequerystringfalseCombine with the address parameter to define what type of address to search for.
exclude-close-toquerybooleanfalseCombine with address and address-role parameters to define what type of address to search for. The close to fields are normally treated as a receiver, if you would like to exclude them set this parameter to true.
asset-idpathintegertruenone
rekey-toquerybooleanfalseInclude results which include the rekey-to field.

Detailed descriptions

sig-type: SigType filters just results using the specified type of signature:

  • sig - Standard
  • msig - MultiSig
  • lsig - LogicSig

Enumerated Values

ParameterValue
tx-typepay
tx-typekeyreg
tx-typeacfg
tx-typeaxfer
tx-typeafrz
tx-typeappl
tx-typestpf
tx-typehb
sig-typesig
sig-typemsig
sig-typelsig
address-rolesender
address-rolereceiver
address-rolefreeze-target

Example responses

200 Response

{
"current-round": 0,
"next-token": "string",
"transactions": [
{
"application-transaction": {
"accounts": [
"string"
],
"application-args": [
"string"
],
"application-id": 0,
"approval-program": "string",
"clear-state-program": "string",
"extra-program-pages": 0,
"foreign-apps": [
0
],
"foreign-assets": [
0
],
"global-state-schema": {
"num-byte-slice": 0,
"num-uint": 0
},
"local-state-schema": {
"num-byte-slice": 0,
"num-uint": 0
},
"on-completion": "noop"
},
"asset-config-transaction": {
"asset-id": 0,
"params": {
"clawback": "string",
"creator": "string",
"decimals": 19,
"default-frozen": true,
"freeze": "string",
"manager": "string",
"metadata-hash": "string",
"name": "string",
"name-b64": "string",
"reserve": "string",
"total": 0,
"unit-name": "string",
"unit-name-b64": "string",
"url": "string",
"url-b64": "string"
}
},
"asset-freeze-transaction": {
"address": "string",
"asset-id": 0,
"new-freeze-status": true
},
"asset-transfer-transaction": {
"amount": 0,
"asset-id": 0,
"close-amount": 0,
"close-to": "string",
"receiver": "string",
"sender": "string"
},
"auth-addr": "string",
"close-rewards": 0,
"closing-amount": 0,
"confirmed-round": 0,
"created-application-index": 0,
"created-asset-index": 0,
"fee": 0,
"first-valid": 0,
"genesis-hash": "string",
"genesis-id": "string",
"global-state-delta": [
{
"key": "string",
"value": {
"action": 0,
"bytes": "string",
"uint": 0
}
}
],
"group": "string",
"heartbeat-transaction": {
"hb-address": "string",
"hb-key-dilution": 0,
"hb-proof": {
"hb-pk": "string",
"hb-pk1sig": "string",
"hb-pk2": "string",
"hb-pk2sig": "string",
"hb-sig": "string"
},
"hb-seed": "string",
"hb-vote-id": "string"
},
"id": "string",
"inner-txns": [
{}
],
"intra-round-offset": 0,
"keyreg-transaction": {
"non-participation": true,
"selection-participation-key": "string",
"state-proof-key": "string",
"vote-first-valid": 0,
"vote-key-dilution": 0,
"vote-last-valid": 0,
"vote-participation-key": "string"
},
"last-valid": 0,
"lease": "string",
"local-state-delta": [
{
"address": "string",
"delta": [
{
"key": "string",
"value": {
"action": 0,
"bytes": "string",
"uint": 0
}
}
]
}
],
"logs": [
"string"
],
"note": "string",
"payment-transaction": {
"amount": 0,
"close-amount": 0,
"close-remainder-to": "string",
"receiver": "string"
},
"receiver-rewards": 0,
"rekey-to": "string",
"round-time": 0,
"sender": "string",
"sender-rewards": 0,
"signature": {
"logicsig": {
"args": [
"string"
],
"logic": "string",
"multisig-signature": {
"subsignature": [
{
"public-key": "string",
"signature": "string"
}
],
"threshold": 0,
"version": 0
},
"signature": "string"
},
"multisig": {
"subsignature": [
{
"public-key": "string",
"signature": "string"
}
],
"threshold": 0,
"version": 0
},
"sig": "string"
},
"state-proof-transaction": {
"message": {
"block-headers-commitment": "string",
"first-attested-round": 0,
"latest-attested-round": 0,
"ln-proven-weight": 0,
"voters-commitment": "string"
},
"state-proof": {
"part-proofs": {
"hash-factory": {
"hash-type": 0
},
"path": [
"string"
],
"tree-depth": 0
},
"positions-to-reveal": [
0
],
"reveals": [
{
"participant": {
"verifier": {
"commitment": "string",
"key-lifetime": 0
},
"weight": 0
},
"position": 0,
"sig-slot": {
"lower-sig-weight": 0,
"signature": {
"falcon-signature": "string",
"merkle-array-index": 0,
"proof": {
"hash-factory": {},
"path": [],
"tree-depth": 0
},
"verifying-key": "string"
}
}
}
],
"salt-version": 0,
"sig-commit": "string",
"sig-proofs": {
"hash-factory": {
"hash-type": 0
},
"path": [
"string"
],
"tree-depth": 0
},
"signed-weight": 0
},
"state-proof-type": 0
},
"tx-type": "pay"
}
]
}

Responses

StatusMeaningDescriptionSchema
200OK(empty)Inline
400Bad RequestResponse for errorsInline
500Internal Server ErrorResponse for errorsInline

Response Schema

Status Code 200

NameTypeRequiredRestrictionsDescription
» current-roundintegertruenoneRound at which the results were computed.
» next-tokenstringfalsenoneUsed for pagination, when making another request provide this token with the next parameter.
» transactions[Transaction]truenone[Contains all fields common to all transactions and serves as an envelope to all transactions type. Represents both regular and inner transactions.

Definition:
data/transactions/signedtxn.go : SignedTxn
data/transactions/transaction.go : Transaction
]
»» application-transactionTransactionApplicationfalsenoneFields for application transactions.

Definition:
data/transactions/application.go : ApplicationCallTxnFields
»»» accounts[string]falsenone[apat] List of accounts in addition to the sender that may be accessed from the application’s approval-program and clear-state-program.
»»» application-args[string]falsenone[apaa] transaction specific arguments accessed from the application’s approval-program and clear-state-program.
»»» application-idintegertruenone[apid] ID of the application being configured or empty if creating.
»»» approval-programstring(byte)falsenone[apap] Logic executed for every application transaction, except when on-completion is set to “clear”. It can read and write global state for the application, as well as account-specific local state. Approval programs may reject the transaction.
»»» clear-state-programstring(byte)falsenone[apsu] Logic executed for application transactions with on-completion set to “clear”. It can read and write global state for the application, as well as account-specific local state. Clear state programs cannot reject the transaction.
»»» extra-program-pagesintegerfalsenone[epp] specifies the additional app program len requested in pages.
»»» foreign-apps[integer]falsenone[apfa] Lists the applications in addition to the application-id whose global states may be accessed by this application’s approval-program and clear-state-program. The access is read-only.
»»» foreign-assets[integer]falsenone[apas] lists the assets whose parameters may be accessed by this application’s ApprovalProgram and ClearStateProgram. The access is read-only.
»»» global-state-schemaStateSchemafalsenoneRepresents a [apls] local-state or [apgs] global-state schema. These schemas determine how much storage may be used in a local-state or global-state for an application. The more space used, the larger minimum balance must be maintained in the account holding the data.
»»»» num-byte-sliceintegertruenoneMaximum number of TEAL byte slices that may be stored in the key/value store.
»»»» num-uintintegertruenoneMaximum number of TEAL uints that may be stored in the key/value store.
»»» local-state-schemaStateSchemafalsenoneRepresents a [apls] local-state or [apgs] global-state schema. These schemas determine how much storage may be used in a local-state or global-state for an application. The more space used, the larger minimum balance must be maintained in the account holding the data.
»»» on-completionOnCompletiontruenone[apan] defines the what additional actions occur with the transaction.

Valid types:
* noop
* optin
* closeout
* clear
* update
* update
* delete
»» asset-config-transactionTransactionAssetConfigfalsenoneFields for asset allocation, re-configuration, and destruction.


A zero value for asset-id indicates asset creation.
A zero value for the params indicates asset destruction.

Definition:
data/transactions/asset.go : AssetConfigTxnFields
»»» asset-idintegerfalsenone[xaid] ID of the asset being configured or empty if creating.
»»» paramsAssetParamsfalsenoneAssetParams specifies the parameters for an asset.

[apar] when part of an AssetConfig transaction.

Definition:
data/transactions/asset.go : AssetParams
»»»» clawbackstringfalsenoneAddress of account used to clawback holdings of this asset. If empty, clawback is not permitted.
»»»» creatorstringtruenoneThe 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.
»»»» decimalsintegertruenoneThe 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).
»»»» default-frozenbooleanfalsenoneWhether holdings of this asset are frozen by default.
»»»» freezestringfalsenoneAddress of account used to freeze holdings of this asset. If empty, freezing is not permitted.
»»»» managerstringfalsenoneAddress of account used to manage the keys of this asset and to destroy it.
»»»» metadata-hashstring(byte)falsenoneA commitment to some unspecified asset metadata. The format of this metadata is up to the application.
»»»» namestringfalsenoneName of this asset, as supplied by the creator. Included only when the asset name is composed of printable utf-8 characters.
»»»» name-b64string(byte)falsenoneBase64 encoded name of this asset, as supplied by the creator.
»»»» reservestringfalsenoneAddress of account holding reserve (non-minted) units of this asset.
»»»» totalintegertruenoneThe total number of units of this asset.
»»»» unit-namestringfalsenoneName 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.
»»»» unit-name-b64string(byte)falsenoneBase64 encoded name of a unit of this asset, as supplied by the creator.
»»»» urlstringfalsenoneURL where more information about the asset can be retrieved. Included only when the URL is composed of printable utf-8 characters.
»»»» url-b64string(byte)falsenoneBase64 encoded URL where more information about the asset can be retrieved.
»» asset-freeze-transactionTransactionAssetFreezefalsenoneFields for an asset freeze transaction.

Definition:
data/transactions/asset.go : AssetFreezeTxnFields
»»» addressstringtruenone[fadd] Address of the account whose asset is being frozen or thawed.
»»» asset-idintegertruenone[faid] ID of the asset being frozen or thawed.
»»» new-freeze-statusbooleantruenone[afrz] The new freeze status.
»» asset-transfer-transactionTransactionAssetTransferfalsenoneFields for an asset transfer transaction.

Definition:
data/transactions/asset.go : AssetTransferTxnFields
»»» amountintegertruenone[aamt] Amount of asset to transfer. A zero amount transferred to self allocates that asset in the account’s Assets map.
»»» asset-idintegertruenone[xaid] ID of the asset being transferred.
»»» close-amountintegerfalsenoneNumber of assets transferred to the close-to account as part of the transaction.
»»» close-tostringfalsenone[aclose] Indicates that the asset should be removed from the account’s Assets map, and specifies where the remaining asset holdings should be transferred. It’s always valid to transfer remaining asset holdings to the creator account.
»»» receiverstringtruenone[arcv] Recipient address of the transfer.
»»» senderstringfalsenone[asnd] The effective sender during a clawback transactions. If this is not a zero value, the real transaction sender must be the Clawback address from the AssetParams.
»» auth-addrstringfalsenone[sgnr] this is included with signed transactions when the signing address does not equal the sender. The backend can use this to ensure that auth addr is equal to the accounts auth addr.
»» close-rewardsintegerfalsenone[rc] rewards applied to close-remainder-to account.
»» closing-amountintegerfalsenone[ca] closing amount for transaction.
»» confirmed-roundintegerfalsenoneRound when the transaction was confirmed.
»» created-application-indexintegerfalsenoneSpecifies an application index (ID) if an application was created with this transaction.
»» created-asset-indexintegerfalsenoneSpecifies an asset index (ID) if an asset was created with this transaction.
»» feeintegertruenone[fee] Transaction fee.
»» first-validintegertruenone[fv] First valid round for this transaction.
»» genesis-hashstring(byte)falsenone[gh] Hash of genesis block.
»» genesis-idstringfalsenone[gen] genesis block ID.
»» global-state-delta[EvalDeltaKeyValue]falsenoneApplication state delta.
»»» keystringtruenonenone
»»» valueEvalDeltatruenoneRepresents a TEAL value delta.
»»»» actionintegertruenone[at] delta action.
»»»» bytesstringfalsenone[bs] bytes value.
»»»» uintintegerfalsenone[ui] uint value.
»» groupstring(byte)falsenone[grp] Base64 encoded byte array of a sha512/256 digest. When present indicates that this transaction is part of a transaction group and the value is the sha512/256 hash of the transactions in that group.
»» heartbeat-transactionTransactionHeartbeatfalsenoneFields for a heartbeat transaction.

Definition:
data/transactions/heartbeat.go : HeartbeatTxnFields
»»» hb-addressstringtruenone[hbad] HbAddress is the account this txn is proving onlineness for.
»»» hb-key-dilutionintegertruenone[hbkd] HbKeyDilution must match HbAddress account’s current KeyDilution.
»»» hb-proofHbProofFieldstruenone[hbprf] HbProof is a signature using HeartbeatAddress’s partkey, thereby showing it is online.
»»»» hb-pkstring(byte)falsenone[p] Public key of the heartbeat message.
»»»» hb-pk1sigstring(byte)falsenone[p1s] Signature of OneTimeSignatureSubkeyOffsetID(PK, Batch, Offset) under the key PK2.
»»»» hb-pk2string(byte)falsenone[p2] Key for new-style two-level ephemeral signature.
»»»» hb-pk2sigstring(byte)falsenone[p2s] Signature of OneTimeSignatureSubkeyBatchID(PK2, Batch) under the master key (OneTimeSignatureVerifier).
»»»» hb-sigstring(byte)falsenone[s] Signature of the heartbeat message.
»»» hb-seedstring(byte)truenone[hbsd] HbSeed must be the block seed for the this transaction’s firstValid block.
»»» hb-vote-idstring(byte)truenone[hbvid] HbVoteID must match the HbAddress account’s current VoteID.
»» idstringfalsenoneTransaction ID
»» inner-txns[Transaction]falsenoneInner transactions produced by application execution.
»» intra-round-offsetintegerfalsenoneOffset into the round where this transaction was confirmed.
»» keyreg-transactionTransactionKeyregfalsenoneFields for a keyreg transaction.

Definition:
data/transactions/keyreg.go : KeyregTxnFields
»»» non-participationbooleanfalsenone[nonpart] Mark the account as participating or non-participating.
»»» selection-participation-keystring(byte)falsenone[selkey] Public key used with the Verified Random Function (VRF) result during committee selection.
»»» state-proof-keystring(byte)falsenone[sprfkey] State proof key used in key registration transactions.
»»» vote-first-validintegerfalsenone[votefst] First round this participation key is valid.
»»» vote-key-dilutionintegerfalsenone[votekd] Number of subkeys in each batch of participation keys.
»»» vote-last-validintegerfalsenone[votelst] Last round this participation key is valid.
»»» vote-participation-keystring(byte)falsenone[votekey] Participation public key used in key registration transactions.
»» last-validintegertruenone[lv] Last valid round for this transaction.
»» leasestring(byte)falsenone[lx] Base64 encoded 32-byte array. Lease enforces mutual exclusion of transactions. If this field is nonzero, then once the transaction is confirmed, it acquires the lease identified by the (Sender, Lease) pair of the transaction until the LastValid round passes. While this transaction possesses the lease, no other transaction specifying this lease can be confirmed.
»» local-state-delta[AccountStateDelta]falsenone[ld] Local state key/value changes for the application being executed by this transaction.
»»» addressstringtruenonenone
»»» delta[EvalDeltaKeyValue]truenoneApplication state delta.
»» logs[string]falsenone[lg] Logs for the application being executed by this transaction.
»» notestring(byte)falsenone[note] Free form data.
»» payment-transactionTransactionPaymentfalsenoneFields for a payment transaction.

Definition:
data/transactions/payment.go : PaymentTxnFields
»»» amountintegertruenone[amt] number of MicroAlgos intended to be transferred.
»»» close-amountintegerfalsenoneNumber of MicroAlgos that were sent to the close-remainder-to address when closing the sender account.
»»» close-remainder-tostringfalsenone[close] when set, indicates that the sending account should be closed and all remaining funds be transferred to this address.
»»» receiverstringtruenone[rcv] receiver’s address.
»» receiver-rewardsintegerfalsenone[rr] rewards applied to receiver account.
»» rekey-tostringfalsenone[rekey] when included in a valid transaction, the accounts auth addr will be updated with this value and future signatures must be signed with the key represented by this address.
»» round-timeintegerfalsenoneTime when the block this transaction is in was confirmed.
»» senderstringtruenone[snd] Sender’s address.
»» sender-rewardsintegerfalsenone[rs] rewards applied to sender account.
»» signatureTransactionSignaturefalsenoneValidation signature associated with some data. Only one of the signatures should be provided.
»»» logicsigTransactionSignatureLogicsigfalsenone[lsig] Programatic transaction signature.

Definition:
data/transactions/logicsig.go
»»»» args[string]falsenone[arg] Logic arguments, base64 encoded.
»»»» logicstring(byte)truenone[l] Program signed by a signature or multi signature, or hashed to be the address of ana ccount. Base64 encoded TEAL program.
»»»» multisig-signatureTransactionSignatureMultisigfalsenone[msig] structure holding multiple subsignatures.

Definition:
crypto/multisig.go : MultisigSig
»»»»» subsignature[TransactionSignatureMultisigSubsignature]falsenone[subsig] holds pairs of public key and signatures.
»»»»»» public-keystring(byte)falsenone[pk]
»»»»»» signaturestring(byte)falsenone[s]
»»»»» thresholdintegerfalsenone[thr]
»»»»» versionintegerfalsenone[v]
»»»» signaturestring(byte)falsenone[sig] ed25519 signature.
»»» multisigTransactionSignatureMultisigfalsenone[msig] structure holding multiple subsignatures.

Definition:
crypto/multisig.go : MultisigSig
»»» sigstring(byte)falsenone[sig] Standard ed25519 signature.
»» state-proof-transactionTransactionStateProoffalsenoneFields for a state proof transaction.

Definition:
data/transactions/stateproof.go : StateProofTxnFields
»»» messageIndexerStateProofMessagefalsenonenone
»»»» block-headers-commitmentstring(byte)falsenone[b]
»»»» first-attested-roundintegerfalsenone[f]
»»»» latest-attested-roundintegerfalsenone[l]
»»»» ln-proven-weightintegerfalsenone[P]
»»»» voters-commitmentstring(byte)falsenone[v]
»»» state-proofStateProofFieldsfalsenone[sp] represents a state proof.

Definition:
crypto/stateproof/structs.go : StateProof
»»»» part-proofsMerkleArrayProoffalsenonenone
»»»»» hash-factoryHashFactoryfalsenonenone
»»»»»» hash-typeintegerfalsenone[t]
»»»»» path[string]falsenone[pth]
»»»»» tree-depthintegerfalsenone[td]
»»»» positions-to-reveal[integer]falsenone[pr] Sequence of reveal positions.
»»»» reveals[StateProofReveal]falsenone[r] Note that this is actually stored as a map[uint64] - Reveal in the actual msgp
»»»»» participantStateProofParticipantfalsenonenone
»»»»»» verifierStateProofVerifierfalsenonenone
»»»»»»» commitmentstring(byte)falsenone[cmt] Represents the root of the vector commitment tree.
»»»»»»» key-lifetimeintegerfalsenone[lf] Key lifetime.
»»»»»» weightintegerfalsenone[w]
»»»»» positionintegerfalsenoneThe position in the signature and participants arrays corresponding to this entry.
»»»»» sig-slotStateProofSigSlotfalsenonenone
»»»»»» lower-sig-weightintegerfalsenone[l] The total weight of signatures in the lower-numbered slots.
»»»»»» signatureStateProofSignaturefalsenonenone
»»»»»»» falcon-signaturestring(byte)falsenonenone
»»»»»»» merkle-array-indexintegerfalsenonenone
»»»»»»» proofMerkleArrayProoffalsenonenone
»»»»»»» verifying-keystring(byte)falsenone[vkey]
»»»» salt-versionintegerfalsenone[v] Salt version of the merkle signature.
»»»» sig-commitstring(byte)falsenone[c]
»»»» sig-proofsMerkleArrayProoffalsenonenone
»»»» signed-weightintegerfalsenone[w]
»»» state-proof-typeintegerfalsenone[sptype] Type of the state proof. Integer representing an entry defined in protocol/stateproof.go
»» tx-typestringtruenone[type] Indicates what type of transaction this is. Different types have different fields.

Valid types, and where their fields are stored:
* [pay] payment-transaction
* [keyreg] keyreg-transaction
* [acfg] asset-config-transaction
* [axfer] asset-transfer-transaction
* [afrz] asset-freeze-transaction
* [appl] application-transaction
* [stpf] state-proof-transaction
* [hb] heartbeat-transaction

Enumerated Values

PropertyValue
on-completionnoop
on-completionoptin
on-completioncloseout
on-completionclear
on-completionupdate
on-completiondelete
tx-typepay
tx-typekeyreg
tx-typeacfg
tx-typeaxfer
tx-typeafrz
tx-typeappl
tx-typestpf
tx-typehb

Status Code 400

NameTypeRequiredRestrictionsDescription
» dataobjectfalsenonenone
» messagestringtruenonenone

Status Code 500

NameTypeRequiredRestrictionsDescription
» dataobjectfalsenonenone
» messagestringtruenonenone

lookupBlock

Code samples

Terminal window
curl -X GET https://example.com/v2/blocks/{round-number} \
-H 'Accept: application/json'
GET https://example.com/v2/blocks/{round-number} HTTP/1.1
Host: example.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://example.com/v2/blocks/{round-number}',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://example.com/v2/blocks/{round-number}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://example.com/v2/blocks/{round-number}', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://example.com/v2/blocks/{round-number}', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://example.com/v2/blocks/{round-number}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://example.com/v2/blocks/{round-number}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}

GET /v2/blocks/{round-number}

Lookup block.

Parameters

NameInTypeRequiredDescription
round-numberpathintegertrueRound number
header-onlyquerybooleanfalseHeader only flag. When this is set to true, returned block does not contain the transactions

Example responses

200 Response

{
"bonus": 0,
"fees-collected": 0,
"genesis-hash": "string",
"genesis-id": "string",
"participation-updates": {
"absent-participation-accounts": [
"string"
],
"expired-participation-accounts": [
"string"
]
},
"previous-block-hash": "string",
"proposer": "string",
"proposer-payout": 0,
"rewards": {
"fee-sink": "string",
"rewards-calculation-round": 0,
"rewards-level": 0,
"rewards-pool": "string",
"rewards-rate": 0,
"rewards-residue": 0
},
"round": 0,
"seed": "string",
"state-proof-tracking": [
{
"next-round": 0,
"online-total-weight": 0,
"type": 0,
"voters-commitment": "string"
}
],
"timestamp": 0,
"transactions": [
{
"application-transaction": {
"accounts": [
"string"
],
"application-args": [
"string"
],
"application-id": 0,
"approval-program": "string",
"clear-state-program": "string",
"extra-program-pages": 0,
"foreign-apps": [
0
],
"foreign-assets": [
0
],
"global-state-schema": {
"num-byte-slice": 0,
"num-uint": 0
},
"local-state-schema": {
"num-byte-slice": 0,
"num-uint": 0
},
"on-completion": "noop"
},
"asset-config-transaction": {
"asset-id": 0,
"params": {
"clawback": "string",
"creator": "string",
"decimals": 19,
"default-frozen": true,
"freeze": "string",
"manager": "string",
"metadata-hash": "string",
"name": "string",
"name-b64": "string",
"reserve": "string",
"total": 0,
"unit-name": "string",
"unit-name-b64": "string",
"url": "string",
"url-b64": "string"
}
},
"asset-freeze-transaction": {
"address": "string",
"asset-id": 0,
"new-freeze-status": true
},
"asset-transfer-transaction": {
"amount": 0,
"asset-id": 0,
"close-amount": 0,
"close-to": "string",
"receiver": "string",
"sender": "string"
},
"auth-addr": "string",
"close-rewards": 0,
"closing-amount": 0,
"confirmed-round": 0,
"created-application-index": 0,
"created-asset-index": 0,
"fee": 0,
"first-valid": 0,
"genesis-hash": "string",
"genesis-id": "string",
"global-state-delta": [
{
"key": "string",
"value": {
"action": 0,
"bytes": "string",
"uint": 0
}
}
],
"group": "string",
"heartbeat-transaction": {
"hb-address": "string",
"hb-key-dilution": 0,
"hb-proof": {
"hb-pk": "string",
"hb-pk1sig": "string",
"hb-pk2": "string",
"hb-pk2sig": "string",
"hb-sig": "string"
},
"hb-seed": "string",
"hb-vote-id": "string"
},
"id": "string",
"inner-txns": [
{}
],
"intra-round-offset": 0,
"keyreg-transaction": {
"non-participation": true,
"selection-participation-key": "string",
"state-proof-key": "string",
"vote-first-valid": 0,
"vote-key-dilution": 0,
"vote-last-valid": 0,
"vote-participation-key": "string"
},
"last-valid": 0,
"lease": "string",
"local-state-delta": [
{
"address": "string",
"delta": [
{
"key": "string",
"value": {
"action": 0,
"bytes": "string",
"uint": 0
}
}
]
}
],
"logs": [
"string"
],
"note": "string",
"payment-transaction": {
"amount": 0,
"close-amount": 0,
"close-remainder-to": "string",
"receiver": "string"
},
"receiver-rewards": 0,
"rekey-to": "string",
"round-time": 0,
"sender": "string",
"sender-rewards": 0,
"signature": {
"logicsig": {
"args": [
"string"
],
"logic": "string",
"multisig-signature": {
"subsignature": [
{
"public-key": "string",
"signature": "string"
}
],
"threshold": 0,
"version": 0
},
"signature": "string"
},
"multisig": {
"subsignature": [
{
"public-key": "string",
"signature": "string"
}
],
"threshold": 0,
"version": 0
},
"sig": "string"
},
"state-proof-transaction": {
"message": {
"block-headers-commitment": "string",
"first-attested-round": 0,
"latest-attested-round": 0,
"ln-proven-weight": 0,
"voters-commitment": "string"
},
"state-proof": {
"part-proofs": {
"hash-factory": {
"hash-type": 0
},
"path": [
"string"
],
"tree-depth": 0
},
"positions-to-reveal": [
0
],
"reveals": [
{
"participant": {
"verifier": {
"commitment": "string",
"key-lifetime": 0
},
"weight": 0
},
"position": 0,
"sig-slot": {
"lower-sig-weight": 0,
"signature": {
"falcon-signature": "string",
"merkle-array-index": 0,
"proof": {
"hash-factory": {},
"path": [],
"tree-depth": 0
},
"verifying-key": "string"
}
}
}
],
"salt-version": 0,
"sig-commit": "string",
"sig-proofs": {
"hash-factory": {
"hash-type": 0
},
"path": [
"string"
],
"tree-depth": 0
},
"signed-weight": 0
},
"state-proof-type": 0
},
"tx-type": "pay"
}
],
"transactions-root": "string",
"transactions-root-sha256": "string",
"txn-counter": 0,
"upgrade-state": {
"current-protocol": "string",
"next-protocol": "string",
"next-protocol-approvals": 0,
"next-protocol-switch-on": 0,
"next-protocol-vote-before": 0
},
"upgrade-vote": {
"upgrade-approve": true,
"upgrade-delay": 0,
"upgrade-propose": "string"
}
}

Responses

StatusMeaningDescriptionSchema
200OK(empty)Block
404Not FoundResponse for errorsInline
500Internal Server ErrorResponse for errorsInline

Response Schema

Status Code 404

NameTypeRequiredRestrictionsDescription
» dataobjectfalsenonenone
» messagestringtruenonenone

Status Code 500

NameTypeRequiredRestrictionsDescription
» dataobjectfalsenonenone
» messagestringtruenonenone

lookupTransaction

Code samples

Terminal window
curl -X GET https://example.com/v2/transactions/{txid} \
-H 'Accept: application/json'
GET https://example.com/v2/transactions/{txid} HTTP/1.1
Host: example.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://example.com/v2/transactions/{txid}',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://example.com/v2/transactions/{txid}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://example.com/v2/transactions/{txid}', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://example.com/v2/transactions/{txid}', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://example.com/v2/transactions/{txid}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://example.com/v2/transactions/{txid}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}

GET /v2/transactions/{txid}

Lookup a single transaction.

Parameters

NameInTypeRequiredDescription
txidpathstringtruenone

Example responses

200 Response

{
"current-round": 0,
"transaction": {
"application-transaction": {
"accounts": [
"string"
],
"application-args": [
"string"
],
"application-id": 0,
"approval-program": "string",
"clear-state-program": "string",
"extra-program-pages": 0,
"foreign-apps": [
0
],
"foreign-assets": [
0
],
"global-state-schema": {
"num-byte-slice": 0,
"num-uint": 0
},
"local-state-schema": {
"num-byte-slice": 0,
"num-uint": 0
},
"on-completion": "noop"
},
"asset-config-transaction": {
"asset-id": 0,
"params": {
"clawback": "string",
"creator": "string",
"decimals": 19,
"default-frozen": true,
"freeze": "string",
"manager": "string",
"metadata-hash": "string",
"name": "string",
"name-b64": "string",
"reserve": "string",
"total": 0,
"unit-name": "string",
"unit-name-b64": "string",
"url": "string",
"url-b64": "string"
}
},
"asset-freeze-transaction": {
"address": "string",
"asset-id": 0,
"new-freeze-status": true
},
"asset-transfer-transaction": {
"amount": 0,
"asset-id": 0,
"close-amount": 0,
"close-to": "string",
"receiver": "string",
"sender": "string"
},
"auth-addr": "string",
"close-rewards": 0,
"closing-amount": 0,
"confirmed-round": 0,
"created-application-index": 0,
"created-asset-index": 0,
"fee": 0,
"first-valid": 0,
"genesis-hash": "string",
"genesis-id": "string",
"global-state-delta": [
{
"key": "string",
"value": {
"action": 0,
"bytes": "string",
"uint": 0
}
}
],
"group": "string",
"heartbeat-transaction": {
"hb-address": "string",
"hb-key-dilution": 0,
"hb-proof": {
"hb-pk": "string",
"hb-pk1sig": "string",
"hb-pk2": "string",
"hb-pk2sig": "string",
"hb-sig": "string"
},
"hb-seed": "string",
"hb-vote-id": "string"
},
"id": "string",
"inner-txns": [
{}
],
"intra-round-offset": 0,
"keyreg-transaction": {
"non-participation": true,
"selection-participation-key": "string",
"state-proof-key": "string",
"vote-first-valid": 0,
"vote-key-dilution": 0,
"vote-last-valid": 0,
"vote-participation-key": "string"
},
"last-valid": 0,
"lease": "string",
"local-state-delta": [
{
"address": "string",
"delta": [
{
"key": "string",
"value": {
"action": 0,
"bytes": "string",
"uint": 0
}
}
]
}
],
"logs": [
"string"
],
"note": "string",
"payment-transaction": {
"amount": 0,
"close-amount": 0,
"close-remainder-to": "string",
"receiver": "string"
},
"receiver-rewards": 0,
"rekey-to": "string",
"round-time": 0,
"sender": "string",
"sender-rewards": 0,
"signature": {
"logicsig": {
"args": [
"string"
],
"logic": "string",
"multisig-signature": {
"subsignature": [
{
"public-key": "string",
"signature": "string"
}
],
"threshold": 0,
"version": 0
},
"signature": "string"
},
"multisig": {
"subsignature": [
{
"public-key": "string",
"signature": "string"
}
],
"threshold": 0,
"version": 0
},
"sig": "string"
},
"state-proof-transaction": {
"message": {
"block-headers-commitment": "string",
"first-attested-round": 0,
"latest-attested-round": 0,
"ln-proven-weight": 0,
"voters-commitment": "string"
},
"state-proof": {
"part-proofs": {
"hash-factory": {
"hash-type": 0
},
"path": [
"string"
],
"tree-depth": 0
},
"positions-to-reveal": [
0
],
"reveals": [
{
"participant": {
"verifier": {
"commitment": "string",
"key-lifetime": 0
},
"weight": 0
},
"position": 0,
"sig-slot": {
"lower-sig-weight": 0,
"signature": {
"falcon-signature": "string",
"merkle-array-index": 0,
"proof": {
"hash-factory": {
"hash-type": 0
},
"path": [
"string"
],
"tree-depth": 0
},
"verifying-key": "string"
}
}
}
],
"salt-version": 0,
"sig-commit": "string",
"sig-proofs": {
"hash-factory": {
"hash-type": 0
},
"path": [
"string"
],
"tree-depth": 0
},
"signed-weight": 0
},
"state-proof-type": 0
},
"tx-type": "pay"
}
}

Responses

StatusMeaningDescriptionSchema
200OK(empty)Inline
400Bad RequestResponse for errorsInline
404Not FoundResponse for errorsInline
500Internal Server ErrorResponse for errorsInline

Response Schema

Status Code 200

NameTypeRequiredRestrictionsDescription
» current-roundintegertruenoneRound at which the results were computed.
» transactionTransactiontruenoneContains all fields common to all transactions and serves as an envelope to all transactions type. Represents both regular and inner transactions.

Definition:
data/transactions/signedtxn.go : SignedTxn
data/transactions/transaction.go : Transaction
»» application-transactionTransactionApplicationfalsenoneFields for application transactions.

Definition:
data/transactions/application.go : ApplicationCallTxnFields
»»» accounts[string]falsenone[apat] List of accounts in addition to the sender that may be accessed from the application’s approval-program and clear-state-program.
»»» application-args[string]falsenone[apaa] transaction specific arguments accessed from the application’s approval-program and clear-state-program.
»»» application-idintegertruenone[apid] ID of the application being configured or empty if creating.
»»» approval-programstring(byte)falsenone[apap] Logic executed for every application transaction, except when on-completion is set to “clear”. It can read and write global state for the application, as well as account-specific local state. Approval programs may reject the transaction.
»»» clear-state-programstring(byte)falsenone[apsu] Logic executed for application transactions with on-completion set to “clear”. It can read and write global state for the application, as well as account-specific local state. Clear state programs cannot reject the transaction.
»»» extra-program-pagesintegerfalsenone[epp] specifies the additional app program len requested in pages.
»»» foreign-apps[integer]falsenone[apfa] Lists the applications in addition to the application-id whose global states may be accessed by this application’s approval-program and clear-state-program. The access is read-only.
»»» foreign-assets[integer]falsenone[apas] lists the assets whose parameters may be accessed by this application’s ApprovalProgram and ClearStateProgram. The access is read-only.
»»» global-state-schemaStateSchemafalsenoneRepresents a [apls] local-state or [apgs] global-state schema. These schemas determine how much storage may be used in a local-state or global-state for an application. The more space used, the larger minimum balance must be maintained in the account holding the data.
»»»» num-byte-sliceintegertruenoneMaximum number of TEAL byte slices that may be stored in the key/value store.
»»»» num-uintintegertruenoneMaximum number of TEAL uints that may be stored in the key/value store.
»»» local-state-schemaStateSchemafalsenoneRepresents a [apls] local-state or [apgs] global-state schema. These schemas determine how much storage may be used in a local-state or global-state for an application. The more space used, the larger minimum balance must be maintained in the account holding the data.
»»» on-completionOnCompletiontruenone[apan] defines the what additional actions occur with the transaction.

Valid types:
* noop
* optin
* closeout
* clear
* update
* update
* delete
»» asset-config-transactionTransactionAssetConfigfalsenoneFields for asset allocation, re-configuration, and destruction.


A zero value for asset-id indicates asset creation.
A zero value for the params indicates asset destruction.

Definition:
data/transactions/asset.go : AssetConfigTxnFields
»»» asset-idintegerfalsenone[xaid] ID of the asset being configured or empty if creating.
»»» paramsAssetParamsfalsenoneAssetParams specifies the parameters for an asset.

[apar] when part of an AssetConfig transaction.

Definition:
data/transactions/asset.go : AssetParams
»»»» clawbackstringfalsenoneAddress of account used to clawback holdings of this asset. If empty, clawback is not permitted.
»»»» creatorstringtruenoneThe 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.
»»»» decimalsintegertruenoneThe 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).
»»»» default-frozenbooleanfalsenoneWhether holdings of this asset are frozen by default.
»»»» freezestringfalsenoneAddress of account used to freeze holdings of this asset. If empty, freezing is not permitted.
»»»» managerstringfalsenoneAddress of account used to manage the keys of this asset and to destroy it.
»»»» metadata-hashstring(byte)falsenoneA commitment to some unspecified asset metadata. The format of this metadata is up to the application.
»»»» namestringfalsenoneName of this asset, as supplied by the creator. Included only when the asset name is composed of printable utf-8 characters.
»»»» name-b64string(byte)falsenoneBase64 encoded name of this asset, as supplied by the creator.
»»»» reservestringfalsenoneAddress of account holding reserve (non-minted) units of this asset.
»»»» totalintegertruenoneThe total number of units of this asset.
»»»» unit-namestringfalsenoneName 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.
»»»» unit-name-b64string(byte)falsenoneBase64 encoded name of a unit of this asset, as supplied by the creator.
»»»» urlstringfalsenoneURL where more information about the asset can be retrieved. Included only when the URL is composed of printable utf-8 characters.
»»»» url-b64string(byte)falsenoneBase64 encoded URL where more information about the asset can be retrieved.
»» asset-freeze-transactionTransactionAssetFreezefalsenoneFields for an asset freeze transaction.

Definition:
data/transactions/asset.go : AssetFreezeTxnFields
»»» addressstringtruenone[fadd] Address of the account whose asset is being frozen or thawed.
»»» asset-idintegertruenone[faid] ID of the asset being frozen or thawed.
»»» new-freeze-statusbooleantruenone[afrz] The new freeze status.
»» asset-transfer-transactionTransactionAssetTransferfalsenoneFields for an asset transfer transaction.

Definition:
data/transactions/asset.go : AssetTransferTxnFields
»»» amountintegertruenone[aamt] Amount of asset to transfer. A zero amount transferred to self allocates that asset in the account’s Assets map.
»»» asset-idintegertruenone[xaid] ID of the asset being transferred.
»»» close-amountintegerfalsenoneNumber of assets transferred to the close-to account as part of the transaction.
»»» close-tostringfalsenone[aclose] Indicates that the asset should be removed from the account’s Assets map, and specifies where the remaining asset holdings should be transferred. It’s always valid to transfer remaining asset holdings to the creator account.
»»» receiverstringtruenone[arcv] Recipient address of the transfer.
»»» senderstringfalsenone[asnd] The effective sender during a clawback transactions. If this is not a zero value, the real transaction sender must be the Clawback address from the AssetParams.
»» auth-addrstringfalsenone[sgnr] this is included with signed transactions when the signing address does not equal the sender. The backend can use this to ensure that auth addr is equal to the accounts auth addr.
»» close-rewardsintegerfalsenone[rc] rewards applied to close-remainder-to account.
»» closing-amountintegerfalsenone[ca] closing amount for transaction.
»» confirmed-roundintegerfalsenoneRound when the transaction was confirmed.
»» created-application-indexintegerfalsenoneSpecifies an application index (ID) if an application was created with this transaction.
»» created-asset-indexintegerfalsenoneSpecifies an asset index (ID) if an asset was created with this transaction.
»» feeintegertruenone[fee] Transaction fee.
»» first-validintegertruenone[fv] First valid round for this transaction.
»» genesis-hashstring(byte)falsenone[gh] Hash of genesis block.
»» genesis-idstringfalsenone[gen] genesis block ID.
»» global-state-delta[EvalDeltaKeyValue]falsenoneApplication state delta.
»»» keystringtruenonenone
»»» valueEvalDeltatruenoneRepresents a TEAL value delta.
»»»» actionintegertruenone[at] delta action.
»»»» bytesstringfalsenone[bs] bytes value.
»»»» uintintegerfalsenone[ui] uint value.
»» groupstring(byte)falsenone[grp] Base64 encoded byte array of a sha512/256 digest. When present indicates that this transaction is part of a transaction group and the value is the sha512/256 hash of the transactions in that group.
»» heartbeat-transactionTransactionHeartbeatfalsenoneFields for a heartbeat transaction.

Definition:
data/transactions/heartbeat.go : HeartbeatTxnFields
»»» hb-addressstringtruenone[hbad] HbAddress is the account this txn is proving onlineness for.
»»» hb-key-dilutionintegertruenone[hbkd] HbKeyDilution must match HbAddress account’s current KeyDilution.
»»» hb-proofHbProofFieldstruenone[hbprf] HbProof is a signature using HeartbeatAddress’s partkey, thereby showing it is online.
»»»» hb-pkstring(byte)falsenone[p] Public key of the heartbeat message.
»»»» hb-pk1sigstring(byte)falsenone[p1s] Signature of OneTimeSignatureSubkeyOffsetID(PK, Batch, Offset) under the key PK2.
»»»» hb-pk2string(byte)falsenone[p2] Key for new-style two-level ephemeral signature.
»»»» hb-pk2sigstring(byte)falsenone[p2s] Signature of OneTimeSignatureSubkeyBatchID(PK2, Batch) under the master key (OneTimeSignatureVerifier).
»»»» hb-sigstring(byte)falsenone[s] Signature of the heartbeat message.
»»» hb-seedstring(byte)truenone[hbsd] HbSeed must be the block seed for the this transaction’s firstValid block.
»»» hb-vote-idstring(byte)truenone[hbvid] HbVoteID must match the HbAddress account’s current VoteID.
»» idstringfalsenoneTransaction ID
»» inner-txns[Transaction]falsenoneInner transactions produced by application execution.
»» intra-round-offsetintegerfalsenoneOffset into the round where this transaction was confirmed.
»» keyreg-transactionTransactionKeyregfalsenoneFields for a keyreg transaction.

Definition:
data/transactions/keyreg.go : KeyregTxnFields
»»» non-participationbooleanfalsenone[nonpart] Mark the account as participating or non-participating.
»»» selection-participation-keystring(byte)falsenone[selkey] Public key used with the Verified Random Function (VRF) result during committee selection.
»»» state-proof-keystring(byte)falsenone[sprfkey] State proof key used in key registration transactions.
»»» vote-first-validintegerfalsenone[votefst] First round this participation key is valid.
»»» vote-key-dilutionintegerfalsenone[votekd] Number of subkeys in each batch of participation keys.
»»» vote-last-validintegerfalsenone[votelst] Last round this participation key is valid.
»»» vote-participation-keystring(byte)falsenone[votekey] Participation public key used in key registration transactions.
»» last-validintegertruenone[lv] Last valid round for this transaction.
»» leasestring(byte)falsenone[lx] Base64 encoded 32-byte array. Lease enforces mutual exclusion of transactions. If this field is nonzero, then once the transaction is confirmed, it acquires the lease identified by the (Sender, Lease) pair of the transaction until the LastValid round passes. While this transaction possesses the lease, no other transaction specifying this lease can be confirmed.
»» local-state-delta[AccountStateDelta]falsenone[ld] Local state key/value changes for the application being executed by this transaction.
»»» addressstringtruenonenone
»»» delta[EvalDeltaKeyValue]truenoneApplication state delta.
»» logs[string]falsenone[lg] Logs for the application being executed by this transaction.
»» notestring(byte)falsenone[note] Free form data.
»» payment-transactionTransactionPaymentfalsenoneFields for a payment transaction.

Definition:
data/transactions/payment.go : PaymentTxnFields
»»» amountintegertruenone[amt] number of MicroAlgos intended to be transferred.
»»» close-amountintegerfalsenoneNumber of MicroAlgos that were sent to the close-remainder-to address when closing the sender account.
»»» close-remainder-tostringfalsenone[close] when set, indicates that the sending account should be closed and all remaining funds be transferred to this address.
»»» receiverstringtruenone[rcv] receiver’s address.
»» receiver-rewardsintegerfalsenone[rr] rewards applied to receiver account.
»» rekey-tostringfalsenone[rekey] when included in a valid transaction, the accounts auth addr will be updated with this value and future signatures must be signed with the key represented by this address.
»» round-timeintegerfalsenoneTime when the block this transaction is in was confirmed.
»» senderstringtruenone[snd] Sender’s address.
»» sender-rewardsintegerfalsenone[rs] rewards applied to sender account.
»» signatureTransactionSignaturefalsenoneValidation signature associated with some data. Only one of the signatures should be provided.
»»» logicsigTransactionSignatureLogicsigfalsenone[lsig] Programatic transaction signature.

Definition:
data/transactions/logicsig.go
»»»» args[string]falsenone[arg] Logic arguments, base64 encoded.
»»»» logicstring(byte)truenone[l] Program signed by a signature or multi signature, or hashed to be the address of ana ccount. Base64 encoded TEAL program.
»»»» multisig-signatureTransactionSignatureMultisigfalsenone[msig] structure holding multiple subsignatures.

Definition:
crypto/multisig.go : MultisigSig
»»»»» subsignature[TransactionSignatureMultisigSubsignature]falsenone[subsig] holds pairs of public key and signatures.
»»»»»» public-keystring(byte)falsenone[pk]
»»»»»» signaturestring(byte)falsenone[s]
»»»»» thresholdintegerfalsenone[thr]
»»»»» versionintegerfalsenone[v]
»»»» signaturestring(byte)falsenone[sig] ed25519 signature.
»»» multisigTransactionSignatureMultisigfalsenone[msig] structure holding multiple subsignatures.

Definition:
crypto/multisig.go : MultisigSig
»»» sigstring(byte)falsenone[sig] Standard ed25519 signature.
»» state-proof-transactionTransactionStateProoffalsenoneFields for a state proof transaction.

Definition:
data/transactions/stateproof.go : StateProofTxnFields
»»» messageIndexerStateProofMessagefalsenonenone
»»»» block-headers-commitmentstring(byte)falsenone[b]
»»»» first-attested-roundintegerfalsenone[f]
»»»» latest-attested-roundintegerfalsenone[l]
»»»» ln-proven-weightintegerfalsenone[P]
»»»» voters-commitmentstring(byte)falsenone[v]
»»» state-proofStateProofFieldsfalsenone[sp] represents a state proof.

Definition:
crypto/stateproof/structs.go : StateProof
»»»» part-proofsMerkleArrayProoffalsenonenone
»»»»» hash-factoryHashFactoryfalsenonenone
»»»»»» hash-typeintegerfalsenone[t]
»»»»» path[string]falsenone[pth]
»»»»» tree-depthintegerfalsenone[td]
»»»» positions-to-reveal[integer]falsenone[pr] Sequence of reveal positions.
»»»» reveals[StateProofReveal]falsenone[r] Note that this is actually stored as a map[uint64] - Reveal in the actual msgp
»»»»» participantStateProofParticipantfalsenonenone
»»»»»» verifierStateProofVerifierfalsenonenone
»»»»»»» commitmentstring(byte)falsenone[cmt] Represents the root of the vector commitment tree.
»»»»»»» key-lifetimeintegerfalsenone[lf] Key lifetime.
»»»»»» weightintegerfalsenone[w]
»»»»» positionintegerfalsenoneThe position in the signature and participants arrays corresponding to this entry.
»»»»» sig-slotStateProofSigSlotfalsenonenone
»»»»»» lower-sig-weightintegerfalsenone[l] The total weight of signatures in the lower-numbered slots.
»»»»»» signatureStateProofSignaturefalsenonenone
»»»»»»» falcon-signaturestring(byte)falsenonenone
»»»»»»» merkle-array-indexintegerfalsenonenone
»»»»»»» proofMerkleArrayProoffalsenonenone
»»»»»»» verifying-keystring(byte)falsenone[vkey]
»»»» salt-versionintegerfalsenone[v] Salt version of the merkle signature.
»»»» sig-commitstring(byte)falsenone[c]
»»»» sig-proofsMerkleArrayProoffalsenonenone
»»»» signed-weightintegerfalsenone[w]
»»» state-proof-typeintegerfalsenone[sptype] Type of the state proof. Integer representing an entry defined in protocol/stateproof.go
»» tx-typestringtruenone[type] Indicates what type of transaction this is. Different types have different fields.

Valid types, and where their fields are stored:
* [pay] payment-transaction
* [keyreg] keyreg-transaction
* [acfg] asset-config-transaction
* [axfer] asset-transfer-transaction
* [afrz] asset-freeze-transaction
* [appl] application-transaction
* [stpf] state-proof-transaction
* [hb] heartbeat-transaction

Enumerated Values

PropertyValue
on-completionnoop
on-completionoptin
on-completioncloseout
on-completionclear
on-completionupdate
on-completiondelete
tx-typepay
tx-typekeyreg
tx-typeacfg
tx-typeaxfer
tx-typeafrz
tx-typeappl
tx-typestpf
tx-typehb

Status Code 400

NameTypeRequiredRestrictionsDescription
» dataobjectfalsenonenone
» messagestringtruenonenone

Status Code 404

NameTypeRequiredRestrictionsDescription
» dataobjectfalsenonenone
» messagestringtruenonenone

Status Code 500

NameTypeRequiredRestrictionsDescription
» dataobjectfalsenonenone
» messagestringtruenonenone

Schemas

Account

{
"address": "string",
"amount": 0,
"amount-without-pending-rewards": 0,
"apps-local-state": [
{
"closed-out-at-round": 0,
"deleted": true,
"id": 0,
"key-value": [
{
"key": "string",
"value": {
"bytes": "string",
"type": 0,
"uint": 0
}
}
],
"opted-in-at-round": 0,
"schema": {
"num-byte-slice": 0,
"num-uint": 0
}
}
],
"apps-total-extra-pages": 0,
"apps-total-schema": {
"num-byte-slice": 0,
"num-uint": 0
},
"assets": [
{
"amount": 0,
"asset-id": 0,
"deleted": true,
"is-frozen": true,
"opted-in-at-round": 0,
"opted-out-at-round": 0
}
],
"auth-addr": "string",
"closed-at-round": 0,
"created-apps": [
{
"created-at-round": 0,
"deleted": true,
"deleted-at-round": 0,
"id": 0,
"params": {
"approval-program": "string",
"clear-state-program": "string",
"creator": "string",
"extra-program-pages": 0,
"global-state": [
{
"key": "string",
"value": {
"bytes": "string",
"type": 0,
"uint": 0
}
}
],
"global-state-schema": {
"num-byte-slice": 0,
"num-uint": 0
},
"local-state-schema": {
"num-byte-slice": 0,
"num-uint": 0
}
}
}
],
"created-assets": [
{
"created-at-round": 0,
"deleted": true,
"destroyed-at-round": 0,
"index": 0,
"params": {
"clawback": "string",
"creator": "string",
"decimals": 19,
"default-frozen": true,
"freeze": "string",
"manager": "string",
"metadata-hash": "string",
"name": "string",
"name-b64": "string",
"reserve": "string",
"total": 0,
"unit-name": "string",
"unit-name-b64": "string",
"url": "string",
"url-b64": "string"
}
}
],
"created-at-round": 0,
"deleted": true,
"incentive-eligible": true,
"last-heartbeat": 0,
"last-proposed": 0,
"min-balance": 0,
"participation": {
"selection-participation-key": "string",
"state-proof-key": "string",
"vote-first-valid": 0,
"vote-key-dilution": 0,
"vote-last-valid": 0,
"vote-participation-key": "string"
},
"pending-rewards": 0,
"reward-base": 0,
"rewards": 0,
"round": 0,
"sig-type": "sig",
"status": "string",
"total-apps-opted-in": 0,
"total-assets-opted-in": 0,
"total-box-bytes": 0,
"total-boxes": 0,
"total-created-apps": 0,
"total-created-assets": 0
}

Account information at a given round.

Definition: data/basics/userBalance.go : AccountData

Properties

NameTypeRequiredRestrictionsDescription
addressstringtruenonethe account public key
amountintegertruenonetotal number of MicroAlgos in the account
amount-without-pending-rewardsintegertruenonespecifies the amount of MicroAlgos in the account, without the pending rewards.
apps-local-state[ApplicationLocalState]falsenoneapplication local data stored in this account.

Note the raw object uses map[int] -> AppLocalState for this type.
apps-total-extra-pagesintegerfalsenonethe sum of all extra application program pages for this account.
apps-total-schemaApplicationStateSchemafalsenoneSpecifies maximums on the number of each type that may be stored.
assets[AssetHolding]falsenoneassets held by this account.

Note the raw object uses map[int] -> AssetHolding for this type.
auth-addrstringfalsenoneThe 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.
closed-at-roundintegerfalsenoneRound during which this account was most recently closed.
created-apps[Application]falsenoneparameters of applications created by this account including app global data.

Note: the raw account uses map[int] -> AppParams for this type.
created-assets[Asset]falsenoneparameters of assets created by this account.

Note: the raw account uses map[int] -> Asset for this type.
created-at-roundintegerfalsenoneRound during which this account first appeared in a transaction.
deletedbooleanfalsenoneWhether or not this account is currently closed.
incentive-eligiblebooleanfalsenonecan the account receive block incentives if its balance is in range at proposal time.
last-heartbeatintegerfalsenoneThe round in which this account last went online, or explicitly renewed their online status.
last-proposedintegerfalsenoneThe round in which this account last proposed the block.
min-balanceintegertruenoneMicroAlgo balance required by the account.

The requirement grows based on asset and application usage.
participationAccountParticipationfalsenoneAccountParticipation describes the parameters used by this account in consensus protocol.
pending-rewardsintegertruenoneamount of MicroAlgos of pending rewards in this account.
reward-baseintegerfalsenoneused as part of the rewards computation. Only applicable to accounts which are participating.
rewardsintegertruenonetotal rewards of MicroAlgos the account has received, including pending rewards.
roundintegertruenoneThe round for which this information is relevant.
sig-typestringfalsenonethe type of signature used by this account, must be one of:
* sig
* msig
* lsig
* or null if unknown
statusstringtruenonevoting 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.
total-apps-opted-inintegertruenoneThe count of all applications that have been opted in, equivalent to the count of application local data (AppLocalState objects) stored in this account.
total-assets-opted-inintegertruenoneThe count of all assets that have been opted in, equivalent to the count of AssetHolding objects held by this account.
total-box-bytesintegertruenoneFor app-accounts only. The total number of bytes allocated for the keys and values of boxes which belong to the associated application.
total-boxesintegertruenoneFor app-accounts only. The total number of boxes which belong to the associated application.
total-created-appsintegertruenoneThe count of all apps (AppParams objects) created by this account.
total-created-assetsintegertruenoneThe count of all assets (AssetParams objects) created by this account.

Enumerated Values

PropertyValue
sig-typesig
sig-typemsig
sig-typelsig

AccountParticipation

{
"selection-participation-key": "string",
"state-proof-key": "string",
"vote-first-valid": 0,
"vote-key-dilution": 0,
"vote-last-valid": 0,
"vote-participation-key": "string"
}

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

Properties

NameTypeRequiredRestrictionsDescription
selection-participation-keystring(byte)truenoneSelection public key (if any) currently registered for this round.
state-proof-keystring(byte)falsenoneRoot of the state proof key (if any)
vote-first-validintegertruenoneFirst round for which this participation is valid.
vote-key-dilutionintegertruenoneNumber of subkeys in each batch of participation keys.
vote-last-validintegertruenoneLast round for which this participation is valid.
vote-participation-keystring(byte)truenoneroot participation public key (if any) currently registered for this round.

AccountStateDelta

{
"address": "string",
"delta": [
{
"key": "string",
"value": {
"action": 0,
"bytes": "string",
"uint": 0
}
}
]
}

Application state delta.

Properties

NameTypeRequiredRestrictionsDescription
addressstringtruenonenone
deltaStateDeltatruenoneApplication state delta.

Application

{
"created-at-round": 0,
"deleted": true,
"deleted-at-round": 0,
"id": 0,
"params": {
"approval-program": "string",
"clear-state-program": "string",
"creator": "string",
"extra-program-pages": 0,
"global-state": [
{
"key": "string",
"value": {
"bytes": "string",
"type": 0,
"uint": 0
}
}
],
"global-state-schema": {
"num-byte-slice": 0,
"num-uint": 0
},
"local-state-schema": {
"num-byte-slice": 0,
"num-uint": 0
}
}
}

Application index and its parameters

Properties

NameTypeRequiredRestrictionsDescription
created-at-roundintegerfalsenoneRound when this application was created.
deletedbooleanfalsenoneWhether or not this application is currently deleted.
deleted-at-roundintegerfalsenoneRound when this application was deleted.
idintegertruenoneapplication index.
paramsApplicationParamstruenoneStores the global information associated with an application.

ApplicationLocalState

{
"closed-out-at-round": 0,
"deleted": true,
"id": 0,
"key-value": [
{
"key": "string",
"value": {
"bytes": "string",
"type": 0,
"uint": 0
}
}
],
"opted-in-at-round": 0,
"schema": {
"num-byte-slice": 0,
"num-uint": 0
}
}

Stores local state associated with an application.

Properties

NameTypeRequiredRestrictionsDescription
closed-out-at-roundintegerfalsenoneRound when account closed out of the application.
deletedbooleanfalsenoneWhether or not the application local state is currently deleted from its account.
idintegertruenoneThe application which this local state is for.
key-valueTealKeyValueStorefalsenoneRepresents a key-value store for use in an application.
opted-in-at-roundintegerfalsenoneRound when the account opted into the application.
schemaApplicationStateSchematruenoneSpecifies maximums on the number of each type that may be stored.

ApplicationLogData

{
"logs": [
"string"
],
"txid": "string"
}

Stores the global information associated with an application.

Properties

NameTypeRequiredRestrictionsDescription
logs[string]truenoneLogs for the application being executed by the transaction.
txidstringtruenoneTransaction ID

ApplicationParams

{
"approval-program": "string",
"clear-state-program": "string",
"creator": "string",
"extra-program-pages": 0,
"global-state": [
{
"key": "string",
"value": {
"bytes": "string",
"type": 0,
"uint": 0
}
}
],
"global-state-schema": {
"num-byte-slice": 0,
"num-uint": 0
},
"local-state-schema": {
"num-byte-slice": 0,
"num-uint": 0
}
}

Stores the global information associated with an application.

Properties

NameTypeRequiredRestrictionsDescription
approval-programstring(byte)truenoneapproval program.
clear-state-programstring(byte)truenoneclear state program.
creatorstringfalsenoneThe address that created this application. This is the address where the parameters and global state for this application can be found.
extra-program-pagesintegerfalsenonethe number of extra program pages available to this app.
global-stateTealKeyValueStorefalsenoneRepresents a key-value store for use in an application.
global-state-schemaApplicationStateSchemafalsenoneSpecifies maximums on the number of each type that may be stored.
local-state-schemaApplicationStateSchemafalsenoneSpecifies maximums on the number of each type that may be stored.

ApplicationStateSchema

{
"num-byte-slice": 0,
"num-uint": 0
}

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

Properties

NameTypeRequiredRestrictionsDescription
num-byte-sliceintegertruenonenumber of byte slices.
num-uintintegertruenonenumber of uints.

Asset

{
"created-at-round": 0,
"deleted": true,
"destroyed-at-round": 0,
"index": 0,
"params": {
"clawback": "string",
"creator": "string",
"decimals": 19,
"default-frozen": true,
"freeze": "string",
"manager": "string",
"metadata-hash": "string",
"name": "string",
"name-b64": "string",
"reserve": "string",
"total": 0,
"unit-name": "string",
"unit-name-b64": "string",
"url": "string",
"url-b64": "string"
}
}

Specifies both the unique identifier and the parameters for an asset

Properties

NameTypeRequiredRestrictionsDescription
created-at-roundintegerfalsenoneRound during which this asset was created.
deletedbooleanfalsenoneWhether or not this asset is currently deleted.
destroyed-at-roundintegerfalsenoneRound during which this asset was destroyed.
indexintegertruenoneunique asset identifier
paramsAssetParamstruenoneAssetParams specifies the parameters for an asset.

[apar] when part of an AssetConfig transaction.

Definition:
data/transactions/asset.go : AssetParams

AssetHolding

{
"amount": 0,
"asset-id": 0,
"deleted": true,
"is-frozen": true,
"opted-in-at-round": 0,
"opted-out-at-round": 0
}

Describes an asset held by an account.

Definition: data/basics/userBalance.go : AssetHolding

Properties

NameTypeRequiredRestrictionsDescription
amountintegertruenonenumber of units held.
asset-idintegertruenoneAsset ID of the holding.
deletedbooleanfalsenoneWhether or not the asset holding is currently deleted from its account.
is-frozenbooleantruenonewhether or not the holding is frozen.
opted-in-at-roundintegerfalsenoneRound during which the account opted into this asset holding.
opted-out-at-roundintegerfalsenoneRound during which the account opted out of this asset holding.

AssetParams

{
"clawback": "string",
"creator": "string",
"decimals": 19,
"default-frozen": true,
"freeze": "string",
"manager": "string",
"metadata-hash": "string",
"name": "string",
"name-b64": "string",
"reserve": "string",
"total": 0,
"unit-name": "string",
"unit-name-b64": "string",
"url": "string",
"url-b64": "string"
}

AssetParams specifies the parameters for an asset.

[apar] when part of an AssetConfig transaction.

Definition: data/transactions/asset.go : AssetParams

Properties

NameTypeRequiredRestrictionsDescription
clawbackstringfalsenoneAddress of account used to clawback holdings of this asset. If empty, clawback is not permitted.
creatorstringtruenoneThe 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.
decimalsintegertruenoneThe 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).
default-frozenbooleanfalsenoneWhether holdings of this asset are frozen by default.
freezestringfalsenoneAddress of account used to freeze holdings of this asset. If empty, freezing is not permitted.
managerstringfalsenoneAddress of account used to manage the keys of this asset and to destroy it.
metadata-hashstring(byte)falsenoneA commitment to some unspecified asset metadata. The format of this metadata is up to the application.
namestringfalsenoneName of this asset, as supplied by the creator. Included only when the asset name is composed of printable utf-8 characters.
name-b64string(byte)falsenoneBase64 encoded name of this asset, as supplied by the creator.
reservestringfalsenoneAddress of account holding reserve (non-minted) units of this asset.
totalintegertruenoneThe total number of units of this asset.
unit-namestringfalsenoneName 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.
unit-name-b64string(byte)falsenoneBase64 encoded name of a unit of this asset, as supplied by the creator.
urlstringfalsenoneURL where more information about the asset can be retrieved. Included only when the URL is composed of printable utf-8 characters.
url-b64string(byte)falsenoneBase64 encoded URL where more information about the asset can be retrieved.

Block

{
"bonus": 0,
"fees-collected": 0,
"genesis-hash": "string",
"genesis-id": "string",
"participation-updates": {
"absent-participation-accounts": [
"string"
],
"expired-participation-accounts": [
"string"
]
},
"previous-block-hash": "string",
"proposer": "string",
"proposer-payout": 0,
"rewards": {
"fee-sink": "string",
"rewards-calculation-round": 0,
"rewards-level": 0,
"rewards-pool": "string",
"rewards-rate": 0,
"rewards-residue": 0
},
"round": 0,
"seed": "string",
"state-proof-tracking": [
{
"next-round": 0,
"online-total-weight": 0,
"type": 0,
"voters-commitment": "string"
}
],
"timestamp": 0,
"transactions": [
{
"application-transaction": {
"accounts": [
"string"
],
"application-args": [
"string"
],
"application-id": 0,
"approval-program": "string",
"clear-state-program": "string",
"extra-program-pages": 0,
"foreign-apps": [
0
],
"foreign-assets": [
0
],
"global-state-schema": {
"num-byte-slice": 0,
"num-uint": 0
},
"local-state-schema": {
"num-byte-slice": 0,
"num-uint": 0
},
"on-completion": "noop"
},
"asset-config-transaction": {
"asset-id": 0,
"params": {
"clawback": "string",
"creator": "string",
"decimals": 19,
"default-frozen": true,
"freeze": "string",
"manager": "string",
"metadata-hash": "string",
"name": "string",
"name-b64": "string",
"reserve": "string",
"total": 0,
"unit-name": "string",
"unit-name-b64": "string",
"url": "string",
"url-b64": "string"
}
},
"asset-freeze-transaction": {
"address": "string",
"asset-id": 0,
"new-freeze-status": true
},
"asset-transfer-transaction": {
"amount": 0,
"asset-id": 0,
"close-amount": 0,
"close-to": "string",
"receiver": "string",
"sender": "string"
},
"auth-addr": "string",
"close-rewards": 0,
"closing-amount": 0,
"confirmed-round": 0,
"created-application-index": 0,
"created-asset-index": 0,
"fee": 0,
"first-valid": 0,
"genesis-hash": "string",
"genesis-id": "string",
"global-state-delta": [
{
"key": "string",
"value": {
"action": 0,
"bytes": "string",
"uint": 0
}
}
],
"group": "string",
"heartbeat-transaction": {
"hb-address": "string",
"hb-key-dilution": 0,
"hb-proof": {
"hb-pk": "string",
"hb-pk1sig": "string",
"hb-pk2": "string",
"hb-pk2sig": "string",
"hb-sig": "string"
},
"hb-seed": "string",
"hb-vote-id": "string"
},
"id": "string",
"inner-txns": [
{}
],
"intra-round-offset": 0,
"keyreg-transaction": {
"non-participation": true,
"selection-participation-key": "string",
"state-proof-key": "string",
"vote-first-valid": 0,
"vote-key-dilution": 0,
"vote-last-valid": 0,
"vote-participation-key": "string"
},
"last-valid": 0,
"lease": "string",
"local-state-delta": [
{
"address": "string",
"delta": [
{
"key": "string",
"value": {
"action": 0,
"bytes": "string",
"uint": 0
}
}
]
}
],
"logs": [
"string"
],
"note": "string",
"payment-transaction": {
"amount": 0,
"close-amount": 0,
"close-remainder-to": "string",
"receiver": "string"
},
"receiver-rewards": 0,
"rekey-to": "string",
"round-time": 0,
"sender": "string",
"sender-rewards": 0,
"signature": {
"logicsig": {
"args": [
"string"
],
"logic": "string",
"multisig-signature": {
"subsignature": [
{
"public-key": "string",
"signature": "string"
}
],
"threshold": 0,
"version": 0
},
"signature": "string"
},
"multisig": {
"subsignature": [
{
"public-key": "string",
"signature": "string"
}
],
"threshold": 0,
"version": 0
},
"sig": "string"
},
"state-proof-transaction": {
"message": {
"block-headers-commitment": "string",
"first-attested-round": 0,
"latest-attested-round": 0,
"ln-proven-weight": 0,
"voters-commitment": "string"
},
"state-proof": {
"part-proofs": {
"hash-factory": {
"hash-type": 0
},
"path": [
"string"
],
"tree-depth": 0
},
"positions-to-reveal": [
0
],
"reveals": [
{
"participant": {
"verifier": {
"commitment": "string",
"key-lifetime": 0
},
"weight": 0
},
"position": 0,
"sig-slot": {
"lower-sig-weight": 0,
"signature": {
"falcon-signature": "string",
"merkle-array-index": 0,
"proof": {
"hash-factory": {},
"path": [],
"tree-depth": 0
},
"verifying-key": "string"
}
}
}
],
"salt-version": 0,
"sig-commit": "string",
"sig-proofs": {
"hash-factory": {
"hash-type": 0
},
"path": [
"string"
],
"tree-depth": 0
},
"signed-weight": 0
},
"state-proof-type": 0
},
"tx-type": "pay"
}
],
"transactions-root": "string",
"transactions-root-sha256": "string",
"txn-counter": 0,
"upgrade-state": {
"current-protocol": "string",
"next-protocol": "string",
"next-protocol-approvals": 0,
"next-protocol-switch-on": 0,
"next-protocol-vote-before": 0
},
"upgrade-vote": {
"upgrade-approve": true,
"upgrade-delay": 0,
"upgrade-propose": "string"
}
}

Block information.

Definition: data/bookkeeping/block.go : Block

Properties

NameTypeRequiredRestrictionsDescription
bonusintegerfalsenonethe potential bonus payout for this block.
fees-collectedintegerfalsenonethe sum of all fees paid by transactions in this block.
genesis-hashstring(byte)truenone[gh] hash to which this block belongs.
genesis-idstringtruenone[gen] ID to which this block belongs.
participation-updatesParticipationUpdatesfalsenoneParticipation account data that needs to be checked/acted on by the network.
previous-block-hashstring(byte)truenone[prev] Previous block hash.
proposerstringfalsenonethe proposer of this block.
proposer-payoutintegerfalsenonethe actual amount transferred to the proposer from the fee sink.
rewardsBlockRewardsfalsenoneFields relating to rewards,
roundintegertruenone[rnd] Current round on which this block was appended to the chain.
seedstring(byte)truenone[seed] Sortition seed.
state-proof-tracking[StateProofTracking]falsenoneTracks the status of state proofs.
timestampintegertruenone[ts] Block creation timestamp in seconds since eposh
transactions[Transaction]falsenone[txns] list of transactions corresponding to a given round.
transactions-rootstring(byte)truenone[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.
transactions-root-sha256string(byte)truenone[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.
txn-counterintegerfalsenone[tc] TxnCounter counts the number of transactions committed in the ledger, from the time at which support for this feature was introduced.

Specifically, 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).
upgrade-stateBlockUpgradeStatefalsenoneFields relating to a protocol upgrade.
upgrade-voteBlockUpgradeVotefalsenoneFields relating to voting for a protocol upgrade.

BlockRewards

{
"fee-sink": "string",
"rewards-calculation-round": 0,
"rewards-level": 0,
"rewards-pool": "string",
"rewards-rate": 0,
"rewards-residue": 0
}

Fields relating to rewards,

Properties

NameTypeRequiredRestrictionsDescription
fee-sinkstringtruenone[fees] accepts transaction fees, it can only spend to the incentive pool.
rewards-calculation-roundintegertruenone[rwcalr] number of leftover MicroAlgos after the distribution of rewards-rate MicroAlgos for every reward unit in the next round.
rewards-levelintegertruenone[earn] How many rewards, in MicroAlgos, have been distributed to each RewardUnit of MicroAlgos since genesis.
rewards-poolstringtruenone[rwd] accepts periodic injections from the fee-sink and continually redistributes them as rewards.
rewards-rateintegertruenone[rate] Number of new MicroAlgos added to the participation stake from rewards at the next round.
rewards-residueintegertruenone[frac] Number of leftover MicroAlgos after the distribution of RewardsRate/rewardUnits MicroAlgos for every reward unit in the next round.

BlockUpgradeState

{
"current-protocol": "string",
"next-protocol": "string",
"next-protocol-approvals": 0,
"next-protocol-switch-on": 0,
"next-protocol-vote-before": 0
}

Fields relating to a protocol upgrade.

Properties

NameTypeRequiredRestrictionsDescription
current-protocolstringtruenone[proto] The current protocol version.
next-protocolstringfalsenone[nextproto] The next proposed protocol version.
next-protocol-approvalsintegerfalsenone[nextyes] Number of blocks which approved the protocol upgrade.
next-protocol-switch-onintegerfalsenone[nextswitch] Round on which the protocol upgrade will take effect.
next-protocol-vote-beforeintegerfalsenone[nextbefore] Deadline round for this protocol upgrade (No votes will be consider after this round).

BlockUpgradeVote

{
"upgrade-approve": true,
"upgrade-delay": 0,
"upgrade-propose": "string"
}

Fields relating to voting for a protocol upgrade.

Properties

NameTypeRequiredRestrictionsDescription
upgrade-approvebooleanfalsenone[upgradeyes] Indicates a yes vote for the current proposal.
upgrade-delayintegerfalsenone[upgradedelay] Indicates the time between acceptance and execution.
upgrade-proposestringfalsenone[upgradeprop] Indicates a proposed upgrade.

Box

{
"name": "string",
"round": 0,
"value": "string"
}

Box name and its content.

Properties

NameTypeRequiredRestrictionsDescription
namestring(byte)truenone[name] box name, base64 encoded
roundintegertruenoneThe round for which this information is relevant
valuestring(byte)truenone[value] box value, base64 encoded.

BoxDescriptor

{
"name": "string"
}

Box descriptor describes an app box without a value.

Properties

NameTypeRequiredRestrictionsDescription
namestring(byte)truenoneBase64 encoded box name

EvalDelta

{
"action": 0,
"bytes": "string",
"uint": 0
}

Represents a TEAL value delta.

Properties

NameTypeRequiredRestrictionsDescription
actionintegertruenone[at] delta action.
bytesstringfalsenone[bs] bytes value.
uintintegerfalsenone[ui] uint value.

EvalDeltaKeyValue

{
"key": "string",
"value": {
"action": 0,
"bytes": "string",
"uint": 0
}
}

Key-value pairs for StateDelta.

Properties

NameTypeRequiredRestrictionsDescription
keystringtruenonenone
valueEvalDeltatruenoneRepresents a TEAL value delta.

HashFactory

{
"hash-type": 0
}

Properties

NameTypeRequiredRestrictionsDescription
hash-typeintegerfalsenone[t]

Hashtype

"sha512_256"

The type of hash function used to create the proof, must be one of:

  • sha512_256
  • sha256

Properties

NameTypeRequiredRestrictionsDescription
anonymousstringfalsenoneThe type of hash function used to create the proof, must be one of:
* sha512_256
* sha256

Enumerated Values

PropertyValue
anonymoussha512_256
anonymoussha256

HbProofFields

{
"hb-pk": "string",
"hb-pk1sig": "string",
"hb-pk2": "string",
"hb-pk2sig": "string",
"hb-sig": "string"
}

[hbprf] HbProof is a signature using HeartbeatAddress’s partkey, thereby showing it is online.

Properties

NameTypeRequiredRestrictionsDescription
hb-pkstring(byte)falsenone[p] Public key of the heartbeat message.
hb-pk1sigstring(byte)falsenone[p1s] Signature of OneTimeSignatureSubkeyOffsetID(PK, Batch, Offset) under the key PK2.
hb-pk2string(byte)falsenone[p2] Key for new-style two-level ephemeral signature.
hb-pk2sigstring(byte)falsenone[p2s] Signature of OneTimeSignatureSubkeyBatchID(PK2, Batch) under the master key (OneTimeSignatureVerifier).
hb-sigstring(byte)falsenone[s] Signature of the heartbeat message.

HealthCheck

{
"data": {},
"db-available": true,
"errors": [
"string"
],
"is-migrating": true,
"message": "string",
"round": 0,
"version": "string"
}

A health check response.

Properties

NameTypeRequiredRestrictionsDescription
dataobjectfalsenonenone
db-availablebooleantruenonenone
errors[string]falsenonenone
is-migratingbooleantruenonenone
messagestringtruenonenone
roundintegertruenonenone
versionstringtruenoneCurrent version.

IndexerStateProofMessage

{
"block-headers-commitment": "string",
"first-attested-round": 0,
"latest-attested-round": 0,
"ln-proven-weight": 0,
"voters-commitment": "string"
}

Properties

NameTypeRequiredRestrictionsDescription
block-headers-commitmentstring(byte)falsenone[b]
first-attested-roundintegerfalsenone[f]
latest-attested-roundintegerfalsenone[l]
ln-proven-weightintegerfalsenone[P]
voters-commitmentstring(byte)falsenone[v]

MerkleArrayProof

{
"hash-factory": {
"hash-type": 0
},
"path": [
"string"
],
"tree-depth": 0
}

Properties

NameTypeRequiredRestrictionsDescription
hash-factoryHashFactoryfalsenonenone
path[string]falsenone[pth]
tree-depthintegerfalsenone[td]

MiniAssetHolding

{
"address": "string",
"amount": 0,
"deleted": true,
"is-frozen": true,
"opted-in-at-round": 0,
"opted-out-at-round": 0
}

A simplified version of AssetHolding

Properties

NameTypeRequiredRestrictionsDescription
addressstringtruenonenone
amountintegertruenonenone
deletedbooleanfalsenoneWhether or not this asset holding is currently deleted from its account.
is-frozenbooleantruenonenone
opted-in-at-roundintegerfalsenoneRound during which the account opted into the asset.
opted-out-at-roundintegerfalsenoneRound during which the account opted out of the asset.

OnCompletion

"noop"

[apan] defines the what additional actions occur with the transaction.

Valid types:

  • noop
  • optin
  • closeout
  • clear
  • update
  • update
  • delete

Properties

NameTypeRequiredRestrictionsDescription
anonymousstringfalsenone[apan] defines the what additional actions occur with the transaction.

Valid types:
* noop
* optin
* closeout
* clear
* update
* update
* delete

Enumerated Values

PropertyValue
anonymousnoop
anonymousoptin
anonymouscloseout
anonymousclear
anonymousupdate
anonymousdelete

ParticipationUpdates

{
"absent-participation-accounts": [
"string"
],
"expired-participation-accounts": [
"string"
]
}

Participation account data that needs to be checked/acted on by the network.

Properties

NameTypeRequiredRestrictionsDescription
absent-participation-accounts[string]falsenone[partupabs] a list of online accounts that need to be suspended.
expired-participation-accounts[string]falsenone[partupdrmv] a list of online accounts that needs to be converted to offline since their participation key expired.

StateDelta

[
{
"key": "string",
"value": {
"action": 0,
"bytes": "string",
"uint": 0
}
}
]

Application state delta.

Properties

NameTypeRequiredRestrictionsDescription
anonymous[EvalDeltaKeyValue]falsenoneApplication state delta.

StateProofFields

{
"part-proofs": {
"hash-factory": {
"hash-type": 0
},
"path": [
"string"
],
"tree-depth": 0
},
"positions-to-reveal": [
0
],
"reveals": [
{
"participant": {
"verifier": {
"commitment": "string",
"key-lifetime": 0
},
"weight": 0
},
"position": 0,
"sig-slot": {
"lower-sig-weight": 0,
"signature": {
"falcon-signature": "string",
"merkle-array-index": 0,
"proof": {
"hash-factory": {
"hash-type": 0
},
"path": [
"string"
],
"tree-depth": 0
},
"verifying-key": "string"
}
}
}
],
"salt-version": 0,
"sig-commit": "string",
"sig-proofs": {
"hash-factory": {
"hash-type": 0
},
"path": [
"string"
],
"tree-depth": 0
},
"signed-weight": 0
}

[sp] represents a state proof.

Definition: crypto/stateproof/structs.go : StateProof

Properties

NameTypeRequiredRestrictionsDescription
part-proofsMerkleArrayProoffalsenonenone
positions-to-reveal[integer]falsenone[pr] Sequence of reveal positions.
reveals[StateProofReveal]falsenone[r] Note that this is actually stored as a map[uint64] - Reveal in the actual msgp
salt-versionintegerfalsenone[v] Salt version of the merkle signature.
sig-commitstring(byte)falsenone[c]
sig-proofsMerkleArrayProoffalsenonenone
signed-weightintegerfalsenone[w]

StateProofParticipant

{
"verifier": {
"commitment": "string",
"key-lifetime": 0
},
"weight": 0
}

Properties

NameTypeRequiredRestrictionsDescription
verifierStateProofVerifierfalsenonenone
weightintegerfalsenone[w]

StateProofReveal

{
"participant": {
"verifier": {
"commitment": "string",
"key-lifetime": 0
},
"weight": 0
},
"position": 0,
"sig-slot": {
"lower-sig-weight": 0,
"signature": {
"falcon-signature": "string",
"merkle-array-index": 0,
"proof": {
"hash-factory": {
"hash-type": 0
},
"path": [
"string"
],
"tree-depth": 0
},
"verifying-key": "string"
}
}
}

Properties

NameTypeRequiredRestrictionsDescription
participantStateProofParticipantfalsenonenone
positionintegerfalsenoneThe position in the signature and participants arrays corresponding to this entry.
sig-slotStateProofSigSlotfalsenonenone

StateProofSignature

{
"falcon-signature": "string",
"merkle-array-index": 0,
"proof": {
"hash-factory": {
"hash-type": 0
},
"path": [
"string"
],
"tree-depth": 0
},
"verifying-key": "string"
}

Properties

NameTypeRequiredRestrictionsDescription
falcon-signaturestring(byte)falsenonenone
merkle-array-indexintegerfalsenonenone
proofMerkleArrayProoffalsenonenone
verifying-keystring(byte)falsenone[vkey]

StateProofSigSlot

{
"lower-sig-weight": 0,
"signature": {
"falcon-signature": "string",
"merkle-array-index": 0,
"proof": {
"hash-factory": {
"hash-type": 0
},
"path": [
"string"
],
"tree-depth": 0
},
"verifying-key": "string"
}
}

Properties

NameTypeRequiredRestrictionsDescription
lower-sig-weightintegerfalsenone[l] The total weight of signatures in the lower-numbered slots.
signatureStateProofSignaturefalsenonenone

StateProofTracking

{
"next-round": 0,
"online-total-weight": 0,
"type": 0,
"voters-commitment": "string"
}

Properties

NameTypeRequiredRestrictionsDescription
next-roundintegerfalsenone[n] Next round for which we will accept a state proof transaction.
online-total-weightintegerfalsenone[t] The total number of microalgos held by the online accounts during the StateProof round.
typeintegerfalsenoneState Proof Type. Note the raw object uses map with this as key.
voters-commitmentstring(byte)falsenone[v] Root of a vector commitment containing online accounts that will help sign the proof.

StateProofVerifier

{
"commitment": "string",
"key-lifetime": 0
}

Properties

NameTypeRequiredRestrictionsDescription
commitmentstring(byte)falsenone[cmt] Represents the root of the vector commitment tree.
key-lifetimeintegerfalsenone[lf] Key lifetime.

StateSchema

{
"num-byte-slice": 0,
"num-uint": 0
}

Represents a [apls] local-state or [apgs] global-state schema. These schemas determine how much storage may be used in a local-state or global-state for an application. The more space used, the larger minimum balance must be maintained in the account holding the data.

Properties

NameTypeRequiredRestrictionsDescription
num-byte-sliceintegertruenoneMaximum number of TEAL byte slices that may be stored in the key/value store.
num-uintintegertruenoneMaximum number of TEAL uints that may be stored in the key/value store.

TealKeyValue

{
"key": "string",
"value": {
"bytes": "string",
"type": 0,
"uint": 0
}
}

Represents a key-value pair in an application store.

Properties

NameTypeRequiredRestrictionsDescription
keystringtruenonenone
valueTealValuetruenoneRepresents a TEAL value.

TealKeyValueStore

[
{
"key": "string",
"value": {
"bytes": "string",
"type": 0,
"uint": 0
}
}
]

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

Properties

NameTypeRequiredRestrictionsDescription
anonymous[TealKeyValue]falsenoneRepresents a key-value store for use in an application.

TealValue

{
"bytes": "string",
"type": 0,
"uint": 0
}

Represents a TEAL value.

Properties

NameTypeRequiredRestrictionsDescription
bytesstringtruenonebytes value.
typeintegertruenonetype of the value. Value 1 refers to bytes, value 2 refers to uint
uintintegertruenoneuint value.

Transaction

{
"application-transaction": {
"accounts": [
"string"
],
"application-args": [
"string"
],
"application-id": 0,
"approval-program": "string",
"clear-state-program": "string",
"extra-program-pages": 0,
"foreign-apps": [
0
],
"foreign-assets": [
0
],
"global-state-schema": {
"num-byte-slice": 0,
"num-uint": 0
},
"local-state-schema": {
"num-byte-slice": 0,
"num-uint": 0
},
"on-completion": "noop"
},
"asset-config-transaction": {
"asset-id": 0,
"params": {
"clawback": "string",
"creator": "string",
"decimals": 19,
"default-frozen": true,
"freeze": "string",
"manager": "string",
"metadata-hash": "string",
"name": "string",
"name-b64": "string",
"reserve": "string",
"total": 0,
"unit-name": "string",
"unit-name-b64": "string",
"url": "string",
"url-b64": "string"
}
},
"asset-freeze-transaction": {
"address": "string",
"asset-id": 0,
"new-freeze-status": true
},
"asset-transfer-transaction": {
"amount": 0,
"asset-id": 0,
"close-amount": 0,
"close-to": "string",
"receiver": "string",
"sender": "string"
},
"auth-addr": "string",
"close-rewards": 0,
"closing-amount": 0,
"confirmed-round": 0,
"created-application-index": 0,
"created-asset-index": 0,
"fee": 0,
"first-valid": 0,
"genesis-hash": "string",
"genesis-id": "string",
"global-state-delta": [
{
"key": "string",
"value": {
"action": 0,
"bytes": "string",
"uint": 0
}
}
],
"group": "string",
"heartbeat-transaction": {
"hb-address": "string",
"hb-key-dilution": 0,
"hb-proof": {
"hb-pk": "string",
"hb-pk1sig": "string",
"hb-pk2": "string",
"hb-pk2sig": "string",
"hb-sig": "string"
},
"hb-seed": "string",
"hb-vote-id": "string"
},
"id": "string",
"inner-txns": [
{
"application-transaction": {
"accounts": [
"string"
],
"application-args": [
"string"
],
"application-id": 0,
"approval-program": "string",
"clear-state-program": "string",
"extra-program-pages": 0,
"foreign-apps": [
0
],
"foreign-assets": [
0
],
"global-state-schema": {
"num-byte-slice": 0,
"num-uint": 0
},
"local-state-schema": {
"num-byte-slice": 0,
"num-uint": 0
},
"on-completion": "noop"
},
"asset-config-transaction": {
"asset-id": 0,
"params": {
"clawback": "string",
"creator": "string",
"decimals": 19,
"default-frozen": true,
"freeze": "string",
"manager": "string",
"metadata-hash": "string",
"name": "string",
"name-b64": "string",
"reserve": "string",
"total": 0,
"unit-name": "string",
"unit-name-b64": "string",
"url": "string",
"url-b64": "string"
}
},
"asset-freeze-transaction": {
"address": "string",
"asset-id": 0,
"new-freeze-status": true
},
"asset-transfer-transaction": {
"amount": 0,
"asset-id": 0,
"close-amount": 0,
"close-to": "string",
"receiver": "string",
"sender": "string"
},
"auth-addr": "string",
"close-rewards": 0,
"closing-amount": 0,
"confirmed-round": 0,
"created-application-index": 0,
"created-asset-index": 0,
"fee": 0,
"first-valid": 0,
"genesis-hash": "string",
"genesis-id": "string",
"global-state-delta": [
{
"key": "string",
"value": {
"action": 0,
"bytes": "string",
"uint": 0
}
}
],
"group": "string",
"heartbeat-transaction": {
"hb-address": "string",
"hb-key-dilution": 0,
"hb-proof": {
"hb-pk": "string",
"hb-pk1sig": "string",
"hb-pk2": "string",
"hb-pk2sig": "string",
"hb-sig": "string"
},
"hb-seed": "string",
"hb-vote-id": "string"
},
"id": "string",
"inner-txns": [],
"intra-round-offset": 0,
"keyreg-transaction": {
"non-participation": true,
"selection-participation-key": "string",
"state-proof-key": "string",
"vote-first-valid": 0,
"vote-key-dilution": 0,
"vote-last-valid": 0,
"vote-participation-key": "string"
},
"last-valid": 0,
"lease": "string",
"local-state-delta": [
{
"address": "string",
"delta": [
{
"key": "string",
"value": {
"action": 0,
"bytes": "string",
"uint": 0
}
}
]
}
],
"logs": [
"string"
],
"note": "string",
"payment-transaction": {
"amount": 0,
"close-amount": 0,
"close-remainder-to": "string",
"receiver": "string"
},
"receiver-rewards": 0,
"rekey-to": "string",
"round-time": 0,
"sender": "string",
"sender-rewards": 0,
"signature": {
"logicsig": {
"args": [
"string"
],
"logic": "string",
"multisig-signature": {
"subsignature": [
{
"public-key": "string",
"signature": "string"
}
],
"threshold": 0,
"version": 0
},
"signature": "string"
},
"multisig": {
"subsignature": [
{
"public-key": "string",
"signature": "string"
}
],
"threshold": 0,
"version": 0
},
"sig": "string"
},
"state-proof-transaction": {
"message": {
"block-headers-commitment": "string",
"first-attested-round": 0,
"latest-attested-round": 0,
"ln-proven-weight": 0,
"voters-commitment": "string"
},
"state-proof": {
"part-proofs": {
"hash-factory": {
"hash-type": 0
},
"path": [
"string"
],
"tree-depth": 0
},
"positions-to-reveal": [
0
],
"reveals": [
{
"participant": {
"verifier": {
"commitment": "string",
"key-lifetime": 0
},
"weight": 0
},
"position": 0,
"sig-slot": {
"lower-sig-weight": 0,
"signature": {
"falcon-signature": "string",
"merkle-array-index": 0,
"proof": {
"hash-factory": {},
"path": [],
"tree-depth": 0
},
"verifying-key": "string"
}
}
}
],
"salt-version": 0,
"sig-commit": "string",
"sig-proofs": {
"hash-factory": {
"hash-type": 0
},
"path": [
"string"
],
"tree-depth": 0
},
"signed-weight": 0
},
"state-proof-type": 0
},
"tx-type": "pay"
}
],
"intra-round-offset": 0,
"keyreg-transaction": {
"non-participation": true,
"selection-participation-key": "string",
"state-proof-key": "string",
"vote-first-valid": 0,
"vote-key-dilution": 0,
"vote-last-valid": 0,
"vote-participation-key": "string"
},
"last-valid": 0,
"lease": "string",
"local-state-delta": [
{
"address": "string",
"delta": [
{
"key": "string",
"value": {
"action": 0,
"bytes": "string",
"uint": 0
}
}
]
}
],
"logs": [
"string"
],
"note": "string",
"payment-transaction": {
"amount": 0,
"close-amount": 0,
"close-remainder-to": "string",
"receiver": "string"
},
"receiver-rewards": 0,
"rekey-to": "string",
"round-time": 0,
"sender": "string",
"sender-rewards": 0,
"signature": {
"logicsig": {
"args": [
"string"
],
"logic": "string",
"multisig-signature": {
"subsignature": [
{
"public-key": "string",
"signature": "string"
}
],
"threshold": 0,
"version": 0
},
"signature": "string"
},
"multisig": {
"subsignature": [
{
"public-key": "string",
"signature": "string"
}
],
"threshold": 0,
"version": 0
},
"sig": "string"
},
"state-proof-transaction": {
"message": {
"block-headers-commitment": "string",
"first-attested-round": 0,
"latest-attested-round": 0,
"ln-proven-weight": 0,
"voters-commitment": "string"
},
"state-proof": {
"part-proofs": {
"hash-factory": {
"hash-type": 0
},
"path": [
"string"
],
"tree-depth": 0
},
"positions-to-reveal": [
0
],
"reveals": [
{
"participant": {
"verifier": {
"commitment": "string",
"key-lifetime": 0
},
"weight": 0
},
"position": 0,
"sig-slot": {
"lower-sig-weight": 0,
"signature": {
"falcon-signature": "string",
"merkle-array-index": 0,
"proof": {
"hash-factory": {
"hash-type": 0
},
"path": [
"string"
],
"tree-depth": 0
},
"verifying-key": "string"
}
}
}
],
"salt-version": 0,
"sig-commit": "string",
"sig-proofs": {
"hash-factory": {
"hash-type": 0
},
"path": [
"string"
],
"tree-depth": 0
},
"signed-weight": 0
},
"state-proof-type": 0
},
"tx-type": "pay"
}

Contains all fields common to all transactions and serves as an envelope to all transactions type. Represents both regular and inner transactions.

Definition: data/transactions/signedtxn.go : SignedTxn data/transactions/transaction.go : Transaction

Properties

NameTypeRequiredRestrictionsDescription
application-transactionTransactionApplicationfalsenoneFields for application transactions.

Definition:
data/transactions/application.go : ApplicationCallTxnFields
asset-config-transactionTransactionAssetConfigfalsenoneFields for asset allocation, re-configuration, and destruction.


A zero value for asset-id indicates asset creation.
A zero value for the params indicates asset destruction.

Definition:
data/transactions/asset.go : AssetConfigTxnFields
asset-freeze-transactionTransactionAssetFreezefalsenoneFields for an asset freeze transaction.

Definition:
data/transactions/asset.go : AssetFreezeTxnFields
asset-transfer-transactionTransactionAssetTransferfalsenoneFields for an asset transfer transaction.

Definition:
data/transactions/asset.go : AssetTransferTxnFields
auth-addrstringfalsenone[sgnr] this is included with signed transactions when the signing address does not equal the sender. The backend can use this to ensure that auth addr is equal to the accounts auth addr.
close-rewardsintegerfalsenone[rc] rewards applied to close-remainder-to account.
closing-amountintegerfalsenone[ca] closing amount for transaction.
confirmed-roundintegerfalsenoneRound when the transaction was confirmed.
created-application-indexintegerfalsenoneSpecifies an application index (ID) if an application was created with this transaction.
created-asset-indexintegerfalsenoneSpecifies an asset index (ID) if an asset was created with this transaction.
feeintegertruenone[fee] Transaction fee.
first-validintegertruenone[fv] First valid round for this transaction.
genesis-hashstring(byte)falsenone[gh] Hash of genesis block.
genesis-idstringfalsenone[gen] genesis block ID.
global-state-deltaStateDeltafalsenoneApplication state delta.
groupstring(byte)falsenone[grp] Base64 encoded byte array of a sha512/256 digest. When present indicates that this transaction is part of a transaction group and the value is the sha512/256 hash of the transactions in that group.
heartbeat-transactionTransactionHeartbeatfalsenoneFields for a heartbeat transaction.

Definition:
data/transactions/heartbeat.go : HeartbeatTxnFields
idstringfalsenoneTransaction ID
inner-txns[Transaction]falsenoneInner transactions produced by application execution.
intra-round-offsetintegerfalsenoneOffset into the round where this transaction was confirmed.
keyreg-transactionTransactionKeyregfalsenoneFields for a keyreg transaction.

Definition:
data/transactions/keyreg.go : KeyregTxnFields
last-validintegertruenone[lv] Last valid round for this transaction.
leasestring(byte)falsenone[lx] Base64 encoded 32-byte array. Lease enforces mutual exclusion of transactions. If this field is nonzero, then once the transaction is confirmed, it acquires the lease identified by the (Sender, Lease) pair of the transaction until the LastValid round passes. While this transaction possesses the lease, no other transaction specifying this lease can be confirmed.
local-state-delta[AccountStateDelta]falsenone[ld] Local state key/value changes for the application being executed by this transaction.
logs[string]falsenone[lg] Logs for the application being executed by this transaction.
notestring(byte)falsenone[note] Free form data.
payment-transactionTransactionPaymentfalsenoneFields for a payment transaction.

Definition:
data/transactions/payment.go : PaymentTxnFields
receiver-rewardsintegerfalsenone[rr] rewards applied to receiver account.
rekey-tostringfalsenone[rekey] when included in a valid transaction, the accounts auth addr will be updated with this value and future signatures must be signed with the key represented by this address.
round-timeintegerfalsenoneTime when the block this transaction is in was confirmed.
senderstringtruenone[snd] Sender’s address.
sender-rewardsintegerfalsenone[rs] rewards applied to sender account.
signatureTransactionSignaturefalsenoneValidation signature associated with some data. Only one of the signatures should be provided.
state-proof-transactionTransactionStateProoffalsenoneFields for a state proof transaction.

Definition:
data/transactions/stateproof.go : StateProofTxnFields
tx-typestringtruenone[type] Indicates what type of transaction this is. Different types have different fields.

Valid types, and where their fields are stored:
* [pay] payment-transaction
* [keyreg] keyreg-transaction
* [acfg] asset-config-transaction
* [axfer] asset-transfer-transaction
* [afrz] asset-freeze-transaction
* [appl] application-transaction
* [stpf] state-proof-transaction
* [hb] heartbeat-transaction

Enumerated Values

PropertyValue
tx-typepay
tx-typekeyreg
tx-typeacfg
tx-typeaxfer
tx-typeafrz
tx-typeappl
tx-typestpf
tx-typehb

TransactionApplication

{
"accounts": [
"string"
],
"application-args": [
"string"
],
"application-id": 0,
"approval-program": "string",
"clear-state-program": "string",
"extra-program-pages": 0,
"foreign-apps": [
0
],
"foreign-assets": [
0
],
"global-state-schema": {
"num-byte-slice": 0,
"num-uint": 0
},
"local-state-schema": {
"num-byte-slice": 0,
"num-uint": 0
},
"on-completion": "noop"
}

Fields for application transactions.

Definition: data/transactions/application.go : ApplicationCallTxnFields

Properties

NameTypeRequiredRestrictionsDescription
accounts[string]falsenone[apat] List of accounts in addition to the sender that may be accessed from the application’s approval-program and clear-state-program.
application-args[string]falsenone[apaa] transaction specific arguments accessed from the application’s approval-program and clear-state-program.
application-idintegertruenone[apid] ID of the application being configured or empty if creating.
approval-programstring(byte)falsenone[apap] Logic executed for every application transaction, except when on-completion is set to “clear”. It can read and write global state for the application, as well as account-specific local state. Approval programs may reject the transaction.
clear-state-programstring(byte)falsenone[apsu] Logic executed for application transactions with on-completion set to “clear”. It can read and write global state for the application, as well as account-specific local state. Clear state programs cannot reject the transaction.
extra-program-pagesintegerfalsenone[epp] specifies the additional app program len requested in pages.
foreign-apps[integer]falsenone[apfa] Lists the applications in addition to the application-id whose global states may be accessed by this application’s approval-program and clear-state-program. The access is read-only.
foreign-assets[integer]falsenone[apas] lists the assets whose parameters may be accessed by this application’s ApprovalProgram and ClearStateProgram. The access is read-only.
global-state-schemaStateSchemafalsenoneRepresents a [apls] local-state or [apgs] global-state schema. These schemas determine how much storage may be used in a local-state or global-state for an application. The more space used, the larger minimum balance must be maintained in the account holding the data.
local-state-schemaStateSchemafalsenoneRepresents a [apls] local-state or [apgs] global-state schema. These schemas determine how much storage may be used in a local-state or global-state for an application. The more space used, the larger minimum balance must be maintained in the account holding the data.
on-completionOnCompletiontruenone[apan] defines the what additional actions occur with the transaction.

Valid types:
* noop
* optin
* closeout
* clear
* update
* update
* delete

TransactionAssetConfig

{
"asset-id": 0,
"params": {
"clawback": "string",
"creator": "string",
"decimals": 19,
"default-frozen": true,
"freeze": "string",
"manager": "string",
"metadata-hash": "string",
"name": "string",
"name-b64": "string",
"reserve": "string",
"total": 0,
"unit-name": "string",
"unit-name-b64": "string",
"url": "string",
"url-b64": "string"
}
}

Fields for asset allocation, re-configuration, and destruction.

A zero value for asset-id indicates asset creation. A zero value for the params indicates asset destruction.

Definition: data/transactions/asset.go : AssetConfigTxnFields

Properties

NameTypeRequiredRestrictionsDescription
asset-idintegerfalsenone[xaid] ID of the asset being configured or empty if creating.
paramsAssetParamsfalsenoneAssetParams specifies the parameters for an asset.

[apar] when part of an AssetConfig transaction.

Definition:
data/transactions/asset.go : AssetParams

TransactionAssetFreeze

{
"address": "string",
"asset-id": 0,
"new-freeze-status": true
}

Fields for an asset freeze transaction.

Definition: data/transactions/asset.go : AssetFreezeTxnFields

Properties

NameTypeRequiredRestrictionsDescription
addressstringtruenone[fadd] Address of the account whose asset is being frozen or thawed.
asset-idintegertruenone[faid] ID of the asset being frozen or thawed.
new-freeze-statusbooleantruenone[afrz] The new freeze status.

TransactionAssetTransfer

{
"amount": 0,
"asset-id": 0,
"close-amount": 0,
"close-to": "string",
"receiver": "string",
"sender": "string"
}

Fields for an asset transfer transaction.

Definition: data/transactions/asset.go : AssetTransferTxnFields

Properties

NameTypeRequiredRestrictionsDescription
amountintegertruenone[aamt] Amount of asset to transfer. A zero amount transferred to self allocates that asset in the account’s Assets map.
asset-idintegertruenone[xaid] ID of the asset being transferred.
close-amountintegerfalsenoneNumber of assets transferred to the close-to account as part of the transaction.
close-tostringfalsenone[aclose] Indicates that the asset should be removed from the account’s Assets map, and specifies where the remaining asset holdings should be transferred. It’s always valid to transfer remaining asset holdings to the creator account.
receiverstringtruenone[arcv] Recipient address of the transfer.
senderstringfalsenone[asnd] The effective sender during a clawback transactions. If this is not a zero value, the real transaction sender must be the Clawback address from the AssetParams.

TransactionHeartbeat

{
"hb-address": "string",
"hb-key-dilution": 0,
"hb-proof": {
"hb-pk": "string",
"hb-pk1sig": "string",
"hb-pk2": "string",
"hb-pk2sig": "string",
"hb-sig": "string"
},
"hb-seed": "string",
"hb-vote-id": "string"
}

Fields for a heartbeat transaction.

Definition: data/transactions/heartbeat.go : HeartbeatTxnFields

Properties

NameTypeRequiredRestrictionsDescription
hb-addressstringtruenone[hbad] HbAddress is the account this txn is proving onlineness for.
hb-key-dilutionintegertruenone[hbkd] HbKeyDilution must match HbAddress account’s current KeyDilution.
hb-proofHbProofFieldstruenone[hbprf] HbProof is a signature using HeartbeatAddress’s partkey, thereby showing it is online.
hb-seedstring(byte)truenone[hbsd] HbSeed must be the block seed for the this transaction’s firstValid block.
hb-vote-idstring(byte)truenone[hbvid] HbVoteID must match the HbAddress account’s current VoteID.

TransactionKeyreg

{
"non-participation": true,
"selection-participation-key": "string",
"state-proof-key": "string",
"vote-first-valid": 0,
"vote-key-dilution": 0,
"vote-last-valid": 0,
"vote-participation-key": "string"
}

Fields for a keyreg transaction.

Definition: data/transactions/keyreg.go : KeyregTxnFields

Properties

NameTypeRequiredRestrictionsDescription
non-participationbooleanfalsenone[nonpart] Mark the account as participating or non-participating.
selection-participation-keystring(byte)falsenone[selkey] Public key used with the Verified Random Function (VRF) result during committee selection.
state-proof-keystring(byte)falsenone[sprfkey] State proof key used in key registration transactions.
vote-first-validintegerfalsenone[votefst] First round this participation key is valid.
vote-key-dilutionintegerfalsenone[votekd] Number of subkeys in each batch of participation keys.
vote-last-validintegerfalsenone[votelst] Last round this participation key is valid.
vote-participation-keystring(byte)falsenone[votekey] Participation public key used in key registration transactions.

TransactionPayment

{
"amount": 0,
"close-amount": 0,
"close-remainder-to": "string",
"receiver": "string"
}

Fields for a payment transaction.

Definition: data/transactions/payment.go : PaymentTxnFields

Properties

NameTypeRequiredRestrictionsDescription
amountintegertruenone[amt] number of MicroAlgos intended to be transferred.
close-amountintegerfalsenoneNumber of MicroAlgos that were sent to the close-remainder-to address when closing the sender account.
close-remainder-tostringfalsenone[close] when set, indicates that the sending account should be closed and all remaining funds be transferred to this address.
receiverstringtruenone[rcv] receiver’s address.

TransactionSignature

{
"logicsig": {
"args": [
"string"
],
"logic": "string",
"multisig-signature": {
"subsignature": [
{
"public-key": "string",
"signature": "string"
}
],
"threshold": 0,
"version": 0
},
"signature": "string"
},
"multisig": {
"subsignature": [
{
"public-key": "string",
"signature": "string"
}
],
"threshold": 0,
"version": 0
},
"sig": "string"
}

Validation signature associated with some data. Only one of the signatures should be provided.

Properties

NameTypeRequiredRestrictionsDescription
logicsigTransactionSignatureLogicsigfalsenone[lsig] Programatic transaction signature.

Definition:
data/transactions/logicsig.go
multisigTransactionSignatureMultisigfalsenone[msig] structure holding multiple subsignatures.

Definition:
crypto/multisig.go : MultisigSig
sigstring(byte)falsenone[sig] Standard ed25519 signature.

TransactionSignatureLogicsig

{
"args": [
"string"
],
"logic": "string",
"multisig-signature": {
"subsignature": [
{
"public-key": "string",
"signature": "string"
}
],
"threshold": 0,
"version": 0
},
"signature": "string"
}

[lsig] Programatic transaction signature.

Definition: data/transactions/logicsig.go

Properties

NameTypeRequiredRestrictionsDescription
args[string]falsenone[arg] Logic arguments, base64 encoded.
logicstring(byte)truenone[l] Program signed by a signature or multi signature, or hashed to be the address of ana ccount. Base64 encoded TEAL program.
multisig-signatureTransactionSignatureMultisigfalsenone[msig] structure holding multiple subsignatures.

Definition:
crypto/multisig.go : MultisigSig
signaturestring(byte)falsenone[sig] ed25519 signature.

TransactionSignatureMultisig

{
"subsignature": [
{
"public-key": "string",
"signature": "string"
}
],
"threshold": 0,
"version": 0
}

[msig] structure holding multiple subsignatures.

Definition: crypto/multisig.go : MultisigSig

Properties

NameTypeRequiredRestrictionsDescription
subsignature[TransactionSignatureMultisigSubsignature]falsenone[subsig] holds pairs of public key and signatures.
thresholdintegerfalsenone[thr]
versionintegerfalsenone[v]

TransactionSignatureMultisigSubsignature

{
"public-key": "string",
"signature": "string"
}

Properties

NameTypeRequiredRestrictionsDescription
public-keystring(byte)falsenone[pk]
signaturestring(byte)falsenone[s]

TransactionStateProof

{
"message": {
"block-headers-commitment": "string",
"first-attested-round": 0,
"latest-attested-round": 0,
"ln-proven-weight": 0,
"voters-commitment": "string"
},
"state-proof": {
"part-proofs": {
"hash-factory": {
"hash-type": 0
},
"path": [
"string"
],
"tree-depth": 0
},
"positions-to-reveal": [
0
],
"reveals": [
{
"participant": {
"verifier": {
"commitment": "string",
"key-lifetime": 0
},
"weight": 0
},
"position": 0,
"sig-slot": {
"lower-sig-weight": 0,
"signature": {
"falcon-signature": "string",
"merkle-array-index": 0,
"proof": {
"hash-factory": {
"hash-type": 0
},
"path": [
"string"
],
"tree-depth": 0
},
"verifying-key": "string"
}
}
}
],
"salt-version": 0,
"sig-commit": "string",
"sig-proofs": {
"hash-factory": {
"hash-type": 0
},
"path": [
"string"
],
"tree-depth": 0
},
"signed-weight": 0
},
"state-proof-type": 0
}

Fields for a state proof transaction.

Definition: data/transactions/stateproof.go : StateProofTxnFields

Properties

NameTypeRequiredRestrictionsDescription
messageIndexerStateProofMessagefalsenonenone
state-proofStateProofFieldsfalsenone[sp] represents a state proof.

Definition:
crypto/stateproof/structs.go : StateProof
state-proof-typeintegerfalsenone[sptype] Type of the state proof. Integer representing an entry defined in protocol/stateproof.go

searchForAccounts

Code samples

Terminal window
curl -X GET https://example.com/v2/accounts \
-H 'Accept: application/json'
GET https://example.com/v2/accounts HTTP/1.1
Host: example.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://example.com/v2/accounts',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://example.com/v2/accounts',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://example.com/v2/accounts', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://example.com/v2/accounts', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://example.com/v2/accounts");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://example.com/v2/accounts", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}

GET /v2/accounts

Search for accounts.

Parameters

NameInTypeRequiredDescription
asset-idqueryintegerfalseAsset ID
limitqueryintegerfalseMaximum number of results to return. There could be additional pages even if the limit is not reached.
nextquerystringfalseThe next page of results. Use the next token provided by the previous results.
currency-greater-thanqueryintegerfalseResults should have an amount greater than this value. MicroAlgos are the default currency unless an asset-id is provided, in which case the asset will be used.
include-allquerybooleanfalseInclude all items including closed accounts, deleted applications, destroyed assets, opted-out asset holdings, and closed-out application localstates.
excludequeryarray[string]falseExclude additional items such as asset holdings, application local data stored for this account, asset parameters created by this account, and application parameters created by this account.
currency-less-thanqueryintegerfalseResults should have an amount less than this value. MicroAlgos are the default currency unless an asset-id is provided, in which case the asset will be used.
auth-addrquerystringfalseInclude accounts configured to use this spending key.
roundqueryintegerfalseInclude results for the specified round. For performance reasons, this parameter may be disabled on some configurations. Using application-id or asset-id filters will return both creator and opt-in accounts. Filtering by include-all will return creator and opt-in accounts for deleted assets and accounts. Non-opt-in managers are not included in the results when asset-id is used.
application-idqueryintegerfalseApplication ID
online-onlyquerybooleanfalseWhen this is set to true, return only accounts whose participation status is currently online.

Enumerated Values

ParameterValue
excludeall
excludeassets
excludecreated-assets
excludeapps-local-state
excludecreated-apps
excludenone

Example responses

200 Response

{
"accounts": [
{
"address": "string",
"amount": 0,
"amount-without-pending-rewards": 0,
"apps-local-state": [
{
"closed-out-at-round": 0,
"deleted": true,
"id": 0,
"key-value": [
{
"key": "string",
"value": {
"bytes": "string",
"type": 0,
"uint": 0
}
}
],
"opted-in-at-round": 0,
"schema": {
"num-byte-slice": 0,
"num-uint": 0
}
}
],
"apps-total-extra-pages": 0,
"apps-total-schema": {
"num-byte-slice": 0,
"num-uint": 0
},
"assets": [
{
"amount": 0,
"asset-id": 0,
"deleted": true,
"is-frozen": true,
"opted-in-at-round": 0,
"opted-out-at-round": 0
}
],
"auth-addr": "string",
"closed-at-round": 0,
"created-apps": [
{
"created-at-round": 0,
"deleted": true,
"deleted-at-round": 0,
"id": 0,
"params": {
"approval-program": "string",
"clear-state-program": "string",
"creator": "string",
"extra-program-pages": 0,
"global-state": [
{
"key": "string",
"value": {
"bytes": "string",
"type": 0,
"uint": 0
}
}
],
"global-state-schema": {
"num-byte-slice": 0,
"num-uint": 0
},
"local-state-schema": {
"num-byte-slice": 0,
"num-uint": 0
}
}
}
],
"created-assets": [
{
"created-at-round": 0,
"deleted": true,
"destroyed-at-round": 0,
"index": 0,
"params": {
"clawback": "string",
"creator": "string",
"decimals": 19,
"default-frozen": true,
"freeze": "string",
"manager": "string",
"metadata-hash": "string",
"name": "string",
"name-b64": "string",
"reserve": "string",
"total": 0,
"unit-name": "string",
"unit-name-b64": "string",
"url": "string",
"url-b64": "string"
}
}
],
"created-at-round": 0,
"deleted": true,
"incentive-eligible": true,
"last-heartbeat": 0,
"last-proposed": 0,
"min-balance": 0,
"participation": {
"selection-participation-key": "string",
"state-proof-key": "string",
"vote-first-valid": 0,
"vote-key-dilution": 0,
"vote-last-valid": 0,
"vote-participation-key": "string"
},
"pending-rewards": 0,
"reward-base": 0,
"rewards": 0,
"round": 0,
"sig-type": "sig",
"status": "string",
"total-apps-opted-in": 0,
"total-assets-opted-in": 0,
"total-box-bytes": 0,
"total-boxes": 0,
"total-created-apps": 0,
"total-created-assets": 0
}
],
"current-round": 0,
"next-token": "string"
}

Responses

StatusMeaningDescriptionSchema
200OK(empty)Inline
400Bad RequestResponse for errorsInline
500Internal Server ErrorResponse for errorsInline

Response Schema

Status Code 200

NameTypeRequiredRestrictionsDescription
» accounts[Account]truenone[Account information at a given round.

Definition:
data/basics/userBalance.go : AccountData
]
»» addressstringtruenonethe account public key
»» amountintegertruenonetotal number of MicroAlgos in the account
»» amount-without-pending-rewardsintegertruenonespecifies the amount of MicroAlgos in the account, without the pending rewards.
»» apps-local-state[ApplicationLocalState]falsenoneapplication local data stored in this account.

Note the raw object uses map[int] -> AppLocalState for this type.
»»» closed-out-at-roundintegerfalsenoneRound when account closed out of the application.
»»» deletedbooleanfalsenoneWhether or not the application local state is currently deleted from its account.
»»» idintegertruenoneThe application which this local state is for.
»»» key-value[TealKeyValue]falsenoneRepresents a key-value store for use in an application.
»»»» keystringtruenonenone
»»»» valueTealValuetruenoneRepresents a TEAL value.
»»»»» bytesstringtruenonebytes value.
»»»»» typeintegertruenonetype of the value. Value 1 refers to bytes, value 2 refers to uint
»»»»» uintintegertruenoneuint value.
»»» opted-in-at-roundintegerfalsenoneRound when the account opted into the application.
»»» schemaApplicationStateSchematruenoneSpecifies maximums on the number of each type that may be stored.
»»»» num-byte-sliceintegertruenonenumber of byte slices.
»»»» num-uintintegertruenonenumber of uints.
»» apps-total-extra-pagesintegerfalsenonethe sum of all extra application program pages for this account.
»» apps-total-schemaApplicationStateSchemafalsenoneSpecifies maximums on the number of each type that may be stored.
»» assets[AssetHolding]falsenoneassets held by this account.

Note the raw object uses map[int] -> AssetHolding for this type.
»»» amountintegertruenonenumber of units held.
»»» asset-idintegertruenoneAsset ID of the holding.
»»» deletedbooleanfalsenoneWhether or not the asset holding is currently deleted from its account.
»»» is-frozenbooleantruenonewhether or not the holding is frozen.
»»» opted-in-at-roundintegerfalsenoneRound during which the account opted into this asset holding.
»»» opted-out-at-roundintegerfalsenoneRound during which the account opted out of this asset holding.
»» auth-addrstringfalsenoneThe 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.
»» closed-at-roundintegerfalsenoneRound during which this account was most recently closed.
»» created-apps[Application]falsenoneparameters of applications created by this account including app global data.

Note: the raw account uses map[int] -> AppParams for this type.
»»» created-at-roundintegerfalsenoneRound when this application was created.
»»» deletedbooleanfalsenoneWhether or not this application is currently deleted.
»»» deleted-at-roundintegerfalsenoneRound when this application was deleted.
»»» idintegertruenoneapplication index.
»»» paramsApplicationParamstruenoneStores the global information associated with an application.
»»»» approval-programstring(byte)truenoneapproval program.
»»»» clear-state-programstring(byte)truenoneclear state program.
»»»» creatorstringfalsenoneThe address that created this application. This is the address where the parameters and global state for this application can be found.
»»»» extra-program-pagesintegerfalsenonethe number of extra program pages available to this app.
»»»» global-state[TealKeyValue]falsenoneRepresents a key-value store for use in an application.
»»»» global-state-schemaApplicationStateSchemafalsenoneSpecifies maximums on the number of each type that may be stored.
»»»» local-state-schemaApplicationStateSchemafalsenoneSpecifies maximums on the number of each type that may be stored.
»» created-assets[Asset]falsenoneparameters of assets created by this account.

Note: the raw account uses map[int] -> Asset for this type.
»»» created-at-roundintegerfalsenoneRound during which this asset was created.
»»» deletedbooleanfalsenoneWhether or not this asset is currently deleted.
»»» destroyed-at-roundintegerfalsenoneRound during which this asset was destroyed.
»»» indexintegertruenoneunique asset identifier
»»» paramsAssetParamstruenoneAssetParams specifies the parameters for an asset.

[apar] when part of an AssetConfig transaction.

Definition:
data/transactions/asset.go : AssetParams
»»»» clawbackstringfalsenoneAddress of account used to clawback holdings of this asset. If empty, clawback is not permitted.
»»»» creatorstringtruenoneThe 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.
»»»» decimalsintegertruenoneThe 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).
»»»» default-frozenbooleanfalsenoneWhether holdings of this asset are frozen by default.
»»»» freezestringfalsenoneAddress of account used to freeze holdings of this asset. If empty, freezing is not permitted.
»»»» managerstringfalsenoneAddress of account used to manage the keys of this asset and to destroy it.
»»»» metadata-hashstring(byte)falsenoneA commitment to some unspecified asset metadata. The format of this metadata is up to the application.
»»»» namestringfalsenoneName of this asset, as supplied by the creator. Included only when the asset name is composed of printable utf-8 characters.
»»»» name-b64string(byte)falsenoneBase64 encoded name of this asset, as supplied by the creator.
»»»» reservestringfalsenoneAddress of account holding reserve (non-minted) units of this asset.
»»»» totalintegertruenoneThe total number of units of this asset.
»»»» unit-namestringfalsenoneName 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.
»»»» unit-name-b64string(byte)falsenoneBase64 encoded name of a unit of this asset, as supplied by the creator.
»»»» urlstringfalsenoneURL where more information about the asset can be retrieved. Included only when the URL is composed of printable utf-8 characters.
»»»» url-b64string(byte)falsenoneBase64 encoded URL where more information about the asset can be retrieved.
»» created-at-roundintegerfalsenoneRound during which this account first appeared in a transaction.
»» deletedbooleanfalsenoneWhether or not this account is currently closed.
»» incentive-eligiblebooleanfalsenonecan the account receive block incentives if its balance is in range at proposal time.
»» last-heartbeatintegerfalsenoneThe round in which this account last went online, or explicitly renewed their online status.
»» last-proposedintegerfalsenoneThe round in which this account last proposed the block.
»» min-balanceintegertruenoneMicroAlgo balance required by the account.

The requirement grows based on asset and application usage.
»» participationAccountParticipationfalsenoneAccountParticipation describes the parameters used by this account in consensus protocol.
»»» selection-participation-keystring(byte)truenoneSelection public key (if any) currently registered for this round.
»»» state-proof-keystring(byte)falsenoneRoot of the state proof key (if any)
»»» vote-first-validintegertruenoneFirst round for which this participation is valid.
»»» vote-key-dilutionintegertruenoneNumber of subkeys in each batch of participation keys.
»»» vote-last-validintegertruenoneLast round for which this participation is valid.
»»» vote-participation-keystring(byte)truenoneroot participation public key (if any) currently registered for this round.
»» pending-rewardsintegertruenoneamount of MicroAlgos of pending rewards in this account.
»» reward-baseintegerfalsenoneused as part of the rewards computation. Only applicable to accounts which are participating.
»» rewardsintegertruenonetotal rewards of MicroAlgos the account has received, including pending rewards.
»» roundintegertruenoneThe round for which this information is relevant.
»» sig-typestringfalsenonethe type of signature used by this account, must be one of:
* sig
* msig
* lsig
* or null if unknown
»» statusstringtruenonevoting 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.
»» total-apps-opted-inintegertruenoneThe count of all applications that have been opted in, equivalent to the count of application local data (AppLocalState objects) stored in this account.
»» total-assets-opted-inintegertruenoneThe count of all assets that have been opted in, equivalent to the count of AssetHolding objects held by this account.
»» total-box-bytesintegertruenoneFor app-accounts only. The total number of bytes allocated for the keys and values of boxes which belong to the associated application.
»» total-boxesintegertruenoneFor app-accounts only. The total number of boxes which belong to the associated application.
»» total-created-appsintegertruenoneThe count of all apps (AppParams objects) created by this account.
»» total-created-assetsintegertruenoneThe count of all assets (AssetParams objects) created by this account.
» current-roundintegertruenoneRound at which the results were computed.
» next-tokenstringfalsenoneUsed for pagination, when making another request provide this token with the next parameter.

Enumerated Values

PropertyValue
sig-typesig
sig-typemsig
sig-typelsig

Status Code 400

NameTypeRequiredRestrictionsDescription
» dataobjectfalsenonenone
» messagestringtruenonenone

Status Code 500

NameTypeRequiredRestrictionsDescription
» dataobjectfalsenonenone
» messagestringtruenonenone

searchForApplicationBoxes

Code samples

Terminal window
curl -X GET https://example.com/v2/applications/{application-id}/boxes \
-H 'Accept: application/json'
GET https://example.com/v2/applications/{application-id}/boxes HTTP/1.1
Host: example.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://example.com/v2/applications/{application-id}/boxes',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://example.com/v2/applications/{application-id}/boxes',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://example.com/v2/applications/{application-id}/boxes', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://example.com/v2/applications/{application-id}/boxes', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://example.com/v2/applications/{application-id}/boxes");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://example.com/v2/applications/{application-id}/boxes", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}

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

Get box names for a given application.

Given an application ID, returns the box names of that application sorted lexicographically.

Parameters

NameInTypeRequiredDescription
application-idpathintegertruenone
limitqueryintegerfalseMaximum number of results to return. There could be additional pages even if the limit is not reached.
nextquerystringfalseThe next page of results. Use the next token provided by the previous results.

Example responses

200 Response

{
"application-id": 0,
"boxes": [
{
"name": "string"
}
],
"next-token": "string"
}

Responses

StatusMeaningDescriptionSchema
200OKBox names of an applicationInline
400Bad RequestResponse for errorsInline
404Not FoundResponse for errorsInline
500Internal Server ErrorResponse for errorsInline

Response Schema

Status Code 200

NameTypeRequiredRestrictionsDescription
» application-idintegertruenone[appidx] application index.
» boxes[BoxDescriptor]truenone[Box descriptor describes an app box without a value.]
»» namestring(byte)truenoneBase64 encoded box name
» next-tokenstringfalsenoneUsed for pagination, when making another request provide this token with the next parameter.

Status Code 400

NameTypeRequiredRestrictionsDescription
» dataobjectfalsenonenone
» messagestringtruenonenone

Status Code 404

NameTypeRequiredRestrictionsDescription
» dataobjectfalsenonenone
» messagestringtruenonenone

Status Code 500

NameTypeRequiredRestrictionsDescription
» dataobjectfalsenonenone
» messagestringtruenonenone

searchForApplications

Code samples

Terminal window
curl -X GET https://example.com/v2/applications \
-H 'Accept: application/json'
GET https://example.com/v2/applications HTTP/1.1
Host: example.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://example.com/v2/applications',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://example.com/v2/applications',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://example.com/v2/applications', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://example.com/v2/applications', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://example.com/v2/applications");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://example.com/v2/applications", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}

GET /v2/applications

Search for applications

Parameters

NameInTypeRequiredDescription
application-idqueryintegerfalseApplication ID
creatorquerystringfalseFilter just applications with the given creator address.
include-allquerybooleanfalseInclude all items including closed accounts, deleted applications, destroyed assets, opted-out asset holdings, and closed-out application localstates.
limitqueryintegerfalseMaximum number of results to return. There could be additional pages even if the limit is not reached.
nextquerystringfalseThe next page of results. Use the next token provided by the previous results.

Example responses

200 Response

{
"applications": [
{
"created-at-round": 0,
"deleted": true,
"deleted-at-round": 0,
"id": 0,
"params": {
"approval-program": "string",
"clear-state-program": "string",
"creator": "string",
"extra-program-pages": 0,
"global-state": [
{
"key": "string",
"value": {
"bytes": "string",
"type": 0,
"uint": 0
}
}
],
"global-state-schema": {
"num-byte-slice": 0,
"num-uint": 0
},
"local-state-schema": {
"num-byte-slice": 0,
"num-uint": 0
}
}
}
],
"current-round": 0,
"next-token": "string"
}

Responses

StatusMeaningDescriptionSchema
200OK(empty)Inline
500Internal Server ErrorResponse for errorsInline

Response Schema

Status Code 200

NameTypeRequiredRestrictionsDescription
» applications[Application]truenone[Application index and its parameters]
»» created-at-roundintegerfalsenoneRound when this application was created.
»» deletedbooleanfalsenoneWhether or not this application is currently deleted.
»» deleted-at-roundintegerfalsenoneRound when this application was deleted.
»» idintegertruenoneapplication index.
»» paramsApplicationParamstruenoneStores the global information associated with an application.
»»» approval-programstring(byte)truenoneapproval program.
»»» clear-state-programstring(byte)truenoneclear state program.
»»» creatorstringfalsenoneThe address that created this application. This is the address where the parameters and global state for this application can be found.
»»» extra-program-pagesintegerfalsenonethe number of extra program pages available to this app.
»»» global-state[TealKeyValue]falsenoneRepresents a key-value store for use in an application.
»»»» keystringtruenonenone
»»»» valueTealValuetruenoneRepresents a TEAL value.
»»»»» bytesstringtruenonebytes value.
»»»»» typeintegertruenonetype of the value. Value 1 refers to bytes, value 2 refers to uint
»»»»» uintintegertruenoneuint value.
»»» global-state-schemaApplicationStateSchemafalsenoneSpecifies maximums on the number of each type that may be stored.
»»»» num-byte-sliceintegertruenonenumber of byte slices.
»»»» num-uintintegertruenonenumber of uints.
»»» local-state-schemaApplicationStateSchemafalsenoneSpecifies maximums on the number of each type that may be stored.
» current-roundintegertruenoneRound at which the results were computed.
» next-tokenstringfalsenoneUsed for pagination, when making another request provide this token with the next parameter.

Status Code 500

NameTypeRequiredRestrictionsDescription
» dataobjectfalsenonenone
» messagestringtruenonenone

searchForAssets

Code samples

Terminal window
curl -X GET https://example.com/v2/assets \
-H 'Accept: application/json'
GET https://example.com/v2/assets HTTP/1.1
Host: example.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://example.com/v2/assets',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://example.com/v2/assets',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://example.com/v2/assets', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://example.com/v2/assets', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://example.com/v2/assets");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://example.com/v2/assets", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}

GET /v2/assets

Search for assets.

Parameters

NameInTypeRequiredDescription
include-allquerybooleanfalseInclude all items including closed accounts, deleted applications, destroyed assets, opted-out asset holdings, and closed-out application localstates.
limitqueryintegerfalseMaximum number of results to return. There could be additional pages even if the limit is not reached.
nextquerystringfalseThe next page of results. Use the next token provided by the previous results.
creatorquerystringfalseFilter just assets with the given creator address.
namequerystringfalseFilter just assets with the given name.
unitquerystringfalseFilter just assets with the given unit.
asset-idqueryintegerfalseAsset ID

Example responses

200 Response

{
"assets": [
{
"created-at-round": 0,
"deleted": true,
"destroyed-at-round": 0,
"index": 0,
"params": {
"clawback": "string",
"creator": "string",
"decimals": 19,
"default-frozen": true,
"freeze": "string",
"manager": "string",
"metadata-hash": "string",
"name": "string",
"name-b64": "string",
"reserve": "string",
"total": 0,
"unit-name": "string",
"unit-name-b64": "string",
"url": "string",
"url-b64": "string"
}
}
],
"current-round": 0,
"next-token": "string"
}

Responses

StatusMeaningDescriptionSchema
200OK(empty)Inline
400Bad RequestResponse for errorsInline
500Internal Server ErrorResponse for errorsInline

Response Schema

Status Code 200

NameTypeRequiredRestrictionsDescription
» assets[Asset]truenone[Specifies both the unique identifier and the parameters for an asset]
»» created-at-roundintegerfalsenoneRound during which this asset was created.
»» deletedbooleanfalsenoneWhether or not this asset is currently deleted.
»» destroyed-at-roundintegerfalsenoneRound during which this asset was destroyed.
»» indexintegertruenoneunique asset identifier
»» paramsAssetParamstruenoneAssetParams specifies the parameters for an asset.

[apar] when part of an AssetConfig transaction.

Definition:
data/transactions/asset.go : AssetParams
»»» clawbackstringfalsenoneAddress of account used to clawback holdings of this asset. If empty, clawback is not permitted.
»»» creatorstringtruenoneThe 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.
»»» decimalsintegertruenoneThe 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).
»»» default-frozenbooleanfalsenoneWhether holdings of this asset are frozen by default.
»»» freezestringfalsenoneAddress of account used to freeze holdings of this asset. If empty, freezing is not permitted.
»»» managerstringfalsenoneAddress of account used to manage the keys of this asset and to destroy it.
»»» metadata-hashstring(byte)falsenoneA commitment to some unspecified asset metadata. The format of this metadata is up to the application.
»»» namestringfalsenoneName of this asset, as supplied by the creator. Included only when the asset name is composed of printable utf-8 characters.
»»» name-b64string(byte)falsenoneBase64 encoded name of this asset, as supplied by the creator.
»»» reservestringfalsenoneAddress of account holding reserve (non-minted) units of this asset.
»»» totalintegertruenoneThe total number of units of this asset.
»»» unit-namestringfalsenoneName 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.
»»» unit-name-b64string(byte)falsenoneBase64 encoded name of a unit of this asset, as supplied by the creator.
»»» urlstringfalsenoneURL where more information about the asset can be retrieved. Included only when the URL is composed of printable utf-8 characters.
»»» url-b64string(byte)falsenoneBase64 encoded URL where more information about the asset can be retrieved.
» current-roundintegertruenoneRound at which the results were computed.
» next-tokenstringfalsenoneUsed for pagination, when making another request provide this token with the next parameter.

Status Code 400

NameTypeRequiredRestrictionsDescription
» dataobjectfalsenonenone
» messagestringtruenonenone

Status Code 500

NameTypeRequiredRestrictionsDescription
» dataobjectfalsenonenone
» messagestringtruenonenone

searchForBlockHeaders

Code samples

Terminal window
curl -X GET https://example.com/v2/block-headers \
-H 'Accept: application/json'
GET https://example.com/v2/block-headers HTTP/1.1
Host: example.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://example.com/v2/block-headers',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://example.com/v2/block-headers',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://example.com/v2/block-headers', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://example.com/v2/block-headers', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://example.com/v2/block-headers");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://example.com/v2/block-headers", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}

GET /v2/block-headers

Search for block headers. Block headers are returned in ascending round order. Transactions are not included in the output.

Parameters

NameInTypeRequiredDescription
limitqueryintegerfalseMaximum number of results to return. There could be additional pages even if the limit is not reached.
nextquerystringfalseThe next page of results. Use the next token provided by the previous results.
min-roundqueryintegerfalseInclude results at or after the specified min-round.
max-roundqueryintegerfalseInclude results at or before the specified max-round.
before-timequerystring(date-time)falseInclude results before the given time. Must be an RFC 3339 formatted string.
after-timequerystring(date-time)falseInclude results after the given time. Must be an RFC 3339 formatted string.
proposersqueryarray[string]falseAccounts marked as proposer in the block header’s participation updates. This parameter accepts a comma separated list of addresses.
expiredqueryarray[string]falseAccounts marked as expired in the block header’s participation updates. This parameter accepts a comma separated list of addresses.
absentqueryarray[string]falseAccounts marked as absent in the block header’s participation updates. This parameter accepts a comma separated list of addresses.

Example responses

200 Response

{
"blocks": [
{
"bonus": 0,
"fees-collected": 0,
"genesis-hash": "string",
"genesis-id": "string",
"participation-updates": {
"absent-participation-accounts": [
"string"
],
"expired-participation-accounts": [
"string"
]
},
"previous-block-hash": "string",
"proposer": "string",
"proposer-payout": 0,
"rewards": {
"fee-sink": "string",
"rewards-calculation-round": 0,
"rewards-level": 0,
"rewards-pool": "string",
"rewards-rate": 0,
"rewards-residue": 0
},
"round": 0,
"seed": "string",
"state-proof-tracking": [
{
"next-round": 0,
"online-total-weight": 0,
"type": 0,
"voters-commitment": "string"
}
],
"timestamp": 0,
"transactions": [
{
"application-transaction": {
"accounts": [
"string"
],
"application-args": [
"string"
],
"application-id": 0,
"approval-program": "string",
"clear-state-program": "string",
"extra-program-pages": 0,
"foreign-apps": [
0
],
"foreign-assets": [
0
],
"global-state-schema": {
"num-byte-slice": 0,
"num-uint": 0
},
"local-state-schema": {
"num-byte-slice": 0,
"num-uint": 0
},
"on-completion": "noop"
},
"asset-config-transaction": {
"asset-id": 0,
"params": {
"clawback": "string",
"creator": "string",
"decimals": 19,
"default-frozen": true,
"freeze": "string",
"manager": "string",
"metadata-hash": "string",
"name": "string",
"name-b64": "string",
"reserve": "string",
"total": 0,
"unit-name": "string",
"unit-name-b64": "string",
"url": "string",
"url-b64": "string"
}
},
"asset-freeze-transaction": {
"address": "string",
"asset-id": 0,
"new-freeze-status": true
},
"asset-transfer-transaction": {
"amount": 0,
"asset-id": 0,
"close-amount": 0,
"close-to": "string",
"receiver": "string",
"sender": "string"
},
"auth-addr": "string",
"close-rewards": 0,
"closing-amount": 0,
"confirmed-round": 0,
"created-application-index": 0,
"created-asset-index": 0,
"fee": 0,
"first-valid": 0,
"genesis-hash": "string",
"genesis-id": "string",
"global-state-delta": [
{
"key": "string",
"value": {
"action": 0,
"bytes": "string",
"uint": 0
}
}
],
"group": "string",
"heartbeat-transaction": {
"hb-address": "string",
"hb-key-dilution": 0,
"hb-proof": {
"hb-pk": "string",
"hb-pk1sig": "string",
"hb-pk2": "string",
"hb-pk2sig": "string",
"hb-sig": "string"
},
"hb-seed": "string",
"hb-vote-id": "string"
},
"id": "string",
"inner-txns": [
{}
],
"intra-round-offset": 0,
"keyreg-transaction": {
"non-participation": true,
"selection-participation-key": "string",
"state-proof-key": "string",
"vote-first-valid": 0,
"vote-key-dilution": 0,
"vote-last-valid": 0,
"vote-participation-key": "string"
},
"last-valid": 0,
"lease": "string",
"local-state-delta": [
{
"address": "string",
"delta": [
{
"key": "string",
"value": {
"action": 0,
"bytes": "string",
"uint": 0
}
}
]
}
],
"logs": [
"string"
],
"note": "string",
"payment-transaction": {
"amount": 0,
"close-amount": 0,
"close-remainder-to": "string",
"receiver": "string"
},
"receiver-rewards": 0,
"rekey-to": "string",
"round-time": 0,
"sender": "string",
"sender-rewards": 0,
"signature": {
"logicsig": {
"args": [
"string"
],
"logic": "string",
"multisig-signature": {
"subsignature": [
{
"public-key": "string",
"signature": "string"
}
],
"threshold": 0,
"version": 0
},
"signature": "string"
},
"multisig": {
"subsignature": [
{
"public-key": "string",
"signature": "string"
}
],
"threshold": 0,
"version": 0
},
"sig": "string"
},
"state-proof-transaction": {
"message": {
"block-headers-commitment": "string",
"first-attested-round": 0,
"latest-attested-round": 0,
"ln-proven-weight": 0,
"voters-commitment": "string"
},
"state-proof": {
"part-proofs": {
"hash-factory": {
"hash-type": 0
},
"path": [
"string"
],
"tree-depth": 0
},
"positions-to-reveal": [
0
],
"reveals": [
{
"participant": {
"verifier": {},
"weight": 0
},
"position": 0,
"sig-slot": {
"lower-sig-weight": 0,
"signature": {}
}
}
],
"salt-version": 0,
"sig-commit": "string",
"sig-proofs": {
"hash-factory": {
"hash-type": 0
},
"path": [
"string"
],
"tree-depth": 0
},
"signed-weight": 0
},
"state-proof-type": 0
},
"tx-type": "pay"
}
],
"transactions-root": "string",
"transactions-root-sha256": "string",
"txn-counter": 0,
"upgrade-state": {
"current-protocol": "string",
"next-protocol": "string",
"next-protocol-approvals": 0,
"next-protocol-switch-on": 0,
"next-protocol-vote-before": 0
},
"upgrade-vote": {
"upgrade-approve": true,
"upgrade-delay": 0,
"upgrade-propose": "string"
}
}
],
"current-round": 0,
"next-token": "string"
}

Responses

StatusMeaningDescriptionSchema
200OK(empty)Inline
404Not FoundResponse for errorsInline
500Internal Server ErrorResponse for errorsInline

Response Schema

Status Code 200

NameTypeRequiredRestrictionsDescription
» blocks[Block]truenone[Block information.

Definition:
data/bookkeeping/block.go : Block]
»» bonusintegerfalsenonethe potential bonus payout for this block.
»» fees-collectedintegerfalsenonethe sum of all fees paid by transactions in this block.
»» genesis-hashstring(byte)truenone[gh] hash to which this block belongs.
»» genesis-idstringtruenone[gen] ID to which this block belongs.
»» participation-updatesParticipationUpdatesfalsenoneParticipation account data that needs to be checked/acted on by the network.
»»» absent-participation-accounts[string]falsenone[partupabs] a list of online accounts that need to be suspended.
»»» expired-participation-accounts[string]falsenone[partupdrmv] a list of online accounts that needs to be converted to offline since their participation key expired.
»» previous-block-hashstring(byte)truenone[prev] Previous block hash.
»» proposerstringfalsenonethe proposer of this block.
»» proposer-payoutintegerfalsenonethe actual amount transferred to the proposer from the fee sink.
»» rewardsBlockRewardsfalsenoneFields relating to rewards,
»»» fee-sinkstringtruenone[fees] accepts transaction fees, it can only spend to the incentive pool.
»»» rewards-calculation-roundintegertruenone[rwcalr] number of leftover MicroAlgos after the distribution of rewards-rate MicroAlgos for every reward unit in the next round.
»»» rewards-levelintegertruenone[earn] How many rewards, in MicroAlgos, have been distributed to each RewardUnit of MicroAlgos since genesis.
»»» rewards-poolstringtruenone[rwd] accepts periodic injections from the fee-sink and continually redistributes them as rewards.
»»» rewards-rateintegertruenone[rate] Number of new MicroAlgos added to the participation stake from rewards at the next round.
»»» rewards-residueintegertruenone[frac] Number of leftover MicroAlgos after the distribution of RewardsRate/rewardUnits MicroAlgos for every reward unit in the next round.
»» roundintegertruenone[rnd] Current round on which this block was appended to the chain.
»» seedstring(byte)truenone[seed] Sortition seed.
»» state-proof-tracking[StateProofTracking]falsenoneTracks the status of state proofs.
»»» next-roundintegerfalsenone[n] Next round for which we will accept a state proof transaction.
»»» online-total-weightintegerfalsenone[t] The total number of microalgos held by the online accounts during the StateProof round.
»»» typeintegerfalsenoneState Proof Type. Note the raw object uses map with this as key.
»»» voters-commitmentstring(byte)falsenone[v] Root of a vector commitment containing online accounts that will help sign the proof.
»» timestampintegertruenone[ts] Block creation timestamp in seconds since eposh
»» transactions[Transaction]falsenone[txns] list of transactions corresponding to a given round.
»»» application-transactionTransactionApplicationfalsenoneFields for application transactions.

Definition:
data/transactions/application.go : ApplicationCallTxnFields
»»»» accounts[string]falsenone[apat] List of accounts in addition to the sender that may be accessed from the application’s approval-program and clear-state-program.
»»»» application-args[string]falsenone[apaa] transaction specific arguments accessed from the application’s approval-program and clear-state-program.
»»»» application-idintegertruenone[apid] ID of the application being configured or empty if creating.
»»»» approval-programstring(byte)falsenone[apap] Logic executed for every application transaction, except when on-completion is set to “clear”. It can read and write global state for the application, as well as account-specific local state. Approval programs may reject the transaction.
»»»» clear-state-programstring(byte)falsenone[apsu] Logic executed for application transactions with on-completion set to “clear”. It can read and write global state for the application, as well as account-specific local state. Clear state programs cannot reject the transaction.
»»»» extra-program-pagesintegerfalsenone[epp] specifies the additional app program len requested in pages.
»»»» foreign-apps[integer]falsenone[apfa] Lists the applications in addition to the application-id whose global states may be accessed by this application’s approval-program and clear-state-program. The access is read-only.
»»»» foreign-assets[integer]falsenone[apas] lists the assets whose parameters may be accessed by this application’s ApprovalProgram and ClearStateProgram. The access is read-only.
»»»» global-state-schemaStateSchemafalsenoneRepresents a [apls] local-state or [apgs] global-state schema. These schemas determine how much storage may be used in a local-state or global-state for an application. The more space used, the larger minimum balance must be maintained in the account holding the data.
»»»»» num-byte-sliceintegertruenoneMaximum number of TEAL byte slices that may be stored in the key/value store.
»»»»» num-uintintegertruenoneMaximum number of TEAL uints that may be stored in the key/value store.
»»»» local-state-schemaStateSchemafalsenoneRepresents a [apls] local-state or [apgs] global-state schema. These schemas determine how much storage may be used in a local-state or global-state for an application. The more space used, the larger minimum balance must be maintained in the account holding the data.
»»»» on-completionOnCompletiontruenone[apan] defines the what additional actions occur with the transaction.

Valid types:
* noop
* optin
* closeout
* clear
* update
* update
* delete
»»» asset-config-transactionTransactionAssetConfigfalsenoneFields for asset allocation, re-configuration, and destruction.


A zero value for asset-id indicates asset creation.
A zero value for the params indicates asset destruction.

Definition:
data/transactions/asset.go : AssetConfigTxnFields
»»»» asset-idintegerfalsenone[xaid] ID of the asset being configured or empty if creating.
»»»» paramsAssetParamsfalsenoneAssetParams specifies the parameters for an asset.

[apar] when part of an AssetConfig transaction.

Definition:
data/transactions/asset.go : AssetParams
»»»»» clawbackstringfalsenoneAddress of account used to clawback holdings of this asset. If empty, clawback is not permitted.
»»»»» creatorstringtruenoneThe 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.
»»»»» decimalsintegertruenoneThe 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).
»»»»» default-frozenbooleanfalsenoneWhether holdings of this asset are frozen by default.
»»»»» freezestringfalsenoneAddress of account used to freeze holdings of this asset. If empty, freezing is not permitted.
»»»»» managerstringfalsenoneAddress of account used to manage the keys of this asset and to destroy it.
»»»»» metadata-hashstring(byte)falsenoneA commitment to some unspecified asset metadata. The format of this metadata is up to the application.
»»»»» namestringfalsenoneName of this asset, as supplied by the creator. Included only when the asset name is composed of printable utf-8 characters.
»»»»» name-b64string(byte)falsenoneBase64 encoded name of this asset, as supplied by the creator.
»»»»» reservestringfalsenoneAddress of account holding reserve (non-minted) units of this asset.
»»»»» totalintegertruenoneThe total number of units of this asset.
»»»»» unit-namestringfalsenoneName 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.
»»»»» unit-name-b64string(byte)falsenoneBase64 encoded name of a unit of this asset, as supplied by the creator.
»»»»» urlstringfalsenoneURL where more information about the asset can be retrieved. Included only when the URL is composed of printable utf-8 characters.
»»»»» url-b64string(byte)falsenoneBase64 encoded URL where more information about the asset can be retrieved.
»»» asset-freeze-transactionTransactionAssetFreezefalsenoneFields for an asset freeze transaction.

Definition:
data/transactions/asset.go : AssetFreezeTxnFields
»»»» addressstringtruenone[fadd] Address of the account whose asset is being frozen or thawed.
»»»» asset-idintegertruenone[faid] ID of the asset being frozen or thawed.
»»»» new-freeze-statusbooleantruenone[afrz] The new freeze status.
»»» asset-transfer-transactionTransactionAssetTransferfalsenoneFields for an asset transfer transaction.

Definition:
data/transactions/asset.go : AssetTransferTxnFields
»»»» amountintegertruenone[aamt] Amount of asset to transfer. A zero amount transferred to self allocates that asset in the account’s Assets map.
»»»» asset-idintegertruenone[xaid] ID of the asset being transferred.
»»»» close-amountintegerfalsenoneNumber of assets transferred to the close-to account as part of the transaction.
»»»» close-tostringfalsenone[aclose] Indicates that the asset should be removed from the account’s Assets map, and specifies where the remaining asset holdings should be transferred. It’s always valid to transfer remaining asset holdings to the creator account.
»»»» receiverstringtruenone[arcv] Recipient address of the transfer.
»»»» senderstringfalsenone[asnd] The effective sender during a clawback transactions. If this is not a zero value, the real transaction sender must be the Clawback address from the AssetParams.
»»» auth-addrstringfalsenone[sgnr] this is included with signed transactions when the signing address does not equal the sender. The backend can use this to ensure that auth addr is equal to the accounts auth addr.
»»» close-rewardsintegerfalsenone[rc] rewards applied to close-remainder-to account.
»»» closing-amountintegerfalsenone[ca] closing amount for transaction.
»»» confirmed-roundintegerfalsenoneRound when the transaction was confirmed.
»»» created-application-indexintegerfalsenoneSpecifies an application index (ID) if an application was created with this transaction.
»»» created-asset-indexintegerfalsenoneSpecifies an asset index (ID) if an asset was created with this transaction.
»»» feeintegertruenone[fee] Transaction fee.
»»» first-validintegertruenone[fv] First valid round for this transaction.
»»» genesis-hashstring(byte)falsenone[gh] Hash of genesis block.
»»» genesis-idstringfalsenone[gen] genesis block ID.
»»» global-state-delta[EvalDeltaKeyValue]falsenoneApplication state delta.
»»»» keystringtruenonenone
»»»» valueEvalDeltatruenoneRepresents a TEAL value delta.
»»»»» actionintegertruenone[at] delta action.
»»»»» bytesstringfalsenone[bs] bytes value.
»»»»» uintintegerfalsenone[ui] uint value.
»»» groupstring(byte)falsenone[grp] Base64 encoded byte array of a sha512/256 digest. When present indicates that this transaction is part of a transaction group and the value is the sha512/256 hash of the transactions in that group.
»»» heartbeat-transactionTransactionHeartbeatfalsenoneFields for a heartbeat transaction.

Definition:
data/transactions/heartbeat.go : HeartbeatTxnFields
»»»» hb-addressstringtruenone[hbad] HbAddress is the account this txn is proving onlineness for.
»»»» hb-key-dilutionintegertruenone[hbkd] HbKeyDilution must match HbAddress account’s current KeyDilution.
»»»» hb-proofHbProofFieldstruenone[hbprf] HbProof is a signature using HeartbeatAddress’s partkey, thereby showing it is online.
»»»»» hb-pkstring(byte)falsenone[p] Public key of the heartbeat message.
»»»»» hb-pk1sigstring(byte)falsenone[p1s] Signature of OneTimeSignatureSubkeyOffsetID(PK, Batch, Offset) under the key PK2.
»»»»» hb-pk2string(byte)falsenone[p2] Key for new-style two-level ephemeral signature.
»»»»» hb-pk2sigstring(byte)falsenone[p2s] Signature of OneTimeSignatureSubkeyBatchID(PK2, Batch) under the master key (OneTimeSignatureVerifier).
»»»»» hb-sigstring(byte)falsenone[s] Signature of the heartbeat message.
»»»» hb-seedstring(byte)truenone[hbsd] HbSeed must be the block seed for the this transaction’s firstValid block.
»»»» hb-vote-idstring(byte)truenone[hbvid] HbVoteID must match the HbAddress account’s current VoteID.
»»» idstringfalsenoneTransaction ID
»»» inner-txns[Transaction]falsenoneInner transactions produced by application execution.
»»» intra-round-offsetintegerfalsenoneOffset into the round where this transaction was confirmed.
»»» keyreg-transactionTransactionKeyregfalsenoneFields for a keyreg transaction.

Definition:
data/transactions/keyreg.go : KeyregTxnFields
»»»» non-participationbooleanfalsenone[nonpart] Mark the account as participating or non-participating.
»»»» selection-participation-keystring(byte)falsenone[selkey] Public key used with the Verified Random Function (VRF) result during committee selection.
»»»» state-proof-keystring(byte)falsenone[sprfkey] State proof key used in key registration transactions.
»»»» vote-first-validintegerfalsenone[votefst] First round this participation key is valid.
»»»» vote-key-dilutionintegerfalsenone[votekd] Number of subkeys in each batch of participation keys.
»»»» vote-last-validintegerfalsenone[votelst] Last round this participation key is valid.
»»»» vote-participation-keystring(byte)falsenone[votekey] Participation public key used in key registration transactions.
»»» last-validintegertruenone[lv] Last valid round for this transaction.
»»» leasestring(byte)falsenone[lx] Base64 encoded 32-byte array. Lease enforces mutual exclusion of transactions. If this field is nonzero, then once the transaction is confirmed, it acquires the lease identified by the (Sender, Lease) pair of the transaction until the LastValid round passes. While this transaction possesses the lease, no other transaction specifying this lease can be confirmed.
»»» local-state-delta[AccountStateDelta]falsenone[ld] Local state key/value changes for the application being executed by this transaction.
»»»» addressstringtruenonenone
»»»» delta[EvalDeltaKeyValue]truenoneApplication state delta.
»»» logs[string]falsenone[lg] Logs for the application being executed by this transaction.
»»» notestring(byte)falsenone[note] Free form data.
»»» payment-transactionTransactionPaymentfalsenoneFields for a payment transaction.

Definition:
data/transactions/payment.go : PaymentTxnFields
»»»» amountintegertruenone[amt] number of MicroAlgos intended to be transferred.
»»»» close-amountintegerfalsenoneNumber of MicroAlgos that were sent to the close-remainder-to address when closing the sender account.
»»»» close-remainder-tostringfalsenone[close] when set, indicates that the sending account should be closed and all remaining funds be transferred to this address.
»»»» receiverstringtruenone[rcv] receiver’s address.
»»» receiver-rewardsintegerfalsenone[rr] rewards applied to receiver account.
»»» rekey-tostringfalsenone[rekey] when included in a valid transaction, the accounts auth addr will be updated with this value and future signatures must be signed with the key represented by this address.
»»» round-timeintegerfalsenoneTime when the block this transaction is in was confirmed.
»»» senderstringtruenone[snd] Sender’s address.
»»» sender-rewardsintegerfalsenone[rs] rewards applied to sender account.
»»» signatureTransactionSignaturefalsenoneValidation signature associated with some data. Only one of the signatures should be provided.
»»»» logicsigTransactionSignatureLogicsigfalsenone[lsig] Programatic transaction signature.

Definition:
data/transactions/logicsig.go
»»»»» args[string]falsenone[arg] Logic arguments, base64 encoded.
»»»»» logicstring(byte)truenone[l] Program signed by a signature or multi signature, or hashed to be the address of ana ccount. Base64 encoded TEAL program.
»»»»» multisig-signatureTransactionSignatureMultisigfalsenone[msig] structure holding multiple subsignatures.

Definition:
crypto/multisig.go : MultisigSig
»»»»»» subsignature[TransactionSignatureMultisigSubsignature]falsenone[subsig] holds pairs of public key and signatures.
»»»»»»» public-keystring(byte)falsenone[pk]
»»»»»»» signaturestring(byte)falsenone[s]
»»»»»» thresholdintegerfalsenone[thr]
»»»»»» versionintegerfalsenone[v]
»»»»» signaturestring(byte)falsenone[sig] ed25519 signature.
»»»» multisigTransactionSignatureMultisigfalsenone[msig] structure holding multiple subsignatures.

Definition:
crypto/multisig.go : MultisigSig
»»»» sigstring(byte)falsenone[sig] Standard ed25519 signature.
»»» state-proof-transactionTransactionStateProoffalsenoneFields for a state proof transaction.

Definition:
data/transactions/stateproof.go : StateProofTxnFields
»»»» messageIndexerStateProofMessagefalsenonenone
»»»»» block-headers-commitmentstring(byte)falsenone[b]
»»»»» first-attested-roundintegerfalsenone[f]
»»»»» latest-attested-roundintegerfalsenone[l]
»»»»» ln-proven-weightintegerfalsenone[P]
»»»»» voters-commitmentstring(byte)falsenone[v]
»»»» state-proofStateProofFieldsfalsenone[sp] represents a state proof.

Definition:
crypto/stateproof/structs.go : StateProof
»»»»» part-proofsMerkleArrayProoffalsenonenone
»»»»»» hash-factoryHashFactoryfalsenonenone
»»»»»»» hash-typeintegerfalsenone[t]
»»»»»» path[string]falsenone[pth]
»»»»»» tree-depthintegerfalsenone[td]
»»»»» positions-to-reveal[integer]falsenone[pr] Sequence of reveal positions.
»»»»» reveals[StateProofReveal]falsenone[r] Note that this is actually stored as a map[uint64] - Reveal in the actual msgp
»»»»»» participantStateProofParticipantfalsenonenone
»»»»»»» verifierStateProofVerifierfalsenonenone
»»»»»»»» commitmentstring(byte)falsenone[cmt] Represents the root of the vector commitment tree.
»»»»»»»» key-lifetimeintegerfalsenone[lf] Key lifetime.
»»»»»»» weightintegerfalsenone[w]
»»»»»» positionintegerfalsenoneThe position in the signature and participants arrays corresponding to this entry.
»»»»»» sig-slotStateProofSigSlotfalsenonenone
»»»»»»» lower-sig-weightintegerfalsenone[l] The total weight of signatures in the lower-numbered slots.
»»»»»»» signatureStateProofSignaturefalsenonenone
»»»»»»»» falcon-signaturestring(byte)falsenonenone
»»»»»»»» merkle-array-indexintegerfalsenonenone
»»»»»»»» proofMerkleArrayProoffalsenonenone
»»»»»»»» verifying-keystring(byte)falsenone[vkey]
»»»»» salt-versionintegerfalsenone[v] Salt version of the merkle signature.
»»»»» sig-commitstring(byte)falsenone[c]
»»»»» sig-proofsMerkleArrayProoffalsenonenone
»»»»» signed-weightintegerfalsenone[w]
»»»» state-proof-typeintegerfalsenone[sptype] Type of the state proof. Integer representing an entry defined in protocol/stateproof.go
»»» tx-typestringtruenone[type] Indicates what type of transaction this is. Different types have different fields.

Valid types, and where their fields are stored:
* [pay] payment-transaction
* [keyreg] keyreg-transaction
* [acfg] asset-config-transaction
* [axfer] asset-transfer-transaction
* [afrz] asset-freeze-transaction
* [appl] application-transaction
* [stpf] state-proof-transaction
* [hb] heartbeat-transaction
»» transactions-rootstring(byte)truenone[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.
»» transactions-root-sha256string(byte)truenone[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.
»» txn-counterintegerfalsenone[tc] TxnCounter counts the number of transactions committed in the ledger, from the time at which support for this feature was introduced.

Specifically, 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).
»» upgrade-stateBlockUpgradeStatefalsenoneFields relating to a protocol upgrade.
»»» current-protocolstringtruenone[proto] The current protocol version.
»»» next-protocolstringfalsenone[nextproto] The next proposed protocol version.
»»» next-protocol-approvalsintegerfalsenone[nextyes] Number of blocks which approved the protocol upgrade.
»»» next-protocol-switch-onintegerfalsenone[nextswitch] Round on which the protocol upgrade will take effect.
»»» next-protocol-vote-beforeintegerfalsenone[nextbefore] Deadline round for this protocol upgrade (No votes will be consider after this round).
»» upgrade-voteBlockUpgradeVotefalsenoneFields relating to voting for a protocol upgrade.
»»» upgrade-approvebooleanfalsenone[upgradeyes] Indicates a yes vote for the current proposal.
»»» upgrade-delayintegerfalsenone[upgradedelay] Indicates the time between acceptance and execution.
»»» upgrade-proposestringfalsenone[upgradeprop] Indicates a proposed upgrade.
» current-roundintegertruenoneRound at which the results were computed.
» next-tokenstringfalsenoneUsed for pagination, when making another request provide this token with the next parameter.

Enumerated Values

PropertyValue
on-completionnoop
on-completionoptin
on-completioncloseout
on-completionclear
on-completionupdate
on-completiondelete
tx-typepay
tx-typekeyreg
tx-typeacfg
tx-typeaxfer
tx-typeafrz
tx-typeappl
tx-typestpf
tx-typehb

Status Code 404

NameTypeRequiredRestrictionsDescription
» dataobjectfalsenonenone
» messagestringtruenonenone

Status Code 500

NameTypeRequiredRestrictionsDescription
» dataobjectfalsenonenone
» messagestringtruenonenone

searchForTransactions

Code samples

Terminal window
curl -X GET https://example.com/v2/transactions \
-H 'Accept: application/json'
GET https://example.com/v2/transactions HTTP/1.1
Host: example.com
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('https://example.com/v2/transactions',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://example.com/v2/transactions',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://example.com/v2/transactions', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://example.com/v2/transactions', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("https://example.com/v2/transactions");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://example.com/v2/transactions", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}

GET /v2/transactions

Search for transactions. Transactions are returned oldest to newest unless the address parameter is used, in which case results are returned newest to oldest.

Parameters

NameInTypeRequiredDescription
limitqueryintegerfalseMaximum number of results to return. There could be additional pages even if the limit is not reached.
nextquerystringfalseThe next page of results. Use the next token provided by the previous results.
note-prefixquerystringfalseSpecifies a prefix which must be contained in the note field.
tx-typequerystringfalsenone
sig-typequerystringfalseSigType filters just results using the specified type of signature:
txidquerystringfalseLookup the specific transaction by ID.
roundqueryintegerfalseInclude results for the specified round.
min-roundqueryintegerfalseInclude results at or after the specified min-round.
max-roundqueryintegerfalseInclude results at or before the specified max-round.
asset-idqueryintegerfalseAsset ID
before-timequerystring(date-time)falseInclude results before the given time. Must be an RFC 3339 formatted string.
after-timequerystring(date-time)falseInclude results after the given time. Must be an RFC 3339 formatted string.
currency-greater-thanqueryintegerfalseResults should have an amount greater than this value. MicroAlgos are the default currency unless an asset-id is provided, in which case the asset will be used.
currency-less-thanqueryintegerfalseResults should have an amount less than this value. MicroAlgos are the default currency unless an asset-id is provided, in which case the asset will be used.
addressquerystringfalseOnly include transactions with this address in one of the transaction fields.
address-rolequerystringfalseCombine with the address parameter to define what type of address to search for.
exclude-close-toquerybooleanfalseCombine with address and address-role parameters to define what type of address to search for. The close to fields are normally treated as a receiver, if you would like to exclude them set this parameter to true.
rekey-toquerybooleanfalseInclude results which include the rekey-to field.
application-idqueryintegerfalseApplication ID

Detailed descriptions

sig-type: SigType filters just results using the specified type of signature:

  • sig - Standard
  • msig - MultiSig
  • lsig - LogicSig

Enumerated Values

ParameterValue
tx-typepay
tx-typekeyreg
tx-typeacfg
tx-typeaxfer
tx-typeafrz
tx-typeappl
tx-typestpf
tx-typehb
sig-typesig
sig-typemsig
sig-typelsig
address-rolesender
address-rolereceiver
address-rolefreeze-target

Example responses

200 Response

{
"current-round": 0,
"next-token": "string",
"transactions": [
{
"application-transaction": {
"accounts": [
"string"
],
"application-args": [
"string"
],
"application-id": 0,
"approval-program": "string",
"clear-state-program": "string",
"extra-program-pages": 0,
"foreign-apps": [
0
],
"foreign-assets": [
0
],
"global-state-schema": {
"num-byte-slice": 0,
"num-uint": 0
},
"local-state-schema": {
"num-byte-slice": 0,
"num-uint": 0
},
"on-completion": "noop"
},
"asset-config-transaction": {
"asset-id": 0,
"params": {
"clawback": "string",
"creator": "string",
"decimals": 19,
"default-frozen": true,
"freeze": "string",
"manager": "string",
"metadata-hash": "string",
"name": "string",
"name-b64": "string",
"reserve": "string",
"total": 0,
"unit-name": "string",
"unit-name-b64": "string",
"url": "string",
"url-b64": "string"
}
},
"asset-freeze-transaction": {
"address": "string",
"asset-id": 0,
"new-freeze-status": true
},
"asset-transfer-transaction": {
"amount": 0,
"asset-id": 0,
"close-amount": 0,
"close-to": "string",
"receiver": "string",
"sender": "string"
},
"auth-addr": "string",
"close-rewards": 0,
"closing-amount": 0,
"confirmed-round": 0,
"created-application-index": 0,
"created-asset-index": 0,
"fee": 0,
"first-valid": 0,
"genesis-hash": "string",
"genesis-id": "string",
"global-state-delta": [
{
"key": "string",
"value": {
"action": 0,
"bytes": "string",
"uint": 0
}
}
],
"group": "string",
"heartbeat-transaction": {
"hb-address": "string",
"hb-key-dilution": 0,
"hb-proof": {
"hb-pk": "string",
"hb-pk1sig": "string",
"hb-pk2": "string",
"hb-pk2sig": "string",
"hb-sig": "string"
},
"hb-seed": "string",
"hb-vote-id": "string"
},
"id": "string",
"inner-txns": [
{}
],
"intra-round-offset": 0,
"keyreg-transaction": {
"non-participation": true,
"selection-participation-key": "string",
"state-proof-key": "string",
"vote-first-valid": 0,
"vote-key-dilution": 0,
"vote-last-valid": 0,
"vote-participation-key": "string"
},
"last-valid": 0,
"lease": "string",
"local-state-delta": [
{
"address": "string",
"delta": [
{
"key": "string",
"value": {
"action": 0,
"bytes": "string",
"uint": 0
}
}
]
}
],
"logs": [
"string"
],
"note": "string",
"payment-transaction": {
"amount": 0,
"close-amount": 0,
"close-remainder-to": "string",
"receiver": "string"
},
"receiver-rewards": 0,
"rekey-to": "string",
"round-time": 0,
"sender": "string",
"sender-rewards": 0,
"signature": {
"logicsig": {
"args": [
"string"
],
"logic": "string",
"multisig-signature": {
"subsignature": [
{
"public-key": "string",
"signature": "string"
}
],
"threshold": 0,
"version": 0
},
"signature": "string"
},
"multisig": {
"subsignature": [
{
"public-key": "string",
"signature": "string"
}
],
"threshold": 0,
"version": 0
},
"sig": "string"
},
"state-proof-transaction": {
"message": {
"block-headers-commitment": "string",
"first-attested-round": 0,
"latest-attested-round": 0,
"ln-proven-weight": 0,
"voters-commitment": "string"
},
"state-proof": {
"part-proofs": {
"hash-factory": {
"hash-type": 0
},
"path": [
"string"
],
"tree-depth": 0
},
"positions-to-reveal": [
0
],
"reveals": [
{
"participant": {
"verifier": {
"commitment": "string",
"key-lifetime": 0
},
"weight": 0
},
"position": 0,
"sig-slot": {
"lower-sig-weight": 0,
"signature": {
"falcon-signature": "string",
"merkle-array-index": 0,
"proof": {
"hash-factory": {},
"path": [],
"tree-depth": 0
},
"verifying-key": "string"
}
}
}
],
"salt-version": 0,
"sig-commit": "string",
"sig-proofs": {
"hash-factory": {
"hash-type": 0
},
"path": [
"string"
],
"tree-depth": 0
},
"signed-weight": 0
},
"state-proof-type": 0
},
"tx-type": "pay"
}
]
}

Responses

StatusMeaningDescriptionSchema
200OK(empty)Inline
400Bad RequestResponse for errorsInline
500Internal Server ErrorResponse for errorsInline

Response Schema

Status Code 200

NameTypeRequiredRestrictionsDescription
» current-roundintegertruenoneRound at which the results were computed.
» next-tokenstringfalsenoneUsed for pagination, when making another request provide this token with the next parameter.
» transactions[Transaction]truenone[Contains all fields common to all transactions and serves as an envelope to all transactions type. Represents both regular and inner transactions.

Definition:
data/transactions/signedtxn.go : SignedTxn
data/transactions/transaction.go : Transaction
]
»» application-transactionTransactionApplicationfalsenoneFields for application transactions.

Definition:
data/transactions/application.go : ApplicationCallTxnFields
»»» accounts[string]falsenone[apat] List of accounts in addition to the sender that may be accessed from the application’s approval-program and clear-state-program.
»»» application-args[string]falsenone[apaa] transaction specific arguments accessed from the application’s approval-program and clear-state-program.
»»» application-idintegertruenone[apid] ID of the application being configured or empty if creating.
»»» approval-programstring(byte)falsenone[apap] Logic executed for every application transaction, except when on-completion is set to “clear”. It can read and write global state for the application, as well as account-specific local state. Approval programs may reject the transaction.
»»» clear-state-programstring(byte)falsenone[apsu] Logic executed for application transactions with on-completion set to “clear”. It can read and write global state for the application, as well as account-specific local state. Clear state programs cannot reject the transaction.
»»» extra-program-pagesintegerfalsenone[epp] specifies the additional app program len requested in pages.
»»» foreign-apps[integer]falsenone[apfa] Lists the applications in addition to the application-id whose global states may be accessed by this application’s approval-program and clear-state-program. The access is read-only.
»»» foreign-assets[integer]falsenone[apas] lists the assets whose parameters may be accessed by this application’s ApprovalProgram and ClearStateProgram. The access is read-only.
»»» global-state-schemaStateSchemafalsenoneRepresents a [apls] local-state or [apgs] global-state schema. These schemas determine how much storage may be used in a local-state or global-state for an application. The more space used, the larger minimum balance must be maintained in the account holding the data.
»»»» num-byte-sliceintegertruenoneMaximum number of TEAL byte slices that may be stored in the key/value store.
»»»» num-uintintegertruenoneMaximum number of TEAL uints that may be stored in the key/value store.
»»» local-state-schemaStateSchemafalsenoneRepresents a [apls] local-state or [apgs] global-state schema. These schemas determine how much storage may be used in a local-state or global-state for an application. The more space used, the larger minimum balance must be maintained in the account holding the data.
»»» on-completionOnCompletiontruenone[apan] defines the what additional actions occur with the transaction.

Valid types:
* noop
* optin
* closeout
* clear
* update
* update
* delete
»» asset-config-transactionTransactionAssetConfigfalsenoneFields for asset allocation, re-configuration, and destruction.


A zero value for asset-id indicates asset creation.
A zero value for the params indicates asset destruction.

Definition:
data/transactions/asset.go : AssetConfigTxnFields
»»» asset-idintegerfalsenone[xaid] ID of the asset being configured or empty if creating.
»»» paramsAssetParamsfalsenoneAssetParams specifies the parameters for an asset.

[apar] when part of an AssetConfig transaction.

Definition:
data/transactions/asset.go : AssetParams
»»»» clawbackstringfalsenoneAddress of account used to clawback holdings of this asset. If empty, clawback is not permitted.
»»»» creatorstringtruenoneThe 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.
»»»» decimalsintegertruenoneThe 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).
»»»» default-frozenbooleanfalsenoneWhether holdings of this asset are frozen by default.
»»»» freezestringfalsenoneAddress of account used to freeze holdings of this asset. If empty, freezing is not permitted.
»»»» managerstringfalsenoneAddress of account used to manage the keys of this asset and to destroy it.
»»»» metadata-hashstring(byte)falsenoneA commitment to some unspecified asset metadata. The format of this metadata is up to the application.
»»»» namestringfalsenoneName of this asset, as supplied by the creator. Included only when the asset name is composed of printable utf-8 characters.
»»»» name-b64string(byte)falsenoneBase64 encoded name of this asset, as supplied by the creator.
»»»» reservestringfalsenoneAddress of account holding reserve (non-minted) units of this asset.
»»»» totalintegertruenoneThe total number of units of this asset.
»»»» unit-namestringfalsenoneName 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.
»»»» unit-name-b64string(byte)falsenoneBase64 encoded name of a unit of this asset, as supplied by the creator.
»»»» urlstringfalsenoneURL where more information about the asset can be retrieved. Included only when the URL is composed of printable utf-8 characters.
»»»» url-b64string(byte)falsenoneBase64 encoded URL where more information about the asset can be retrieved.
»» asset-freeze-transactionTransactionAssetFreezefalsenoneFields for an asset freeze transaction.

Definition:
data/transactions/asset.go : AssetFreezeTxnFields
»»» addressstringtruenone[fadd] Address of the account whose asset is being frozen or thawed.
»»» asset-idintegertruenone[faid] ID of the asset being frozen or thawed.
»»» new-freeze-statusbooleantruenone[afrz] The new freeze status.
»» asset-transfer-transactionTransactionAssetTransferfalsenoneFields for an asset transfer transaction.

Definition:
data/transactions/asset.go : AssetTransferTxnFields
»»» amountintegertruenone[aamt] Amount of asset to transfer. A zero amount transferred to self allocates that asset in the account’s Assets map.
»»» asset-idintegertruenone[xaid] ID of the asset being transferred.
»»» close-amountintegerfalsenoneNumber of assets transferred to the close-to account as part of the transaction.
»»» close-tostringfalsenone[aclose] Indicates that the asset should be removed from the account’s Assets map, and specifies where the remaining asset holdings should be transferred. It’s always valid to transfer remaining asset holdings to the creator account.
»»» receiverstringtruenone[arcv] Recipient address of the transfer.
»»» senderstringfalsenone[asnd] The effective sender during a clawback transactions. If this is not a zero value, the real transaction sender must be the Clawback address from the AssetParams.
»» auth-addrstringfalsenone[sgnr] this is included with signed transactions when the signing address does not equal the sender. The backend can use this to ensure that auth addr is equal to the accounts auth addr.
»» close-rewardsintegerfalsenone[rc] rewards applied to close-remainder-to account.
»» closing-amountintegerfalsenone[ca] closing amount for transaction.
»» confirmed-roundintegerfalsenoneRound when the transaction was confirmed.
»» created-application-indexintegerfalsenoneSpecifies an application index (ID) if an application was created with this transaction.
»» created-asset-indexintegerfalsenoneSpecifies an asset index (ID) if an asset was created with this transaction.
»» feeintegertruenone[fee] Transaction fee.
»» first-validintegertruenone[fv] First valid round for this transaction.
»» genesis-hashstring(byte)falsenone[gh] Hash of genesis block.
»» genesis-idstringfalsenone[gen] genesis block ID.
»» global-state-delta[EvalDeltaKeyValue]falsenoneApplication state delta.
»»» keystringtruenonenone
»»» valueEvalDeltatruenoneRepresents a TEAL value delta.
»»»» actionintegertruenone[at] delta action.
»»»» bytesstringfalsenone[bs] bytes value.
»»»» uintintegerfalsenone[ui] uint value.
»» groupstring(byte)falsenone[grp] Base64 encoded byte array of a sha512/256 digest. When present indicates that this transaction is part of a transaction group and the value is the sha512/256 hash of the transactions in that group.
»» heartbeat-transactionTransactionHeartbeatfalsenoneFields for a heartbeat transaction.

Definition:
data/transactions/heartbeat.go : HeartbeatTxnFields
»»» hb-addressstringtruenone[hbad] HbAddress is the account this txn is proving onlineness for.
»»» hb-key-dilutionintegertruenone[hbkd] HbKeyDilution must match HbAddress account’s current KeyDilution.
»»» hb-proofHbProofFieldstruenone[hbprf] HbProof is a signature using HeartbeatAddress’s partkey, thereby showing it is online.
»»»» hb-pkstring(byte)falsenone[p] Public key of the heartbeat message.
»»»» hb-pk1sigstring(byte)falsenone[p1s] Signature of OneTimeSignatureSubkeyOffsetID(PK, Batch, Offset) under the key PK2.
»»»» hb-pk2string(byte)falsenone[p2] Key for new-style two-level ephemeral signature.
»»»» hb-pk2sigstring(byte)falsenone[p2s] Signature of OneTimeSignatureSubkeyBatchID(PK2, Batch) under the master key (OneTimeSignatureVerifier).
»»»» hb-sigstring(byte)falsenone[s] Signature of the heartbeat message.
»»» hb-seedstring(byte)truenone[hbsd] HbSeed must be the block seed for the this transaction’s firstValid block.
»»» hb-vote-idstring(byte)truenone[hbvid] HbVoteID must match the HbAddress account’s current VoteID.
»» idstringfalsenoneTransaction ID
»» inner-txns[Transaction]falsenoneInner transactions produced by application execution.
»» intra-round-offsetintegerfalsenoneOffset into the round where this transaction was confirmed.
»» keyreg-transactionTransactionKeyregfalsenoneFields for a keyreg transaction.

Definition:
data/transactions/keyreg.go : KeyregTxnFields
»»» non-participationbooleanfalsenone[nonpart] Mark the account as participating or non-participating.
»»» selection-participation-keystring(byte)falsenone[selkey] Public key used with the Verified Random Function (VRF) result during committee selection.
»»» state-proof-keystring(byte)falsenone[sprfkey] State proof key used in key registration transactions.
»»» vote-first-validintegerfalsenone[votefst] First round this participation key is valid.
»»» vote-key-dilutionintegerfalsenone[votekd] Number of subkeys in each batch of participation keys.
»»» vote-last-validintegerfalsenone[votelst] Last round this participation key is valid.
»»» vote-participation-keystring(byte)falsenone[votekey] Participation public key used in key registration transactions.
»» last-validintegertruenone[lv] Last valid round for this transaction.
»» leasestring(byte)falsenone[lx] Base64 encoded 32-byte array. Lease enforces mutual exclusion of transactions. If this field is nonzero, then once the transaction is confirmed, it acquires the lease identified by the (Sender, Lease) pair of the transaction until the LastValid round passes. While this transaction possesses the lease, no other transaction specifying this lease can be confirmed.
»» local-state-delta[AccountStateDelta]falsenone[ld] Local state key/value changes for the application being executed by this transaction.
»»» addressstringtruenonenone
»»» delta[EvalDeltaKeyValue]truenoneApplication state delta.
»» logs[string]falsenone[lg] Logs for the application being executed by this transaction.
»» notestring(byte)falsenone[note] Free form data.
»» payment-transactionTransactionPaymentfalsenoneFields for a payment transaction.

Definition:
data/transactions/payment.go : PaymentTxnFields
»»» amountintegertruenone[amt] number of MicroAlgos intended to be transferred.
»»» close-amountintegerfalsenoneNumber of MicroAlgos that were sent to the close-remainder-to address when closing the sender account.
»»» close-remainder-tostringfalsenone[close] when set, indicates that the sending account should be closed and all remaining funds be transferred to this address.
»»» receiverstringtruenone[rcv] receiver’s address.
»» receiver-rewardsintegerfalsenone[rr] rewards applied to receiver account.
»» rekey-tostringfalsenone[rekey] when included in a valid transaction, the accounts auth addr will be updated with this value and future signatures must be signed with the key represented by this address.
»» round-timeintegerfalsenoneTime when the block this transaction is in was confirmed.
»» senderstringtruenone[snd] Sender’s address.
»» sender-rewardsintegerfalsenone[rs] rewards applied to sender account.
»» signatureTransactionSignaturefalsenoneValidation signature associated with some data. Only one of the signatures should be provided.
»»» logicsigTransactionSignatureLogicsigfalsenone[lsig] Programatic transaction signature.

Definition:
data/transactions/logicsig.go
»»»» args[string]falsenone[arg] Logic arguments, base64 encoded.
»»»» logicstring(byte)truenone[l] Program signed by a signature or multi signature, or hashed to be the address of ana ccount. Base64 encoded TEAL program.
»»»» multisig-signatureTransactionSignatureMultisigfalsenone[msig] structure holding multiple subsignatures.

Definition:
crypto/multisig.go : MultisigSig
»»»»» subsignature[TransactionSignatureMultisigSubsignature]falsenone[subsig] holds pairs of public key and signatures.
»»»»»» public-keystring(byte)falsenone[pk]
»»»»»» signaturestring(byte)falsenone[s]
»»»»» thresholdintegerfalsenone[thr]
»»»»» versionintegerfalsenone[v]
»»»» signaturestring(byte)falsenone[sig] ed25519 signature.
»»» multisigTransactionSignatureMultisigfalsenone[msig] structure holding multiple subsignatures.

Definition:
crypto/multisig.go : MultisigSig
»»» sigstring(byte)falsenone[sig] Standard ed25519 signature.
»» state-proof-transactionTransactionStateProoffalsenoneFields for a state proof transaction.

Definition:
data/transactions/stateproof.go : StateProofTxnFields
»»» messageIndexerStateProofMessagefalsenonenone
»»»» block-headers-commitmentstring(byte)falsenone[b]
»»»» first-attested-roundintegerfalsenone[f]
»»»» latest-attested-roundintegerfalsenone[l]
»»»» ln-proven-weightintegerfalsenone[P]
»»»» voters-commitmentstring(byte)falsenone[v]
»»» state-proofStateProofFieldsfalsenone[sp] represents a state proof.

Definition:
crypto/stateproof/structs.go : StateProof
»»»» part-proofsMerkleArrayProoffalsenonenone
»»»»» hash-factoryHashFactoryfalsenonenone
»»»»»» hash-typeintegerfalsenone[t]
»»»»» path[string]falsenone[pth]
»»»»» tree-depthintegerfalsenone[td]
»»»» positions-to-reveal[integer]falsenone[pr] Sequence of reveal positions.
»»»» reveals[StateProofReveal]falsenone[r] Note that this is actually stored as a map[uint64] - Reveal in the actual msgp
»»»»» participantStateProofParticipantfalsenonenone
»»»»»» verifierStateProofVerifierfalsenonenone
»»»»»»» commitmentstring(byte)falsenone[cmt] Represents the root of the vector commitment tree.
»»»»»»» key-lifetimeintegerfalsenone[lf] Key lifetime.
»»»»»» weightintegerfalsenone[w]
»»»»» positionintegerfalsenoneThe position in the signature and participants arrays corresponding to this entry.
»»»»» sig-slotStateProofSigSlotfalsenonenone
»»»»»» lower-sig-weightintegerfalsenone[l] The total weight of signatures in the lower-numbered slots.
»»»»»» signatureStateProofSignaturefalsenonenone
»»»»»»» falcon-signaturestring(byte)falsenonenone
»»»»»»» merkle-array-indexintegerfalsenonenone
»»»»»»» proofMerkleArrayProoffalsenonenone
»»»»»»» verifying-keystring(byte)falsenone[vkey]
»»»» salt-versionintegerfalsenone[v] Salt version of the merkle signature.
»»»» sig-commitstring(byte)falsenone[c]
»»»» sig-proofsMerkleArrayProoffalsenonenone
»»»» signed-weightintegerfalsenone[w]
»»» state-proof-typeintegerfalsenone[sptype] Type of the state proof. Integer representing an entry defined in protocol/stateproof.go
»» tx-typestringtruenone[type] Indicates what type of transaction this is. Different types have different fields.

Valid types, and where their fields are stored:
* [pay] payment-transaction
* [keyreg] keyreg-transaction
* [acfg] asset-config-transaction
* [axfer] asset-transfer-transaction
* [afrz] asset-freeze-transaction
* [appl] application-transaction
* [stpf] state-proof-transaction
* [hb] heartbeat-transaction

Enumerated Values

PropertyValue
on-completionnoop
on-completionoptin
on-completioncloseout
on-completionclear
on-completionupdate
on-completiondelete
tx-typepay
tx-typekeyreg
tx-typeacfg
tx-typeaxfer
tx-typeafrz
tx-typeappl
tx-typestpf
tx-typehb

Status Code 400

NameTypeRequiredRestrictionsDescription
» dataobjectfalsenonenone
» messagestringtruenonenone

Status Code 500

NameTypeRequiredRestrictionsDescription
» dataobjectfalsenonenone
» messagestringtruenonenone