Algorand

Algorand is a decentralized blockchain technology network. Algorand is enabling the simple creation of next generation financial products, protocols and exchange of value across defi, financial institutions and governments.
Tatum supports 2 chains:

  • Mainnet - a regular live chain
  • Testnet - a chain used for testing purposes. Coins on the test chain have no value and can be obtained from a faucet, e.g. https://bank.testnet.algorand.network/

Examples of working with the Algorand blockchain can be found in Tatum ALGO SDK.

Generate Algorand wallet

1 credit per API call.


Tatum supports Algorand wallets.

SecurityX-API-Key
Request
query Parameters
mnemonic
string <= 500 characters

Mnemonic to use for generation of extended public and private keys.

Responses
200

OK

400

Bad Request. Validation failed for the given object in the HTTP Body or Request parameters.

401

Unauthorized. Not valid or inactive subscription key present in the HTTP Header.

500

Internal server error. There was an error on the server during the processing of the request.

get/v3/algorand/wallet
Request samples
Response samples
application/json
{
  • "address": "NTAESFCB3WOD7SAOL42KSPVARLB3JFA3MNX3AESWHYVT2RMYDVZI6YLG4Y",
  • "secret": "NBYMCVEEDFYV3TPWVRE6APE7PKHUJD4XAKXCKNCLKGUXOC3LFNJGZQCJCRA53HB7ZAHF6NFJH2QIVQ5USQNWG35QCJLD4KZ5IWMB24Q",
  • "mnemonic": "work syrup plug fluid moon regret wolf visa muffin supply erode lemon absurd voyage plastic blade baby stable burger glue dynamic expire cabin abandon pilot"
}

Generate Algorand account address from private key

1 credit per API call.


Generate Algorand account deposit address from private key.

SecurityX-API-Key
Request
path Parameters
priv
required
string

private key of wallet.

Example: NBYMCVEEDFYV3TPWVRE6APE7PKHUJD4XAKXCKNCLKGUXOC3LFNJGZQCJCRA53HB7ZAHF6NFJH2QIVQ5USQNWG35QCJLD4KZ5IWMB24Q
Responses
200

OK

400

Bad Request. Validation failed for the given object in the HTTP Body or Request parameters.

401

Unauthorized. Not valid or inactive subscription key present in the HTTP Header.

500

Internal server error. There was an error on the server during the processing of the request.

get/v3/algorand/address/{priv}
Request samples
Response samples
application/json
{
  • "address": "NTAESFCB3WOD7SAOL42KSPVARLB3JFA3MNX3AESWHYVT2RMYDVZI6YLG4Y"
}

Access Algorand Indexer GET node endpointsDeprecated

1 credit per API call

This endpoint is deprecated. Use the HTTP-based JSON RPC driver instead.


Use this endpoint URL as a http-based url to connect directly to the Algorand node provided by Tatum. You can check all available APIs here - https://developer.algorand.org/docs/rest-apis/indexer/.
Example call for Get Tx By ID is described in the response. https://developer.algorand.org/docs/rest-apis/indexer/#get-v2transactionstxid.
URL used for this call would be

https://api.tatum.io/v3/algorand/node/indexer/YOUR_API_KEY/v2/transactions/HNIQ76UTJYPOLZP5FWODYABBJPYPGJNEM2QEJSMDMQRWEKHEYJHQ

SecurityX-API-Key
Request
path Parameters
xApiKey
required
string

Tatum X-API-Key used for authorization.

Example: asdlkfjnqunalkwjfnq2oi303294857k
indexerPath
required
string

** path of indexer.

Example: v2/accounts
Responses
200

OK

400

Bad Request. Validation failed for the given object in the HTTP Body or Request parameters.

401

Unauthorized. Not valid or inactive subscription key present in the HTTP Header.

500

Internal server error. There was an error on the server during the processing of the request.

get/v3/algorand/node/indexer/{xApiKey}/{indexerPath}
Request samples
Response samples
application/json
{
  • "closeRewards": 0,
  • "closingAmount": 0,
  • "confirmedRound": 16775567,
  • "fee": 0.001,
  • "firstValid": 16775565,
  • "genesisHash": "SGO1GKSzyE7IEPItTxCByw9x8FmnrCDexi9/cOUJOiI=",
  • "genesisId": "testnet-v1.0",
  • "id": "HNIQ76UTJYPOLZP5FWODYABBJPYPGJNEM2QEJSMDMQRWEKHEYJHQ",
  • "intraRoundOffset": 1,
  • "lastValid": 16775571,
  • "note": "cGluZ3Bvbmf0Jyl21QrtLw==",
  • "paymentTransaction": { },
  • "receiverRewards": 0,
  • "roundTime": 1632167753,
  • "sender": "U6QEM4KM7KKGCLH4FELZBGJEVVSF556ELXHUOZC4ESPFS4O4V4VQXKQRXQ",
  • "senderRewards": 0,
  • "signature": { },
  • "txType": "pay"
}

