---
api: 'Revolut X Crypto Exchange REST API'
---

# Get transaction details by ID

Retrieve details of a single transaction by its ID.

#### Rate limits

| Limit | Total tokens | Refresh rate | Token cost rule |
| :--- | ---: | :--- | :--- |
| **Per-second limit** | 100 | 100 tokens / second | 1 token / request |
| **Per-minute limit** | 1,000 | 1,000 tokens / minute | 1 token / request |

For retry guidance, see the `429 Rate Limit Exceeded` response below. The `Retry-After` header specifies the delay in milliseconds.

## Endpoint

GET `/1.0/transactions/{transaction_id}`

## Parameters

### header parameters

- `X-Revx-Timestamp` (integer, required)
  Current timestamp in Unix epoch milliseconds. 
  Used to prevent replay attacks and construct the signature.
  Provided with other authentication headers.

- `X-Revx-Signature` (string, required)
  The Ed25519 signature of the request. 
  Provided with other authentication headers.
  
  :::tip
  See **Authentication headers: Signing a request** for details on how to generate this.
  :::

### path parameters

- `transaction_id` (string, required)
  Unique identifier (UUID) of the transaction, as returned by the Get transactions endpoint.

## Returns

### 200

OK - Transaction details.

#### Response attributes

- `id` (string)
    Unique identifier for the transaction.
- `status` (enum)
    Status of the transaction.
    Possible enum values:

    - `pending`
    - `completed`
    - `cancelled`
    - `failed`
    - `reverted`
- `type` (enum)
    Type of the transaction.
    
    | Value | Description |
    | --- | --- |
    | **`buy`** | Purchase of an asset |
    | **`sell`** | Sale of an asset |
    | **`receive`** | Incoming transfer of an asset |
    | **`send`** | Outgoing transfer of an asset |
    | **`stake`** | Staking of an asset |
    | **`un_stake`** | Unstaking of a staked asset |
    | **`reward`** | External reward |
    Possible enum values:

    - `buy`
    - `sell`
    - `receive`
    - `send`
    - `stake`
    - `un_stake`
    - `reward`
- `source` (object, optional)
    Source (billing) side of the transaction — the amount and currency that were debited from your account,
    with the fee and account details when applicable.
  - `source.amount` (string)
      Net amount for this leg of the transaction.
      
      Returned as a string to prevent rounding errors.
  - `source.currency` (string)
      Currency for this leg of the transaction.
  - `source.fee` (string, optional)
      The fee amount charged for the transaction.
      This field may appear on either the source or destination leg, or be omitted entirely if no fee applies.
      
      Note: For external transactions, this value represents only the internal fee.
      Third-party vendor or network fees are not included.
  - `source.fee_currency` (string, optional)
      Currency in which the fee is charged.
  - `source.account` (object, optional)
      Account involved in a transaction leg, as returned in the Get transaction details by ID endpoint.
    - `source.account.type` (enum)
        Type of the account involved in a transaction leg.
        
        | Value | Description |
        | --- | --- |
        | **`revolut`** | Revolut account |
        | **`revolut_x`** | Revolut Crypto (current account) |
        | **`external_bank_account`** | External bank account |
        | **`external_crypto_wallet`** | External crypto wallet |
        Possible enum values:

        - `revolut`
        - `revolut_x`
        - `external_bank_account`
        - `external_crypto_wallet`
    - `source.account.display_name` (string, optional)
        Display name of the account.
    - `source.account.crypto_address` (string, optional)
        On-chain address of the external wallet.
        
        Present only for external crypto wallets.
- `destination` (object, optional)
    Destination side of the transaction — the amount and currency that were credited,
    with the fee and account details when applicable.
  - `destination.amount` (string)
      Net amount for this leg of the transaction.
      
      Returned as a string to prevent rounding errors.
  - `destination.currency` (string)
      Currency for this leg of the transaction.
  - `destination.fee` (string, optional)
      Fee charged for this leg of the transaction. Returned as a string to prevent rounding errors.
      
      Fees appear on at most one leg of a transaction: the leg whose currency matches `fee_currency`.
      For sends and receives where both legs use the same currency, the fee is shown on the source leg.
      Stake, un_stake, and reward transactions, as well as external top-ups (crypto or bank), never include fees.
  - `destination.fee_currency` (string, optional)
      Currency in which the fee is charged.
  - `destination.account` (object, optional)
      Account involved in a transaction leg, as returned in the Get transaction details by ID endpoint.
    - `destination.account.type` (enum)
        Type of the account involved in a transaction leg.
        
        | Value | Description |
        | --- | --- |
        | **`revolut`** | Revolut account |
        | **`revolut_x`** | Revolut Crypto (current account) |
        | **`external_bank_account`** | External bank account |
        | **`external_crypto_wallet`** | External crypto wallet |
        Possible enum values:

        - `revolut`
        - `revolut_x`
        - `external_bank_account`
        - `external_crypto_wallet`
    - `destination.account.display_name` (string, optional)
        Display name of the account.
    - `destination.account.crypto_address` (string, optional)
        On-chain address of the external wallet.
        
        Present only for external crypto wallets.
- `created_date` (integer)
    Timestamp when the transaction was created, in Unix epoch milliseconds.
- `processed_date` (integer, optional)
    Timestamp when the transaction was processed, in Unix epoch milliseconds.
    
    Absent while the transaction is still `pending`.
- `order_id` (string, optional)
    ID of the venue order behind a buy or sell transaction.
    
    Present only for buy and sell transactions executed as venue orders.
- `crypto_transaction_hash` (string, optional)
    On-chain transaction hash.
    
    Present for sends to and receives from external crypto wallets.
- `network` (string, optional)
    Blockchain network of the external crypto wallet.
    
    Present for sends to and receives from external crypto wallets.
- `description` (string, optional)
    Free-text description of the transaction, when present.

## Error responses

| HTTP status code | Description |
| --- | --- |
| 400 | Bad request |
| 401 | Unauthorized |
| 403 | Forbidden |
| 404 | Not Found |
| 409 | Conflict |
| 429 | Rate Limit Exceeded |
| 5XX | Server Error |
