Home

Algod REST API. 4.7.4 to 5.0.0 API CHANGES

v1.0.0
Base URL
https://algo.nownodes.io

This page lists what changed in the Algod REST API between node versions 4.7.4 and 5.0.0. Only removed, added and changed methods are listed. Everything not mentioned here works exactly as described in the main Algod REST API reference.

Removed

  • POST /v2/teal/dryrun — removed in 5.0.0. Use POST /v2/transactions/simulate instead: it runs a transaction group against the current ledger state and reports the same execution information (opcode budget, logs, state deltas, optional execution trace).

Changed

  • POST /v2/transactions and POST /v2/transactions/async — new optional query parameter skip-pq-address-check.
  • POST /v2/transactions/simulate — new response fields group-usage, group-fees-paid and fees-paid.
  • GET /v2/accounts/{address}, GET /v2/accounts/{address}/applications/{application-id} and GET /v2/applications/{application-id} — application parameters may now carry family-box-access and foreign-box-reads.

About consensus version v42

Node 5.0.0 is the first release that supports consensus version v42 (post-quantum Falcon-1024 signatures, block load tracking, larger transactions and AVM v13). Mainnet upgrades to v42 at round 64318659. The response fields that v42 introduces — family-box-access and foreign-box-reads — are returned only after that round, and only for applications that set them. The new skip-pq-address-check parameter and the new fields of POST /v2/transactions/simulate are available immediately on 5.0.0, before the upgrade.

Authentication

api-keyAuthapiKey

API Key: api-key in header

Changelog algod 4.7.4 to 5.0.0

Accounts

Get account information.

GET
https://algo.nownodes.io/v2/accounts/{address}

Authorizations

ApiKeyAuthApiKeyAuth

api-key string

NOWNodes API key passed in the api-key header.

Changed in 5.0.0. Every entry of created-apps may now carry family-box-access and foreign-box-reads. Set only from consensus version v42 onwards. Mainnet upgrades to v42 at round 64318659, until then the field is never returned.

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

Parameters

formatstringjsonmsgpackquery

Configures whether the response object is JSON or MessagePack encoded. If not provided, defaults to JSON.

addressstringrequiredpath

An account public key

excludestringallnonequery

When set to all will exclude asset holdings, application local state, created asset parameters, any created application parameters. Defaults to none.

Response

200OK

AccountResponse wraps the Account type in a response.

400Bad Request

Bad request

401Unauthorized

Invalid API Token

500Internal Server Error

Internal Error

default

Unknown Error

Get account information about a given app.

GET
https://algo.nownodes.io/v2/accounts/{address}/applications/{application-id}

Authorizations

ApiKeyAuthApiKeyAuth

api-key string

NOWNodes API key passed in the api-key header.

Changed in 5.0.0. created-app may now carry family-box-access and foreign-box-reads. Set only from consensus version v42 onwards. Mainnet upgrades to v42 at round 64318659, until then the field is never returned.

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

Parameters

formatstringjsonmsgpackquery

Configures whether the response object is JSON or MessagePack encoded. If not provided, defaults to JSON.

addressstringrequiredpath

An account public key

application-idintegerrequiredpath

An application identifier

Response

200OK

AccountApplicationResponse describes the account's application local state and global state (AppLocalState and AppParams, if either exists) for a specific application ID. Global state will only be returned if the provided address is the application's creator.

400Bad Request

Malformed address or application ID

401Unauthorized

Invalid API Token

500Internal Server Error

Internal Error

default

Unknown Error

Applications

Get application information.

GET
https://algo.nownodes.io/v2/applications/{application-id}

Authorizations

ApiKeyAuthApiKeyAuth

api-key string

NOWNodes API key passed in the api-key header.

Changed in 5.0.0. params may now carry family-box-access and foreign-box-reads. Set only from consensus version v42 onwards. Mainnet upgrades to v42 at round 64318659, until then the field is never returned.

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

Parameters

application-idintegerrequiredpath

An application identifier

Response

200OK

Application information

400Bad Request

Bad Request

401Unauthorized

Invalid API Token

404Not Found

Application Not Found

500Internal Server Error

Internal Error

default

Unknown Error

Transactions

Broadcasts a raw transaction or transaction group to the network.

POST
https://algo.nownodes.io/v2/transactions

Authorizations

ApiKeyAuthApiKeyAuth

api-key string

NOWNodes API key passed in the api-key header.

Changed in 5.0.0. New optional query parameter skip-pq-address-check.

Body

application/x-binary

The byte encoded signed transaction to broadcast to network

string<binary>

Parameters

skip-pq-address-checkbooleanquery