Access Algorand Algod GET node endpointsDeprecated

1 credit per API call

This endpoint is deprecated. Use the HTTP-based JSON RPC driver instead.


Use this endpoint URL as a http-based url to connect directly to the Algorand node provided by Tatum. You can check al available APIs here - https://developer.algorand.org/docs/rest-apis/algod/v2/.
Example call for Get Block is described in the response. https://developer.algorand.org/docs/rest-apis/algod/v2/#get-v2blocksround.
URL used for this call would be

https://api.tatum.io/v3/algorand/node/algod/YOUR_API_KEY/v2/blocks/16775567

SecurityX-API-Key
Request
path Parameters
xApiKey
required
string

Tatum X-API-Key used for authorization.

Example: asdlkfjnqunalkwjfnq2oi303294857k
algodPath
required
string

** path of algod.

Example: v2/accounts
Responses
200

OK

400

Bad Request. Validation failed for the given object in the HTTP Body or Request parameters.

401

Unauthorized. Not valid or inactive subscription key present in the HTTP Header.

500

Internal server error. There was an error on the server during the processing of the request.

get/v3/algorand/node/algod/{xApiKey}/{algodPath}
Request samples
Response samples
application/json
{
  • "genesisHash": "SGO1GKSzyE7IEPItTxCByw9x8FmnrCDexi9/cOUJOiI=",
  • "genesisId": "testnet-v1.0",
  • "previousBlockHash": "JeLGQTbqnBsD3NXE8Bf1TpPFMFadEVVyHhkcD61ljAU=",
  • "rewards": {
    },
  • "round": 16775567,
  • "seed": "VPBpyrHyqbfqrHqJ3l39LXGN4qgEdNnE5kpJfk3vJtA=",
  • "timestamp": 1632167753,
  • "txns": [
    ],
  • "txn": "++MWW82yIvYQ0AEoPP0aDGGHGk/dSp5WHlbkf9SVU1U=",
  • "txnc": 27814470,
  • "upgradeState": {},
  • "upgradeVote": {
    }
}

Access Algorand Algod POST node endpointsDeprecated

2 credits per API call

This endpoint is deprecated. Use the HTTP-based JSON RPC driver instead.


Use this endpoint URL as a http-based url to connect directly to the Algorand node provided by Tatum. You can check al available APIs here - https://developer.algorand.org/docs/rest-apis/algod/v2/.
Example call for Broadcast a raw transaction is described in the response. https://developer.algorand.org/docs/rest-apis/algod/v2/#post-v2transactions.
URL used for this call would be

https://api.tatum.io/v3/algorand/node/algod/YOUR_API_KEY/v2/transactions

SecurityX-API-Key
Request
path Parameters
xApiKey
required
string

Tatum X-API-Key used for authorization.

Example: asdlkfjnqunalkwjfnq2oi303294857k
algodPath
required
string

** path of algod.

Example: v2/accounts
Request Body schema: application/json
Responses
200

OK

400

Bad Request. Validation failed for the given object in the HTTP Body or Request parameters.

401

Unauthorized. Not valid or inactive subscription key present in the HTTP Header.

500

Internal server error. There was an error on the server during the processing of the request.

post/v3/algorand/node/algod/{xApiKey}/{algodPath}
Request samples
application/json
{ }
Response samples
application/json
{
  • "txId": "X4VI2Q3SHG4RC3T2RNDCFHNPUL6WYX2ONWHJGLKNMBA4SVE5M4KQ"
}

Get Algorand Account balance

1 credit per API call.


Get Algorand account balance in ALGO.

SecurityX-API-Key
Request
path Parameters
address
required
string

Account address you want to get balance of

Example: TMETT6BXL3QUH7AH5TS6IONU7LVTLKIGG54CFCNPMQXWGRIZFIESZBYWP4
Responses
200

OK

400

Bad Request. Validation failed for the given object in the HTTP Body or Request parameters.

401

Unauthorized. Not valid or inactive subscription key present in the HTTP Header.

500

Internal server error. There was an error on the server during the processing of the request.

get/v3/algorand/account/balance/{address}
Request samples
Response samples
application/json
{
  • "assets": [
    ],
  • "balance": 1000
}

Get current block number

1 credit per API call.


Get Algorand current block number. This is the number of the latest block in the blockchain.

SecurityX-API-Key
Responses
200

OK

401

Unauthorized. Not valid or inactive subscription key present in the HTTP Header.

