---
title: "Get a single transaction"
description: "Retrieve details of a specific transaction by transaction ID."
protocol: rest
method: GET
endpoint: "/v1/transactions/{transaction_id}"
baseUrl: "https://api.gravv.xyz"
group: "Transactions"
auth:
  label: "Api-Key"
  name: "Api-Key"
  in: header
---

# Get a single transaction

<Endpoint method="GET" path="/v1/transactions/{transaction_id}" />

Retrieve details of a specific transaction by transaction ID.

## Path Parameters

<ParamField name="transaction_id" path="transaction_id" type="string" required>
  The ID of the transaction to retrieve
</ParamField>

## Responses

| Status | Description |
| --- | --- |
| `200` | Transaction details retrieved successfully |
| `400` | Bad request — invalid parameters or downstream error |

### 200 response

<ResponseField name="data" type="object">

  <Expandable title="properties">
    <ResponseField name="id" type="string">
      Unique transaction identifier
    </ResponseField>

    <ResponseField name="amount" type="string">
      Transaction amount as a decimal string
    </ResponseField>

    <ResponseField name="balance_before" type="string">
      Account balance before this transaction as a decimal string
    </ResponseField>

    <ResponseField name="balance_after" type="string">
      Account balance after this transaction as a decimal string
    </ResponseField>

    <ResponseField name="channel" type="string">
      Transaction channel

      Possible values: `avalanche`, `ethereum`, `solana`, `stellar`, `polygon`, `ach`, `wire`, `swift`, `bank_transfer`, `mobile_money`, `internal`, `swap`, `sepa`, `base`, `sui`, `tron`, `card`, `card_funding`, `card_withdrawal`, `card_payment`, `savings`, `savings_withdrawal`, `savings_interest`
    </ResponseField>

    <ResponseField name="client_metadata" type="string">
      Caller-supplied opaque JSON string stored verbatim for reference
    </ResponseField>

    <ResponseField name="client_reference" type="string">
      Client reference identifier
    </ResponseField>

    <ResponseField name="customer_id" type="string">
      Customer identifier
    </ResponseField>

    <ResponseField name="date_created" type="string">
      Transaction creation timestamp
    </ResponseField>

    <ResponseField name="description" type="string">
      Transaction description
    </ResponseField>

    <ResponseField name="direction" type="string">
      Transaction direction

      Possible values: `in`, `out`
    </ResponseField>

    <ResponseField name="external_id" type="string">
      External system identifier for this transaction
    </ResponseField>

    <ResponseField name="fee" type="string">
      Transaction fee as a decimal string
    </ResponseField>

    <ResponseField name="metadata" type="object">
      Additional transaction metadata

      <Expandable title="properties">
        <ResponseField name="authorize_time" type="string">
        </ResponseField>

        <ResponseField name="card_id" type="string">
        </ResponseField>

        <ResponseField name="card_type" type="string">
        </ResponseField>

        <ResponseField name="declined_reason" type="string">
        </ResponseField>

        <ResponseField name="iban" type="string">
        </ResponseField>

        <ResponseField name="merchant_category" type="string">
        </ResponseField>

        <ResponseField name="merchant_category_code" type="string">
        </ResponseField>

        <ResponseField name="merchant_city" type="string">
        </ResponseField>

        <ResponseField name="merchant_country" type="string">
        </ResponseField>

        <ResponseField name="merchant_id" type="string">
        </ResponseField>

        <ResponseField name="merchant_name" type="string">
        </ResponseField>

        <ResponseField name="payment_link_id" type="string">
        </ResponseField>

        <ResponseField name="recipient_blockchain_memo" type="string">
        </ResponseField>

        <ResponseField name="recipient_blockchain_network" type="string">
        </ResponseField>

        <ResponseField name="recipient_crypto_asset" type="string">
        </ResponseField>

        <ResponseField name="recipient_institution_id" type="string">
        </ResponseField>

        <ResponseField name="recipient_institution_name" type="string">
        </ResponseField>

        <ResponseField name="recipient_name" type="string">
        </ResponseField>

        <ResponseField name="recipient_number" type="string">
        </ResponseField>

        <ResponseField name="recipient_routing_number" type="string">
        </ResponseField>

        <ResponseField name="recipient_wallet_address" type="string">
        </ResponseField>

        <ResponseField name="sender_account_number" type="string">
        </ResponseField>

        <ResponseField name="sender_bank_name" type="string">
        </ResponseField>

        <ResponseField name="sender_blockchain_network" type="string">
        </ResponseField>

        <ResponseField name="sender_crypto_asset" type="string">
        </ResponseField>

        <ResponseField name="sender_name" type="string">
        </ResponseField>

        <ResponseField name="sender_number" type="string">
        </ResponseField>

        <ResponseField name="sender_routing_number" type="string">
        </ResponseField>

        <ResponseField name="sender_wallet_address" type="string">
        </ResponseField>

        <ResponseField name="session_id" type="string">
        </ResponseField>

        <ResponseField name="transaction_notes" type="string">
        </ResponseField>

        <ResponseField name="local_amount" type="string">
          Local equivalent amount as a decimal string
        </ResponseField>

        <ResponseField name="local_amount_currency" type="string">
          ISO 4217 currency code for local_amount
        </ResponseField>

        <ResponseField name="uetr" type="string">
          Unique end-to-end transaction reference (SWIFT UETR)
        </ResponseField>

        <ResponseField name="user_email" type="string">
        </ResponseField>

        <ResponseField name="user_firstname" type="string">
        </ResponseField>

        <ResponseField name="user_id" type="string">
        </ResponseField>

        <ResponseField name="user_lastname" type="string">
        </ResponseField>

      </Expandable>
    </ResponseField>

    <ResponseField name="receiving_account_id" type="string">
      Receiving account identifier
    </ResponseField>

    <ResponseField name="reference" type="string">
      Transaction reference
    </ResponseField>

    <ResponseField name="sending_account_id" type="string">
      Sending account identifier
    </ResponseField>

    <ResponseField name="sending_account_name" type="string">
      Display name of the sending account
    </ResponseField>

    <ResponseField name="sending_account_number" type="string">
      Account number of the sending account
    </ResponseField>

    <ResponseField name="status" type="string">
      Transaction status

      Possible values: `pending`, `completed`, `failed`, `waiting_approval`
    </ResponseField>

    <ResponseField name="tenant_id" type="string">
      Tenant identifier
    </ResponseField>

    <ResponseField name="transaction_type" type="string">
      Type of transaction

      Possible values: `internal_transfer`, `crypto_transfer`, `crypto_funding`, `global_remittance`, `card_funding`, `card_withdrawal`, `card_payment`, `account_funding`, `credit`, `debit`, `fee_charge`, `subscription_fee`, `invoice_payment`
    </ResponseField>

    <ResponseField name="tx_hash" type="string">
      Blockchain transaction hash
    </ResponseField>

  </Expandable>
