Get All Transactions of a Wallet

·

In today's fast-evolving digital asset landscape, maintaining visibility over your blockchain activity is essential. Whether you're tracking personal investments, auditing financial records, or preparing for tax reporting, accessing the complete transaction history of a wallet gives you full control and transparency. This guide walks you through how to retrieve all transactions associated with any blockchain address—supporting networks like Ethereum, Bitcoin, and more—using developer-friendly tools and standardized responses.

By leveraging modern blockchain development kits such as TatumSDK, you can unify transaction queries across multiple chains with minimal code. This not only streamlines integration but also ensures consistent data formatting regardless of the underlying network.


How to Retrieve Wallet Transaction History

To fetch all transactions for a specific wallet address, developers can use the TatumSDK (@tatumio/tatum), a powerful software development kit that abstracts complex API calls into simple functions. It supports major blockchains including Ethereum, Bitcoin (mainnet and testnet), and various EVM-compatible networks.

The core method used is tatum.address.getTransactions(), which returns a structured list of transactions tied to a given address.

👉 Discover how easy it is to integrate blockchain transaction tracking into your app.

Step-by-Step Implementation

First, install the TatumSDK package via npm or yarn:

npm install @tatumio/tatum
# or
yarn add @tatumio/tatum

Then initialize the SDK for your desired network and query the transaction history:

Example: Fetch Ethereum Transactions

import { TatumSDK, Network } from '@tatumio/tatum';

(async () => {
  try {
    const tatum = await TatumSDK.init({ network: Network.ETHEREUM });
    
    const txs = await tatum.address.getTransactions({
      address: '0x514d547c8ac8ccbec29b5144810454bd7d3625ca', // Replace with your wallet address
    });

    console.log(txs.data);
  } catch (error) {
    console.error("Error fetching wallet transactions:", error);
  }
})();

This will return an array of transaction objects containing details such as:

Example Response

[
  {
    "address": "0x514d547c8ac8ccbec29b5144810454bd7d3625ca",
    "amount": "1",
    "blockNumber": 3325299,
    "chain": "ethereum-sepolia",
    "counterAddress": "0x39d2ba91296029afbe725436b4824ca803e27391",
    "hash": "0xf4ef4715f9ba61f1fb606a32775a7bf281ddf7858092aeb3e0e0484d01957058",
    "timestamp": 1681982316000,
    "transactionIndex": 1,
    "transactionSubtype": "incoming",
    "transactionType": "native"
  }
]

Cross-Chain Compatibility

One of the standout features of TatumSDK is its cross-chain consistency. The same function call works across different blockchains with little to no modification.

Example: Bitcoin Testnet

import { TatumSDK, Network } from '@tatumio/tatum';

(async () => {
  try {
    const tatum = await TatumSDK.init({ network: Network.BITCOIN_TESTNET });
    
    const txs = await tatum.address.getTransactions({
      address: 'tb1qrd9jz8ksy3qqm400vt296udlvk89z96p443mv0', // Your Bitcoin testnet address
    });

    console.log(txs.data);
  } catch (error) {
    console.error("Error fetching Bitcoin transactions:", error);
  }
})();

Even though Bitcoin uses UTXO (Unspent Transaction Output) architecture—making counterparty identification more complex—the response format remains standardized where possible.

Note: Some filtering options (like transactionDirection) are in alpha for UTXO-based chains and may yield inconsistent results.

Advanced Query Options

You can refine your transaction queries using optional parameters to improve performance and relevance.

Supported Filters in getTransactions()

👉 Learn how to filter and analyze smart contract interactions efficiently.

These filters allow granular control—perfect for applications requiring real-time dashboards, compliance checks, or portfolio tracking.


Understanding the Response Structure

Each transaction response follows a uniform schema for ease of parsing.

Key Fields in AddressTransaction

FieldDescription
chainBlockchain network (e.g., ethereum-sepolia)
blockNumberThe block in which the transaction was confirmed
hashUnique transaction identifier
transactionTypeOne of: incoming, outgoing, zero-transfer
amountValue transferred (positive for incoming, negative for outgoing)
timestampUnix timestamp in milliseconds
addressWallet address queried
counterAddressOpposite party in the transaction (not always available on UTXO chains)
tokenAddress / tokenIdRelevant for token/NFT transfers

This structure enables seamless integration into databases, analytics platforms, or user-facing interfaces.


Use Cases for Transaction History Retrieval

👉 See how professionals automate crypto transaction analysis at scale.


Frequently Asked Questions (FAQ)

Can I get transaction history for any blockchain?

Yes. TatumSDK supports major networks including Ethereum, Bitcoin, Polygon, Binance Smart Chain, and their respective testnets. As long as the blockchain is supported by Tatum’s infrastructure, you can retrieve transaction data using the same interface.

Is there rate limiting when fetching transactions?

API rate limits apply depending on your plan and usage tier. For high-volume applications, consider batching requests or using webhooks for real-time updates instead of polling.

Why is counterAddress sometimes missing?

On UTXO-based blockchains like Bitcoin, transactions can involve multiple inputs and outputs. Due to this complexity, identifying a single “counter” address isn’t always feasible, so the field may be omitted in those cases.

Can I filter transactions by token type?

Absolutely. Use the transactionTypes parameter to retrieve only NFT transfers (nft), fungible token movements (fungible), or native coin transactions (native). You can also specify a tokenAddress to focus on a particular ERC-20 or BEP-20 token.

Does this work for wallet addresses with thousands of transactions?

Yes, but performance depends on pagination. Use the page and pageSize parameters to manage large datasets efficiently and avoid timeouts.

Is my data secure when using TatumSDK?

TatumSDK acts as a client-side library that communicates with Tatum’s secure APIs. No private keys are ever exposed. Always ensure secure handling of API keys and sensitive information on your end.


Final Thoughts

Being able to retrieve all transactions of a wallet is a foundational capability in blockchain development and personal finance management. With tools like TatumSDK, developers can unify access across diverse networks while maintaining clean, predictable codebases.

Whether you're building a crypto tracker, audit tool, or personal dashboard, understanding how to query and interpret transaction data empowers you to create more transparent and user-centric applications in the Web3 ecosystem.

Core Keywords: wallet transaction history, blockchain transaction lookup, get wallet transactions, Ethereum transaction history, Bitcoin transaction history, TatumSDK, retrieve crypto transactions, transaction data API