500

Internal server error. There was an error on the server during the processing of the request.

get/v3/algorand/block/current
Request samples
Response samples
application/json
16775567

Get Algorand block by block round number

1 credit per API call.


Get Algorand block by block round number.

SecurityX-API-Key
Request
path Parameters
roundNumber
required
number

Block round number

Example: 16775567
Responses
200

OK

400

Bad Request. Validation failed for the given object in the HTTP Body or Request parameters.

401

Unauthorized. Not valid or inactive subscription key present in the HTTP Header.

500

Internal server error. There was an error on the server during the processing of the request.

get/v3/algorand/block/{roundNumber}
Request samples
Response samples
application/json
{
  • "genesisHash": "SGO1GKSzyE7IEPItTxCByw9x8FmnrCDexi9/cOUJOiI=",
  • "genesisId": "testnet-v1.0",
  • "previousBlockHash": "JeLGQTbqnBsD3NXE8Bf1TpPFMFadEVVyHhkcD61ljAU=",
  • "rewards": {
    },
  • "round": 16775567,
  • "seed": "VPBpyrHyqbfqrHqJ3l39LXGN4qgEdNnE5kpJfk3vJtA=",
  • "timestamp": 1632167753,
  • "txns": [
    ],
  • "txn": "++MWW82yIvYQ0AEoPP0aDGGHGk/dSp5WHlbkf9SVU1U=",
  • "txnc": 27814470,
  • "upgradeState": {},
  • "upgradeVote": {
    }
}

Send Algos to an Algorand account

2 credits per API call

Send Algos from one Algorand address to the other one.

Signing a transaction

When sending Algos, you are charged a fee for the transaction, and you must sign the transaction with the private key of the blockchain address from which the fee will be deducted.

Providing the private key in the API is not a secure way of signing transactions, because the private key can be stolen or exposed. Your private keys should never leave your security perimeter. You should use the private keys only for testing a solution you are building on the testnet of a blockchain.

For signing transactions on the mainnet, we strongly recommend that you use the Tatum Key Management System (KMS) and provide the signature ID instead of the private key in the API. Alternatively, you can use the Tatum JavaScript client.

SecurityX-API-Key
Request
Request Body schema: application/json
One of:
from
required
string

The blockchain address of the sender

to
required
string

The blockchain address of the recipient

fee
string

The transaction fee in Algos

amount
required
string

The amount to send in Algos

note
string

The note for the recipient; must not contain spaces

fromPrivateKey
required
string

Private key of sender address. Private key, or signature Id must be present.

Responses
200

OK

400

Bad Request. Validation failed for the given object in the HTTP Body or Request parameters.

401

Unauthorized. Not valid or inactive subscription key present in the HTTP Header.

500

Internal server error. There was an error on the server during the processing of the request.

post/v3/algorand/transaction
Request samples
application/json
{
  • "from": "TMETT6BXL3QUH7AH5TS6IONU7LVTLKIGG54CFCNPMQXWGRIZFIESZBYWP4",
  • "to": "NTAESFCB3WOD7SAOL42KSPVARLB3JFA3MNX3AESWHYVT2RMYDVZI6YLG4Y",
  • "amount": "1",
  • "fromPrivateKey": "72TCV5BRQPBMSAFPYO3CPWVDBYWNGAYNMTW5QHENOMQF7I6QLNMJWCJZ7A3V5YKD7QD6ZZPEHG2PV2ZVVEDDO6BCRGXWIL3DIUMSUCI"
}
Response samples
application/json
{
  • "txId": "c83f8818db43d9ba4accfe454aa44fc33123d47a4f89d47b314d6748eb0e9bc9"
}

Enable receiving asset on account

2 credits per API call.


Enable accepting Algorand asset on the sender account.

This operation needs the private key of the blockchain address. No one should ever send it's own private keys to the internet because there is a strong possibility of stealing keys and loss of funds. In this method, it is possible to enter privateKey or signatureId. PrivateKey should be used only for quick development on testnet versions of blockchain when there is no risk of losing funds. In production, Tatum KMS should be used for the highest security standards, and signatureId should be present in the request. Alternatively, using the Tatum client library for supported languages.

SecurityX-API-Key
Request
Request Body schema: application/json
One of:
assetId
required
number

AssetID of the asset you wanna enable for the sender.

fromPrivateKey
required
string

Private key of sender address. Private key, or signature Id must be present.

fee
string

The transaction fee in Algos

Responses
200

OK

400

Bad Request. Validation failed for the given object in the HTTP Body or Request parameters.

401

Unauthorized. Not valid or inactive subscription key present in the HTTP Header.

500

Internal server error. There was an error on the server during the processing of the request.

