Transactions

List All Transactions

The paginated API is used to query for multiple transactions. You can apply filters through the query parameter to search for specific transactions.

Method: GET

https://ark.nownodes.io/api/transactions?page=1&limit=100

Example response: 200

{
    "meta": {
        "totalCountIsEstimate": true,
        "count": 100,
        "pageCount": 55166,
        "totalCount": 5516574,
        "next": "/transactions?page=2&limit=100&transform=true",
        "previous": null,
        "self": "/transactions?page=1&limit=100&transform=true",
        "first": "/transactions?page=1&limit=100&transform=true",
        "last": "/transactions?page=55166&limit=100&transform=true"
    },
    "data": [
        {
            "id": "b16f907a75837d65c62cc077a2e3e56d5201ef84080b281c0750377220b23bba",
            "blockId": "b01a54319468dbb9063184583b21dae1e07f4fa2169e62f93e378271468d2bdc",
            "version": 2,
            "type": 0,
            "typeGroup": 1,
            "amount": "29978000000",
            "fee": "10000000",
            "sender": "AKBzFwsDygjMvj4eFjXgsA7ScgrAFo8ujA",
            "senderPublicKey": "032eba192de77b51e0421394922939d4d53bc4b179613b333f551620c222e0888e",
            "recipient": "AbCNxeZTj6fixRGbrLTxUNMmTXUppvoxCT",
            "signature": "ee76eff2ab70d7e8ba7b6bee1ae0f7432242b12e9e59c083f3122328ed7b58ba06e21a38acda5a74707cb6e7a37fae258be7573ce6014d6b3b067b051071bf05",
            "confirmations": 141,
            "timestamp": {
                "epoch": 225858872,
                "unix": 1715960072,
                "human": "2024-05-17T15:34:32.000Z"
            },
            "nonce": "271"
        },
        {
            "id": "76c26e9546083e69ad666649edaec170876e9e3a8a98e2add2f6a574cdc88fc3",
            "blockId": "95b0486612678bf69fb6f409a6eaaa4f5d23e415354ed94e97c68e205df47d88",
            "version": 2,
            "type": 0,
            "typeGroup": 1,
            "amount": "275325610000",
            "fee": "5000000",
            "sender": "AJTxtojFYiwac7epppYkCCniTNP4MCFdBJ",
            "senderPublicKey": "033d645be3eaba4e4178fe48e1acec38bccfb880749fa2c39561f97691cb05969b",
            "recipient": "AcydwAoVkeSXD4vC9pyXUx57tgA7NkvTqX",
            "signature": "304402207ea026c4610da167921be042256ea2d843aedc0ab6cfe53dc7a58f9a662b704d022042dca3684627e2968285d4128e041fd9fbf102e88857a600cf9187119e3ba597",
            "confirmations": 187,
            "timestamp": {
                "epoch": 225858504,
                "unix": 1715959704,
                "human": "2024-05-17T15:28:24.000Z"
            },
            "nonce": "1456"
        },
...

Retrieve a Transaction

Obtaining a transaction by ID does not require advanced logic

Method: GET

https://ark.nownodes.io/api/transactions/b16f907a75837d65c62cc077a2e3e56d5201ef84080b281c0750377220b23bba

Example response: 200

{
    "data": {
        "id": "b16f907a75837d65c62cc077a2e3e56d5201ef84080b281c0750377220b23bba",
        "blockId": "b01a54319468dbb9063184583b21dae1e07f4fa2169e62f93e378271468d2bdc",
        "version": 2,
        "type": 0,
        "typeGroup": 1,
        "amount": "29978000000",
        "fee": "10000000",
        "sender": "AKBzFwsDygjMvj4eFjXgsA7ScgrAFo8ujA",
        "senderPublicKey": "032eba192de77b51e0421394922939d4d53bc4b179613b333f551620c222e0888e",
        "recipient": "AbCNxeZTj6fixRGbrLTxUNMmTXUppvoxCT",
        "signature": "ee76eff2ab70d7e8ba7b6bee1ae0f7432242b12e9e59c083f3122328ed7b58ba06e21a38acda5a74707cb6e7a37fae258be7573ce6014d6b3b067b051071bf05",
        "confirmations": 156,
        "timestamp": {
            "epoch": 225858872,
            "unix": 1715960072,
            "human": "2024-05-17T15:34:32.000Z"
        },
        "nonce": "271"
    }
}

List All Unconfirmed Transaction

Unconfirmed transactions have not been incorporated in the blockchain, but reside in the mempool. Although usually the mempool is cleared within minutes, during high network load a transaction with a low fee will live here for a considerable time. If you have set the transaction with a fee of near zero, it might not be picked up by a Delegate and will time out.

Method: GET

https://ark.nownodes.io/api/transactions/unconfirmed?page=1&limit=100

Example response: 200

{
    "meta": {
        "totalCountIsEstimate": false,
        "count": 0,
        "pageCount": 1,
        "totalCount": 0,
        "next": null,
        "previous": null,
        "self": "/transactions/unconfirmed?page=1&limit=100&transform=true",
        "first": "/transactions/unconfirmed?page=1&limit=100&transform=true",
        "last": "/transactions/unconfirmed?page=1&limit=100&transform=true"
    },
    "data": []
}

Get an Unconfirmed Transaction

As with confirmed transactions, you may query for unconfirmed transactions directly.

Method: GET

https://ark.nownodes.io/api/transactions/unconfirmed/b16f907a75837d65c62cc077a2e3e56d5201ef84080b281c0750377220b23bba

Example response: 404

{
    "statusCode": 404,
    "error": "Not Found",
    "message": "Transaction not found"
}

Broadcast Transactions

Creating the correct payload for a transaction is non-trivial, as it requires cryptographic functions and a specific serialization protocol.

Method: GET

https://ark.nownodes.io/api/transactions

Example response: 200

{
    "meta": {
        "totalCountIsEstimate": true,
        "count": 100,
        "pageCount": 55166,
        "totalCount": 5516574,
        "next": "/transactions?transform=true&page=2&limit=100",
        "previous": null,
        "self": "/transactions?transform=true&page=1&limit=100",
        "first": "/transactions?transform=true&page=1&limit=100",
        "last": "/transactions?transform=true&page=55166&limit=100"
    },
    "data": [
        {
            "id": "299b3c1a23e57f4487a6db827dbc8c3f7b05ce9bfd18c203661dba3587cc4490",
            "blockId": "59abe36f5345aaf61c679803b00b37a5447be2f59660ea04f49433f35a95e198",
            "version": 2,
            "type": 0,
            "typeGroup": 1,
            "amount": "29968000000",
            "fee": "10000000",
            "sender": "AbCNxeZTj6fixRGbrLTxUNMmTXUppvoxCT",
            "senderPublicKey": "030908c0587d2bc6ba34db1b4d9e571f8b6cd1bd1b9e11aafdfd73de8c1806e662",
            "recipient": "ATp5q7QzEnhkXk5Ca8bb7XtYuVZQnscL55",
            "signature": "304502210092f975b4fa57e43149f1e405d71572256001f17b3d2d7c8e2ad74112a165a6a202200f84d6b972ad04d3c9de5786639f92dd0fab0b5e1cb146bb480e452dcc537885",
            "confirmations": 30,
            "timestamp": {
                "epoch": 225860416,
                "unix": 1715961616,
                "human": "2024-05-17T16:00:16.000Z"
            },
            "nonce": "1"
        },
        {
            "id": "b16f907a75837d65c62cc077a2e3e56d5201ef84080b281c0750377220b23bba",
            "blockId": "b01a54319468dbb9063184583b21dae1e07f4fa2169e62f93e378271468d2bdc",
            "version": 2,
            "type": 0,
            "typeGroup": 1,
            "amount": "29978000000",
            "fee": "10000000",
            "sender": "AKBzFwsDygjMvj4eFjXgsA7ScgrAFo8ujA",
            "senderPublicKey": "032eba192de77b51e0421394922939d4d53bc4b179613b333f551620c222e0888e",
            "recipient": "AbCNxeZTj6fixRGbrLTxUNMmTXUppvoxCT",
            "signature": "ee76eff2ab70d7e8ba7b6bee1ae0f7432242b12e9e59c083f3122328ed7b58ba06e21a38acda5a74707cb6e7a37fae258be7573ce6014d6b3b067b051071bf05",
            "confirmations": 223,
            "timestamp": {
                "epoch": 225858872,
                "unix": 1715960072,
                "human": "2024-05-17T15:34:32.000Z"
            },
            "nonce": "271"
        },
...

Get Transaction Fees (Non-Dynamic)

The static transaction fees are significantly higher than the dynamic transaction fees. Use the node resource to find dynamic fees, and prefer using these.

Method: GET

https://ark.nownodes.io/api/transactions/fees

Example response: 200

{
    "data": {
        "1": {
            "transfer": "10000000",
            "secondSignature": "500000000",
            "delegateRegistration": "2500000000",
            "vote": "100000000",
            "multiSignature": "500000000",
            "ipfs": "500000000",
            "multiPayment": "10000000",
            "delegateResignation": "2500000000"
        },
        "2": {
            "entityRegistration": "5000000000",
            "entityResignation": "500000000",
            "entityUpdate": "500000000"
        }
    }
}

Get Transaction Types

The transaction types are network specific. ARK currently supports eight different types, but BridgeChains may define more or less if needed for their business purpose.

Method: GET

https://ark.nownodes.io/api/transactions/types

Example response: 200

{
    "data": {
        "1": {
            "Transfer": 0,
            "SecondSignature": 1,
            "DelegateRegistration": 2,
            "Vote": 3,
            "MultiSignature": 4,
            "Ipfs": 5,
            "MultiPayment": 6,
            "DelegateResignation": 7
        },
        "2": {
            "Entity": 6
        }
    }
}

Get Transaction Schemas

Get transaction schemas.

Method: GET

https://ark.nownodes.io/api/transactions/schemas

Example response: 200

{
    "data": {
        "1": {
            "0": {
                "id": {
                    "anyOf": [
                        {
                            "$ref": "transactionId"
                        },
                        {
                            "type": "null"
                        }
                    ]
                },
                "version": {
                    "enum": [
                        1,
                        2
                    ]
                },
                "network": {
                    "$ref": "networkByte"
                },
                "timestamp": {
                    "type": "integer",
                    "minimum": 0
                },
                "nonce": {
                    "bignumber": {
                        "minimum": 0
                    }
                },
                "typeGroup": {
                    "type": "integer",
                    "minimum": 0
                },
                "amount": {
                    "bignumber": {
                        "minimum": 1,
                        "bypassGenesis": true
                    }
                },
                "fee": {
                    "bignumber": {
                        "minimum": 1,
                        "bypassGenesis": true
                    }
                },
                "senderPublicKey": {
                    "$ref": "publicKey"
                },
...

Last updated