Transactions

[INDEXER] Search for Transactions

post

/search/transactions allows the caller to search for transactions that meet certain conditions. Some conditions include matching a transaction hash, containing an operation with a certain status, or containing an operation that affects a certain account. /search/transactions is considered an "indexer" endpoint and Rosetta implementations are not required to complete it to adhere to the Rosetta spec. However, any Rosetta "indexer" MUST support this endpoint.

Body

SearchTransactionsRequest is used to search for transactions matching a set of provided conditions in canonical blocks.

operatorstring · enumOptional

Operator is used by query-related endpoints to determine how to apply conditions. If this field is not populated, the default and value will be used.

Possible values:
max_blockinteger · int64Optional

max_block is the largest block index to consider when searching for transactions. If this field is not populated, the current block is considered the max_block. If you do not specify a max_block, it is possible a newly synced block will interfere with paginated transaction queries (as the offset could become invalid with newly added rows).

Example: 5
offsetinteger · int64Optional

offset is the offset into the query result to start returning transactions. If any search conditions are changed, the query offset will change and you must restart your search iteration.

Example: 5
limitinteger · int64Optional

limit is the maximum number of transactions to return in one call. The implementation may return <= limit transactions.

Example: 5
statusstringOptional

status is the network-specific operation type.

Example: reverted
typestringOptional

type is the network-specific operation type.

Example: transfer
addressstringOptional

address is AccountIdentifier.Address. This is used to get all transactions related to an AccountIdentifier.Address, regardless of SubAccountIdentifier.

Example: 0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347
successbooleanOptional

success is a synthetic condition populated by parsing network-specific operation statuses (using the mapping provided in /network/options).

Responses
200
Expected response to a valid request
application/json
post
POST /search/transactions HTTP/1.1
Host: 
Content-Type: application/json
Accept: */*
Content-Length: 823

{
  "network_identifier": {
    "blockchain": "bitcoin",
    "network": "mainnet",
    "sub_network_identifier": {
      "network": "shard 1",
      "metadata": {
        "producer": "0x52bc44d5378309ee2abf1539bf71de1b7d7be3b5"
      }
    }
  },
  "operator": "or",
  "max_block": 5,
  "offset": 5,
  "limit": 5,
  "transaction_identifier": {
    "hash": "0x2f23fd8cca835af21f3ac375bac601f97ead75f2e79143bdf71fe2c4be043e8f"
  },
  "account_identifier": {
    "address": "0x3a065000ab4183c6bf581dc1e55a605455fc6d61",
    "sub_account": {
      "address": "0x6b175474e89094c44da98b954eedeac495271d0f",
      "metadata": {}
    },
    "metadata": {}
  },
  "coin_identifier": {
    "identifier": "0x2f23fd8cca835af21f3ac375bac601f97ead75f2e79143bdf71fe2c4be043e8f:1"
  },
  "currency": {
    "symbol": "BTC",
    "decimals": 8,
    "metadata": {
      "Issuer": "Satoshi"
    }
  },
  "status": "reverted",
  "type": "transfer",
  "address": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
  "success": true
}
{
  "transactions": [
    {
      "block_identifier": {
        "index": 1123941,
        "hash": "0x1f2cc6c5027d2f201a5453ad1119574d2aed23a392654742ac3c78783c071f85"
      },
      "transaction": {
        "transaction_identifier": {
          "hash": "0x2f23fd8cca835af21f3ac375bac601f97ead75f2e79143bdf71fe2c4be043e8f"
        },
        "operations": [
          {
            "operation_identifier": {
              "index": 5,
              "network_index": 0
            },
            "related_operations": [
              {
                "index": 1
              },
              {
                "index": 2
              }
            ],
            "type": "Transfer",
            "status": "Reverted",
            "account": {
              "address": "0x3a065000ab4183c6bf581dc1e55a605455fc6d61",
              "sub_account": {
                "address": "0x6b175474e89094c44da98b954eedeac495271d0f",
                "metadata": {}
              },
              "metadata": {}
            },
            "amount": {
              "value": "1238089899992",
              "currency": {
                "symbol": "BTC",
                "decimals": 8,
                "metadata": {
                  "Issuer": "Satoshi"
                }
              },
              "metadata": {}
            },
            "coin_change": {
              "coin_identifier": {
                "identifier": "0x2f23fd8cca835af21f3ac375bac601f97ead75f2e79143bdf71fe2c4be043e8f:1"
              },
              "coin_action": "coin_created"
            },
            "metadata": {
              "asm": "304502201fd8abb11443f8b1b9a04e0495e0543d05611473a790c8939f089d073f90509a022100f4677825136605d732e2126d09a2d38c20c75946cd9fc239c0497e84c634e3dd01 03301a8259a12e35694cc22ebc45fee635f4993064190f6ce96e7fb19a03bb6be2",
              "hex": "48304502201fd8abb11443f8b1b9a04e0495e0543d05611473a790c8939f089d073f90509a022100f4677825136605d732e2126d09a2d38c20c75946cd9fc239c0497e84c634e3dd012103301a8259a12e35694cc22ebc45fee635f4993064190f6ce96e7fb19a03bb6be2"
            }
          }
        ],
        "related_transactions": [
          {
            "network_identifier": {
              "blockchain": "bitcoin",
              "network": "mainnet",
              "sub_network_identifier": {
                "network": "shard 1",
                "metadata": {
                  "producer": "0x52bc44d5378309ee2abf1539bf71de1b7d7be3b5"
                }
              }
            },
            "transaction_identifier": {
              "hash": "0x2f23fd8cca835af21f3ac375bac601f97ead75f2e79143bdf71fe2c4be043e8f"
            },
            "direction": "forward"
          }
        ],
        "metadata": {
          "size": 12378,
          "lockTime": 1582272577
        }
      }
    }
  ],
  "total_count": 5,
  "next_offset": 5
}