post/v3/algorand/asset/receive
Request samples
application/json
{
  • "assetId": 116363571,
  • "fromPrivateKey": "72TCV5BRQPBMSAFPYO3CPWVDBYWNGAYNMTW5QHENOMQF7I6QLNMJWCJZ7A3V5YKD7QD6ZZPEHG2PV2ZVVEDDO6BCRGXWIL3DIUMSUCI"
}
Response samples
application/json
{
  • "txId": "c83f8818db43d9ba4accfe454aa44fc33123d47a4f89d47b314d6748eb0e9bc9"
}

Get Algorand Transaction

1 credit per API call.


Get Algorand transaction by transaction id.

SecurityX-API-Key
Request
path Parameters
txid
required
string

Transaction id

Example: LXEBXIBDAIF72NRI76SU252QSOGFCKEHTG7AI4P6W25V35PETU3Q
Responses
200

OK

400

Bad Request. Validation failed for the given object in the HTTP Body or Request parameters.

401

Unauthorized. Not valid or inactive subscription key present in the HTTP Header.

500

Internal server error. There was an error on the server during the processing of the request.

get/v3/algorand/transaction/{txid}
Request samples
Response samples
application/json
{
  • "closeRewards": 0,
  • "closingAmount": 0,
  • "confirmedRound": 16775567,
  • "fee": 0.001,
  • "firstValid": 16775565,
  • "genesisHash": "SGO1GKSzyE7IEPItTxCByw9x8FmnrCDexi9/cOUJOiI=",
  • "genesisId": "testnet-v1.0",
  • "id": "HNIQ76UTJYPOLZP5FWODYABBJPYPGJNEM2QEJSMDMQRWEKHEYJHQ",
  • "intraRoundOffset": 1,
  • "lastValid": 16775571,
  • "note": "cGluZ3Bvbmf0Jyl21QrtLw==",
  • "paymentTransaction": { },
  • "receiverRewards": 0,
  • "roundTime": 1632167753,
  • "sender": "U6QEM4KM7KKGCLH4FELZBGJEVVSF556ELXHUOZC4ESPFS4O4V4VQXKQRXQ",
  • "senderRewards": 0,
  • "signature": { },
  • "txType": "pay"
}

Get Algorand Transactions between from and toDeprecated

1 credit per API call

This endpoint is deprecated.


Get Algorand transaction by specified period of time.

SecurityX-API-Key
Request
path Parameters
from
required
string

Start timestamp in specified period of time

Example: 2021-05-01T20:44:39Z
to
required
string

End timestamp in specified period of time

Example: 2021-06-01T20:44:39Z
query Parameters
limit
string

page size for pagination

Example: limit=5
next
string

Algorand Next Token for getting the next page results

Example: next=ywAAAAAAAAAAAAAA
Responses
200

OK

400

Bad Request. Validation failed for the given object in the HTTP Body or Request parameters.

401

Unauthorized. Not valid or inactive subscription key present in the HTTP Header.

500

Internal server error. There was an error on the server during the processing of the request.

get/v3/algorand/transactions/{from}/{to}
Request samples
Response samples
application/json
{
  • "nextToken": "ywAAAAAAAAAAAAAA",
  • "transactions": [
    ]
}

Broadcast signed Algorand transaction

2 credits per API call.


Broadcast signed transaction to Algorand blockchain. This method is used internally from Tatum KMS or Tatum client libraries. It is possible to create custom signing mechanism and use this method only for broadcasting data to the blockchain.

SecurityX-API-Key
Request
Request Body schema: application/json
txData
required
string [ 1 .. 500000 ] characters

Raw signed transaction to be published to network.

signatureId
string <uuid>

ID of prepared payment template to sign. Required only, when broadcasting transaction signed by Tatum KMS.

index
number [ 0 .. 2147483647 ]

(Only if the signature ID is mnemonic-based and you run KMS v6.2 or later) The index of the address to send the assets from that was generated from the mnemonic

Responses
200

OK

400

Bad Request. Validation failed for the given object in the HTTP Body or Request parameters.

401

Unauthorized. Not valid or inactive subscription key present in the HTTP Header.

500

Internal server error. There was an error on the server during the processing of the request.

post/v3/algorand/broadcast
Request samples
application/json
{
  • "txData": "62BD544D1B9031EFC330A3E855CC3A0D51CA5131455C1AB3BCAC6D243F65460D"
}
Response samples
application/json
{
  • "txId": "GTNOIDCIHZLESKNQPJXOXE476ODYDNNQBA3N2Q75MYQ4SI4XL5SA",
  • "assetIndex": 87751984,
  • "confirmed": false,
  • "failed": false
}