> ## 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. Its successor is [Parsed Events](https://www.helius.dev/docs/parsed-events.md), which decodes instructions through the IDL catalog and is available on all plans at 10 credits per request. The [migration guide](https://www.helius.dev/docs/parsed-events/guides/migrate-from-enhanced-transactions.md) covers the move step by step. You can also use [`getTransactionsForAddress`](https://www.helius.dev/docs/rpc/gettransactionsforaddress) for transaction history and backfill, and the [Wallet API](https://www.helius.dev/docs/wallet-api/overview.md) for human-readable wallet data.

## 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`](https://www.helius.dev/docs/api-reference/rpc/http/gettransaction) returns the raw transaction, and [`getTransactionsForAddress`](https://www.helius.dev/docs/rpc/gettransactionsforaddress) is the modern path for history.

## Quickstart

**1. Get your API key**

Sign up at [dashboard.helius.dev](https://dashboard.helius.dev) and copy your API key.

**2. POST signatures to /v0/transactions**

Pass an array of signatures in the `transactions` body field.

> [tab] 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] 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()
> ```

**3. Read the parsed response**

Each transaction comes back with a description, type, transfers, and event summaries. See [Response](#response) below.

## Request parameters

**transactions** `string[]` *required*

Array of transaction signatures to parse. Up to 100 signatures per request.

## 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](https://www.helius.dev/docs/api-reference/enhanced-transactions/gettransactions.md).

## Next steps

> [card] [Transaction History](https://www.helius.dev/docs/enhanced-transactions/transaction-history.md)
>
> Fetch human-readable transaction history for an address, with filtering and pagination.

> [card] [getTransactionsForAddress](https://www.helius.dev/docs/rpc/gettransactionsforaddress.md)
>
> The modern, Helius-native replacement for transaction history and backfill.

> [card] [Wallet API](https://www.helius.dev/docs/wallet-api/overview.md)
>
> REST endpoints for human-readable wallet data: balances, history, and transfers.

> [card] [Getting Data overview](https://www.helius.dev/docs/getting-data.md)
>
> Compare every Helius option for querying Solana data.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.