> ## Documentation Index
> Fetch the complete documentation index at: https://www.helius.dev/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Parse Transactions

> Parse Solana transaction signatures into structured, human-readable data with the Helius Enhanced Transactions API.

<Warning>
  The Enhanced Transactions API is a legacy product in maintenance mode. It still works and these pages remain available, but it is not receiving new parser types or feature work. For new builds, use [`getTransactionsForAddress`](/rpc/gettransactionsforaddress) for transaction history and backfill, and the [Wallet API](/wallet-api/overview) for human-readable wallet data.
</Warning>

## Overview

The Parse Transactions endpoint transforms raw transaction signatures into structured, human-readable information. Instead of manually decoding instruction data and account lists, you receive clear details about transfers, swaps, NFT activities, and more.

Send a `POST` request to `/v0/transactions` with up to 100 signatures per call.

## When to use this

* You have one or more transaction signatures and want pre-parsed, human-readable output.
* You are displaying a single transaction's details to a user (wallets, explorers).
* You need event summaries (SOL/token transfers, NFT activity) without writing your own parser.

For new builds, [`getTransaction`](/api-reference/rpc/http/gettransaction) returns the raw transaction, and [`getTransactionsForAddress`](/rpc/gettransactionsforaddress) is the modern path for history.

## Quickstart

<Steps>
  <Step title="Get your API key">
    Sign up at [dashboard.helius.dev](https://dashboard.helius.dev) and copy your API key.
  </Step>

  <Step title="POST signatures to /v0/transactions">
    Pass an array of signatures in the `transactions` body field.

    <Tabs>
      <Tab title="JavaScript">
        ```javascript theme={"system"}
        const parseTransaction = async () => {
          const url = "https://mainnet.helius-rpc.com/v0/transactions/?api-key=YOUR_API_KEY";

          const response = await fetch(url, {
            method: 'POST',
            headers: {
              'Content-Type': 'application/json',
            },
            body: JSON.stringify({
              transactions: ["5rfFLBUp5YPr6rC2g1KBBW8LGZBcZ8Lvs7gKAdgrBjmQvFf6EKkgc5cpAQUTwGxDJbNqtLYkjV5vS5zVK4tb6JtP"],
            }),
          });

          const data = await response.json();
          console.log("Parsed transaction:", data);
        };

        parseTransaction();
        ```
      </Tab>

      <Tab title="Python">
        ```python theme={"system"}
        import requests
        import json

        def parse_transaction():
            url = "https://mainnet.helius-rpc.com/v0/transactions/?api-key=YOUR_API_KEY"

            payload = {
                "transactions": ["5rfFLBUp5YPr6rC2g1KBBW8LGZBcZ8Lvs7gKAdgrBjmQvFf6EKkgc5cpAQUTwGxDJbNqtLYkjV5vS5zVK4tb6JtP"]
            }

            response = requests.post(url, json=payload)
            data = response.json()
            print("Parsed transaction:", data)

        parse_transaction()
        ```
      </Tab>
    </Tabs>
  </Step>

  <Step title="Read the parsed response">
    Each transaction comes back with a description, type, transfers, and event summaries. See [Response](#response) below.
  </Step>
</Steps>

## Request parameters

<ParamField body="transactions" type="string[]" required>
  Array of transaction signatures to parse. Up to 100 signatures per request.
</ParamField>

## Response

Each parsed transaction includes a human-readable description alongside structured transfer and event data:

```json theme={"system"}
{
  "description": "Transfer 0.1 SOL to FXvStt8aeQHMGKDgqaQ2HXWfJsXnqiKSoBEpHJahkuD",
  "type": "TRANSFER",
  "source": "SYSTEM_PROGRAM",
  "fee": 5000,
  "feePayer": "M2mx93ekt1fmXSVkTrUL9xVFHkmME8HTUi5Cyc5aF7K",
  "signature": "5rfFLBUp5YPr6rC2g1KBBW8LGZBcZ8Lvs7gKAdgrBjmQvFf6EKkgc5cpAQUTwGxDJbNqtLYkjV5vS5zVK4tb6JtP",
  "slot": 171341028,
  "timestamp": 1674080473,
  "nativeTransfers": [
    {
      "fromUserAccount": "M2mx93ekt1fmXSVkTrUL9xVFHkmME8HTUi5Cyc5aF7K",
      "toUserAccount": "FXvStt8aeQHMGKDgqaQ2HXWfJsXnqiKSoBEpHJahkuD",
      "amount": 100000000
    }
  ],
  "events": {
    "sol": {
      "from": "M2mx93ekt1fmXSVkTrUL9xVFHkmME8HTUi5Cyc5aF7K",
      "to": "FXvStt8aeQHMGKDgqaQ2HXWfJsXnqiKSoBEpHJahkuD",
      "amount": 0.1
    }
  }
}
```

Each parsed transaction includes:

* **`description`** — human-readable summary of what happened.
* **`type`** — transaction category (`TRANSFER`, `SWAP`, `NFT_SALE`, and others).
* **`source`** — the program that executed the transaction.
* **`fee`** / **`feePayer`** — transaction fee in lamports and the account that paid it.
* **`nativeTransfers`** — SOL movements between accounts.
* **`tokenTransfers`** — SPL token movements.
* **`events`** — high-level event summaries.
* **`slot`** / **`timestamp`** — when the transaction was processed.

For the full field catalog and all supported transaction types, see the [Parse Transactions API reference](/api-reference/enhanced-transactions/gettransactions).

## Next steps

<CardGroup cols={2}>
  <Card title="Transaction History" icon="clock-rotate-left" href="/enhanced-transactions/transaction-history">
    Fetch human-readable transaction history for an address, with filtering and pagination.
  </Card>

  <Card title="getTransactionsForAddress" icon="clock-rotate-left" href="/rpc/gettransactionsforaddress">
    The modern, Helius-native replacement for transaction history and backfill.
  </Card>

  <Card title="Wallet API" icon="wallet" href="/wallet-api/overview">
    REST endpoints for human-readable wallet data: balances, history, and transfers.
  </Card>

  <Card title="Getting Data overview" icon="database" href="/getting-data">
    Compare every Helius option for querying Solana data.
  </Card>
</CardGroup>
