tx_history

Transaction history (for address or by hash).

JSON-RPC

Send a POST request to the node CLI JSON-RPC endpoint (for example POST http://rpc.cellframe.net/). Set method to tx_history.

Two request formats are supported (see index for full rules):

Response field names depend on version: version 2 uses addr and total_tx_count; version 1 uses address and "Number of transaction" in count responses.

Version 1 — params string

{
  "method": "tx_history",
  "params": ["tx_history;-addr;Rj7J7MiX2bWy8sNyZ43aVJB3RACsGwXbLrabvgAVEMr3vBVoqJy85nKTE5ghwytbymAbQCiLV1VparMcyKetuLx6TUhhbsSVN6zTY1me;-net;Backbone;-chain;main;-limit;2;-head"],
  "id": 1,
  "version": 1
}

Version 2 — subcommand + arguments

{
  "method": "tx_history",
  "subcommand": "",
  "arguments": {
    "addr": "Rj7J7MiX2bWy8sNyZ43aVJB3RACsGwXbLrabvgAVEMr3vBVoqJy85nKTE5ghwytbymAbQCiLV1VparMcyKetuLx6TUhhbsSVN6zTY1me",
    "net": "Backbone",
    "chain": "main",
    "limit": "2",
    "head": ""
  },
  "id": 1,
  "version": 2
}

For -count, either set subcommand to "-count" or leave subcommand empty and pass "count": "" in arguments (both forms are equivalent).

Command forms

tx_history {-addr <addr> | {-w <wallet_name>} -net <net_name>} [-chain <chain_name>] [-limit <n>] [-offset <n>] [-head] [-brief] [-srv <service>] [-act <action>] [-H hex|base58] [-h]
tx_history -all -net <net_name> [-chain <chain_name>] [-limit <n>] [-offset <n>] [-head] [-brief] [-srv <service>] [-act <action>] [-H hex|base58] [-h]
tx_history -tx <tx_hash> -net <net_name> [-chain <chain_name>] [-H hex|base58]
tx_history -count -net <net_name> [-h]

Parameters

OptionDescription
-addr <addr>Wallet address (base58). Network can be inferred from the address if -net is omitted.
-w <wallet_name>Local wallet name on the node; address is resolved for the given network. Requires -net.
-net <net_name>Chain network name (required for -all, -count, -tx, and -w; optional when -addr alone determines the network).
-chain <chain_name>Chain name. Defaults to the network's default TX chain (typically main on Backbone/KelVPN).
-tx <tx_hash>Look up a single transaction by hash (hex or base58). Incompatible with -addr.
-allList all transactions in the chain (paginated).
-countReturn total transaction count for the network's default TX chain.
-limit <n>Maximum records to return (default: 1000).
-offset <n>Skip first N records (default: 0).
-headIterate from the head (newest) instead of the tail.
-briefOmit detailed transaction body fields in list responses.
-H hex|base58Hash output format (default: hex).
-srv <service>Filter by service name (address/all history).
-act <action>Filter by action type (address/all history).
-hHuman-readable table output (CLI only; JSON-RPC returns raw JSON).

JSON-RPC response envelope

tx_history is a JSON-response command. Successful and failed calls both return HTTP 200 with this envelope:

{
  "type": 2,
  "result": [ ... ],
  "id": 1,
  "version": 2
}

There is no top-level error field. Command errors appear inside result as objects with an errors array: { "code": <int>, "message": "<text>" }.

Examples (verified on rpc.cellframe.net)

History for address

Version 1:

{
  "method": "tx_history",
  "params": ["tx_history;-addr;Rj7J7MiX2bWy8sNyZ43aVJB3RACsGwXbLrabvgAVEMr3vBVoqJy85nKTE5ghwytbymAbQCiLV1VparMcyKetuLx6TUhhbsSVN6zTY1me;-net;Backbone;-chain;main;-limit;2;-head"],
  "id": 1,
  "version": 1
}

Version 2:

{
  "method": "tx_history",
  "subcommand": "",
  "arguments": {
    "addr": "Rj7J7MiX2bWy8sNyZ43aVJB3RACsGwXbLrabvgAVEMr3vBVoqJy85nKTE5ghwytbymAbQCiLV1VparMcyKetuLx6TUhhbsSVN6zTY1me",
    "net": "Backbone",
    "chain": "main",
    "limit": "2",
    "head": ""
  },
  "id": 1,
  "version": 2
}

History for wallet (local node only)

Version 1:

{
  "method": "tx_history",
  "params": ["tx_history;-w;my_wallet;-net;Backbone;-limit;10"],
  "id": 2,
  "version": 1
}

Version 2:

{
  "method": "tx_history",
  "subcommand": "",
  "arguments": {"w": "my_wallet", "net": "Backbone", "limit": "10"},
  "id": 2,
  "version": 2
}

-w requires the wallet file to exist on the RPC node. Public nodes such as rpc.cellframe.net do not have user wallets.

Single transaction by hash (accepted)

Version 1:

{
  "method": "tx_history",
  "params": ["tx_history;-tx;0x43EC9084DDD7CA81F83CB36E6963D39E1148ACE28C654CC202198A06B232CE5C;-net;Backbone;-chain;main"],
  "id": 3,
  "version": 1
}

Version 2:

{
  "method": "tx_history",
  "subcommand": "",
  "arguments": {
    "tx": "0x43EC9084DDD7CA81F83CB36E6963D39E1148ACE28C654CC202198A06B232CE5C",
    "net": "Backbone",
    "chain": "main"
  },
  "id": 3,
  "version": 2
}

Single transaction by hash (pending in mempool)

Version 1:

{
  "method": "tx_history",
  "params": ["tx_history;-tx;0xFEEDA89E98CE31F90DF1907F088B630FCCC2E940D1AF30BA1865A4736B37DFF9;-net;Backbone;-chain;main"],
  "id": 4,
  "version": 1
}

Version 2:

{
  "method": "tx_history",
  "subcommand": "",
  "arguments": {
    "tx": "0xFEEDA89E98CE31F90DF1907F088B630FCCC2E940D1AF30BA1865A4736B37DFF9",
    "net": "Backbone",
    "chain": "main"
  },
  "id": 4,
  "version": 2
}

All transactions

Version 1:

{
  "method": "tx_history",
  "params": ["tx_history;-all;-net;Backbone;-chain;main;-limit;2;-head"],
  "id": 5,
  "version": 1
}

Version 2:

{
  "method": "tx_history",
  "subcommand": "",
  "arguments": {"all": "", "net": "Backbone", "chain": "main", "limit": "2", "head": ""},
  "id": 5,
  "version": 2
}

Transaction count

Version 1 (response field "Number of transaction"):

{
  "method": "tx_history",
  "params": ["tx_history;-count;-net;Backbone"],
  "id": 6,
  "version": 1
}

Version 2 — form A (subcommand "-count"; response field total_tx_count):

{
  "method": "tx_history",
  "subcommand": "-count",
  "arguments": {"net": "Backbone"},
  "id": 6,
  "version": 2
}

Version 2 — form B (count flag in arguments):

{
  "method": "tx_history",
  "subcommand": "",
  "arguments": {"count": "", "net": "Backbone"},
  "id": 6,
  "version": 2
}

Typical responses

Address history

Two elements: transaction list array, then summary object.

{
  "type": 2,
  "result": [
    [
      { "addr": "Rj7J7MiX2bWy8sNyZ43aVJB3RACsGwXbLrabvgAVEMr3vBVoqJy85nKTE5ghwytbymAbQCiLV1VparMcyKetuLx6TUhhbsSVN6zTY1me" },
      { "limit": 2 },
      {
        "status": "ACCEPTED",
        "hash": "0x43EC9084DDD7CA81F83CB36E6963D39E1148ACE28C654CC202198A06B232CE5C",
        "atom_hash": "0x9FFF6C8686A93DB4616158E1E21F697380B160282312508D8085495C627F24B1",
        "ret_code": 0,
        "ret_code_str": "No error",
        "action": "take",
        "service": "wallet_shared",
        "batching": "false",
        "tx_created": "Tue, 07 Jul 2026 23:50:32 +0000",
        "data": [
          {
            "tx_type": "recv",
            "recv_coins": "524.974432117843343041",
            "recv_datoshi": "524974432117843343041",
            "token": "CELL",
            "source_address": "Rj7J7MiX2bWy8sNyadg47jAEJQuj6AF3drDg7o6Gc4zetrzkUNceEyYbSR3FDrx2PbPJn28u6wPZkS7xX2U9viSx2V8uNnio83nHLVJ7"
          }
        ]
      }
    ],
    {
      "network": "Backbone",
      "chain": "main",
      "tx_accept_count": 2,
      "tx_reject_count": 0,
      "tx_count": 2,
      "total_tx_count": 7
    }
  ],
  "id": 1,
  "version": 2
}

The first element of the inner array is the address header. A { "limit": N } object records pagination. Each transaction includes a data array with per-address send/recv breakdown when applicable.

All transactions (-all)

{
  "type": 2,
  "result": [
    [
      { "limit": 2 },
      {
        "status": "ACCEPTED",
        "hash": "0xECA1E788C30E76774AEB976399397CDECE80EB758C907884CF13156C7244ECEB",
        "ret_code": 0,
        "ret_code_str": "No error",
        "action": "UNKNOWN",
        "batching": "false",
        "first_transaction": "emit",
        "tx_created": "Thu, 07 Apr 2022 18:40:26 +0000",
        "token_ticker": "CELL",
        "tx_num": 1,
        "items": [ { "item_type": "in_ems", "ticker": "CELL" } ]
      }
    ],
    {
      "network": "Backbone",
      "chain": "main",
      "tx_sum": 2,
      "accepted_tx": 2,
      "rejected_tx": 0
    }
  ],
  "id": 5,
  "version": 2
}

Single transaction (-tx), accepted

{
  "type": 2,
  "result": [
    {
      "status": "ACCEPTED",
      "hash": "0x43EC9084DDD7CA81F83CB36E6963D39E1148ACE28C654CC202198A06B232CE5C",
      "atom_hash": "0x9FFF6C8686A93DB4616158E1E21F697380B160282312508D8085495C627F24B1",
      "confirmations": 2959,
      "ret_code": 0,
      "ret_code_str": "No error",
      "action": "take",
      "batching": "false",
      "first_transaction": "empty",
      "tx_created": "Tue, 07 Jul 2026 23:50:32 +0000",
      "token_ticker": "CELL",
      "items": [
        { "item_type": "in", "tx_prev_hash": "0x...", "tx_out_prev_idx": 4 },
        { "item_type": "out_std", "addr": "Rj7J7MiX2bWy8sNyZ43aVJB3RACsGwXbLrabvgAVEMr3vBVoqJy85nKTE5ghwytbymAbQCiLV1VparMcyKetuLx6TUhhbsSVN6zTY1me", "token": "CELL", "value": "524974432117843343041" },
        { "item_type": "sign", "sig_type": "sig_dil", "sender_addr": "Rj7J7MiX2bWy8sNyadg47jAEJQuj6AF3drDg7o6Gc4zetrzkUNceEyYbSR3FDrx2PbPJn28u6wPZkS7xX2U9viSx2V8uNnio83nHLVJ7" }
      ]
    }
  ],
  "id": 3,
  "version": 2
}

Single transaction (-tx), pending in mempool

{
  "type": 2,
  "result": [
    {
      "status": "pending",
      "source": "mempool",
      "hash": "0xFEEDA89E98CE31F90DF1907F088B630FCCC2E940D1AF30BA1865A4736B37DFF9",
      "ret_code": 0,
      "ret_code_str": "pending",
      "action": "UNKNOWN",
      "comment": "Transaction is found in mempool and has not been accepted yet"
    }
  ],
  "id": 4,
  "version": 2
}

Count (-count)

Version 2:

{
  "type": 2,
  "result": [
    { "total_tx_count": 1074658 }
  ],
  "id": 6,
  "version": 2
}

Version 1:

{
  "type": 2,
  "result": [
    { "Number of transaction": 1074658 }
  ],
  "id": 6,
  "version": 1
}

Errors

Missing required mode parameter:

{
  "type": 2,
  "result": [
    {
      "errors": [
        { "code": 2, "message": "tx_history requires parameter '-addr' or '-w' or '-tx'" }
      ]
    }
  ],
  "id": 1,
  "version": 2
}

Transaction not found:

{
  "type": 2,
  "result": [
    {
      "errors": [
        { "code": -1, "message": "TX hash 0x0000000000000000000000000000000000000000000000000000000000000001 not found in chains and mempool" },
        { "code": 12, "message": "something went wrong in tx_history" }
      ]
    }
  ],
  "id": 1,
  "version": 2
}

CLI table output (-h)

When -h is passed, the CLI client (s_print_for_tx_history_all) formats the JSON response as a table (hash, status, action, service, time). For address/wallet history it prints the address header, a numbered table, limit/offset, and summary counts. For -count it prints Total transactions count: N. JSON-RPC callers receive structured JSON regardless.