Algod REST API. 4.7.4 to 5.0.0 API CHANGES
v1.0.0https://algo.nownodes.ioThis 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. UsePOST /v2/transactions/simulateinstead: 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/transactionsandPOST /v2/transactions/async— new optional query parameterskip-pq-address-check.POST /v2/transactions/simulate— new response fieldsgroup-usage,group-fees-paidandfees-paid.GET /v2/accounts/{address},GET /v2/accounts/{address}/applications/{application-id}andGET /v2/applications/{application-id}— application parameters may now carryfamily-box-accessandforeign-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-keyAuthapiKeyAPI Key: api-key in header
Changelog algod 4.7.4 to 5.0.0
Accounts
Get account information.
Authorizations
ApiKeyAuthApiKeyAuthapi-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
formatstringjsonmsgpackqueryConfigures whether the response object is JSON or MessagePack encoded. If not provided, defaults to JSON.
addressstringrequiredpathAn account public key
excludestringallnonequeryWhen set to all will exclude asset holdings, application local state, created asset parameters, any created application parameters. Defaults to none.
Response
AccountResponse wraps the Account type in a response.
Bad request
Invalid API Token
Internal Error
Unknown Error
Get account information about a given app.
Authorizations
ApiKeyAuthApiKeyAuthapi-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
formatstringjsonmsgpackqueryConfigures whether the response object is JSON or MessagePack encoded. If not provided, defaults to JSON.
addressstringrequiredpathAn account public key
application-idintegerrequiredpathAn application identifier
Response
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.
Malformed address or application ID
Invalid API Token
Internal Error
Unknown Error
Applications
Get application information.
Authorizations
ApiKeyAuthApiKeyAuthapi-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-idintegerrequiredpathAn application identifier
Response
Application information
Bad Request
Invalid API Token
Application Not Found
Internal Error
Unknown Error
Transactions
Broadcasts a raw transaction or transaction group to the network.
Authorizations
ApiKeyAuthApiKeyAuthapi-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
The byte encoded signed transaction to broadcast to network
Parameters
skip-pq-address-checkbooleanquerySkip 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
Transaction ID of the submission.
Bad Request - Malformed Algorand transaction
Invalid API Token
Internal Error
Service Temporarily Unavailable
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.
Authorizations
ApiKeyAuthApiKeyAuthapi-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
The byte encoded signed transaction to broadcast to network
Parameters
skip-pq-address-checkbooleanquerySkip 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
Valid response
Bad Request - Malformed Algorand transaction
Invalid API Token
Internal Error
Service Temporarily Unavailable
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.
Authorizations
ApiKeyAuthApiKeyAuthapi-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
The transactions to simulate, along with any other inputs.
application/jsonSimulateRequestRequest type for simulation endpoint.
allow-empty-signaturesbooleanAllows transactions without signatures to be simulated as if they had correct signatures.
allow-more-loggingbooleanLifts limits on log opcode usage during simulation.
allow-unnamed-resourcesbooleanAllows access to unnamed resources during simulation.
exec-trace-configSimulateTraceConfigAn object that configures simulation execution trace.
extra-opcode-budgetintegerApplies extra opcode budget during simulation for each transaction group.
roundintegerIf 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>requiredThe transaction groups to simulate.
application/msgpackSimulateRequestRequest type for simulation endpoint.
allow-empty-signaturesbooleanAllows transactions without signatures to be simulated as if they had correct signatures.
allow-more-loggingbooleanLifts limits on log opcode usage during simulation.
allow-unnamed-resourcesbooleanAllows access to unnamed resources during simulation.
exec-trace-configSimulateTraceConfigAn object that configures simulation execution trace.
extra-opcode-budgetintegerApplies extra opcode budget during simulation for each transaction group.
roundintegerIf 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>requiredThe transaction groups to simulate.
Parameters
formatstringjsonmsgpackqueryConfigures whether the response object is JSON or MessagePack encoded. If not provided, defaults to JSON.
Response
Result of a transaction group simulation.
Bad Request
Invalid API Token
Internal Error
Service Temporarily Unavailable
Unknown Error