</ResponseField>

<ResponseField name="error" type="string">
</ResponseField>

<ResponseExample>

```json title="Response"
{
  "data": {
    "amount": "5.50",
    "balance_before": "100.00",
    "balance_after": "105.50",
    "channel": "internal",
    "client_reference": "TRXNK0ZCA21",
    "customer_id": "bfe261a3-3630-4781-8249-6b0ab1123235",
    "date_created": "2025-12-08T12:53:43.845956Z",
    "description": "Onramp Deposit - Record: TRXNK0ZCA21",
    "direction": "in",
    "external_id": null,
    "fee": "0",
    "id": "f77465f8-0bcd-4199-a747-c2618208c907",
    "client_metadata": null,
    "metadata": {
      "authorize_time": null,
      "card_id": null,
      "card_type": null,
      "declined_reason": null,
      "iban": null,
      "merchant_category": null,
      "merchant_category_code": null,
      "merchant_city": null,
      "merchant_country": null,
      "merchant_id": null,
      "merchant_name": null,
      "payment_link_id": null,
      "recipient_blockchain_memo": null,
      "recipient_blockchain_network": null,
      "recipient_crypto_asset": null,
      "recipient_institution_id": null,
      "recipient_institution_name": null,
      "recipient_name": null,
      "recipient_number": null,
      "recipient_routing_number": null,
      "recipient_wallet_address": null,
      "sender_account_number": null,
      "sender_bank_name": null,
      "sender_blockchain_network": null,
      "sender_crypto_asset": null,
      "sender_name": "Madman Meek",
      "sender_number": null,
      "sender_routing_number": null,
      "sender_wallet_address": null,
      "session_id": null,
      "transaction_notes": null,
      "local_amount": null,
      "local_amount_currency": null,
      "uetr": null,
      "user_email": null,
      "user_firstname": null,
      "user_id": null,
      "user_lastname": null
    },
    "receiving_account_id": null,
    "reference": "e542f18d-3e0c-490d-be2f-023ed94f5b21",
    "sending_account_id": null,
    "sending_account_name": null,
    "sending_account_number": null,
    "status": "pending",
    "tenant_id": "89fa0d5e-3acf-4834-968f-6a9f0186ab59",
    "transaction_type": "internal_transfer",
    "tx_hash": null
  },
  "error": null
}
```

</ResponseExample>

### 400 response

<ResponseField name="data" type="any">
</ResponseField>

<ResponseField name="error" type="string">
</ResponseField>

<ResponseExample>

```json title="Response"
{
  "data": null,
  "error": "invalid query parameter"
}
```

</ResponseExample>

## Authorization

- **ApiKeyAuth**