Skip post-quantum address checks, including the check that rejects PQ authorizer and LogicSig escrow (TEAL v13 or later) whose address is an Edwards25519 curve point. This should only be used if you understand the risks and know what you are doing. Added in 5.0.0. Accepts true or false; any other value is rejected with 400.

Response

200OK

Transaction ID of the submission.

400Bad Request

Bad Request - Malformed Algorand transaction

401Unauthorized

Invalid API Token

500Internal Server Error

Internal Error

503Service Unavailable

Service Temporarily Unavailable

default

Unknown Error

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

POST
https://algo.nownodes.io/v2/transactions/async

Authorizations

ApiKeyAuthApiKeyAuth

api-key string

NOWNodes API key passed in the api-key header.

Changed in 5.0.0. New optional query parameter skip-pq-address-check.

Body

application/x-binary

The byte encoded signed transaction to broadcast to network

string<binary>

Parameters

skip-pq-address-checkbooleanquery

Skip post-quantum address checks, including the check that rejects PQ authorizer and LogicSig escrow (TEAL v13 or later) whose address is an Edwards25519 curve point. This should only be used if you understand the risks and know what you are doing. Added in 5.0.0. Accepts true or false; any other value is rejected with 400.

Response

200OK

Valid response

400Bad Request

Bad Request - Malformed Algorand transaction

401Unauthorized

Invalid API Token

500Internal Server Error

Internal Error

503Service Unavailable

Service Temporarily Unavailable

default

Unknown Error

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

POST
https://algo.nownodes.io/v2/transactions/simulate

Authorizations

ApiKeyAuthApiKeyAuth

api-key string

NOWNodes API key passed in the api-key header.

Changed in 5.0.0. The response carries three new fields: group-usage and group-fees-paid for every transaction group, and fees-paid for every transaction in it.

Body

application/json

The transactions to simulate, along with any other inputs.

application/jsonSimulateRequest

Request type for simulation endpoint.

allow-empty-signaturesboolean

Allows transactions without signatures to be simulated as if they had correct signatures.

allow-more-loggingboolean

Lifts limits on log opcode usage during simulation.

allow-unnamed-resourcesboolean

Allows access to unnamed resources during simulation.

exec-trace-configSimulateTraceConfig

An object that configures simulation execution trace.

Show child attributes
enableboolean

A boolean option for opting in execution trace features simulation endpoint.

scratch-changeboolean

A boolean option enabling returning scratch slot changes together with execution trace during simulation.

stack-changeboolean

A boolean option enabling returning stack changes together with execution trace during simulation.

state-changeboolean

A boolean option enabling returning application state changes (global, local, and box changes) with the execution trace during simulation.

extra-opcode-budgetinteger

Applies extra opcode budget during simulation for each transaction group.

roundinteger

If provided, specifies the round preceding the simulation. State changes through this round will be used to run this simulation. Usually only the 4 most recent rounds will be available (controlled by the node config value MaxAcctLookback). If not specified, defaults to the latest available round.

txn-groupsArray<SimulateRequestTransactionGroup>required

The transaction groups to simulate.

Show child attributes
txnsArray<string>required

An atomic transaction group.

application/msgpackSimulateRequest

Request type for simulation endpoint.

allow-empty-signaturesboolean

Allows transactions without signatures to be simulated as if they had correct signatures.

allow-more-loggingboolean

Lifts limits on log opcode usage during simulation.

allow-unnamed-resourcesboolean

Allows access to unnamed resources during simulation.

exec-trace-configSimulateTraceConfig

An object that configures simulation execution trace.

Show child attributes
enableboolean

A boolean option for opting in execution trace features simulation endpoint.

scratch-changeboolean

A boolean option enabling returning scratch slot changes together with execution trace during simulation.

stack-changeboolean

A boolean option enabling returning stack changes together with execution trace during simulation.

state-changeboolean

A boolean option enabling returning application state changes (global, local, and box changes) with the execution trace during simulation.

extra-opcode-budgetinteger

Applies extra opcode budget during simulation for each transaction group.

roundinteger

If provided, specifies the round preceding the simulation. State changes through this round will be used to run this simulation. Usually only the 4 most recent rounds will be available (controlled by the node config value MaxAcctLookback). If not specified, defaults to the latest available round.

txn-groupsArray<SimulateRequestTransactionGroup>required

The transaction groups to simulate.

Show child attributes
txnsArray<string>required

An atomic transaction group.

Parameters

formatstringjsonmsgpackquery

Configures whether the response object is JSON or MessagePack encoded. If not provided, defaults to JSON.

Response

200OK

Result of a transaction group simulation.

400Bad Request

Bad Request

401Unauthorized

Invalid API Token

500Internal Server Error

Internal Error

503Service Unavailable

Service Temporarily Unavailable

default

Unknown Error