---
title: "Get transaction details"
method: GET
path: "/v1/domains/{domainId}/transactions/{transactionId}"
tags: ["Transactions"]
---

# Get transaction details

`GET /v1/domains/{domainId}/transactions/{transactionId}`

## Path parameters

- `domainId` string, uuid, required
- `transactionId` string, uuid, required

## Response `200`

- CoreApiTransaction
  - `id` string, uuid, required
  - `ledgerId` string, required
  - `orderReference` CoreTransactionOrderReference
    - `id` string, uuid, required
    - `domainId` string, uuid, required
  - `relatedAccounts` CoreTransactionRelatedAccountReference[], required
    - `id` string, uuid, required
    - `domainId` string, uuid, required
    - `sender` boolean, required
  - `processing` union
    - CoreApiTransactionProcessingDetailsBroadcasting
      - `hint` 'CurrentlyFeesTooSmall' | 'CurrentlyRejectedByLedger' | 'InternalError' | 'TransientIssue'
      - `status` 'Broadcasting', required
    - CoreApiTransactionProcessingDetailsCompleted
      - `status` 'Completed', required
    - CoreApiTransactionProcessingDetailsFailed
      - `hint` 'AccountAlreadyActivatedOnLedger' | 'BroadcastExpired' | 'InternalError' | 'InvalidAccountStateOnLedger' | 'InvalidAmount' | 'InvalidContractParameters' | 'InvalidDestination' | 'InvalidUserPayload' | 'LockedDestination' | 'OnLedgerFailure' | 'ReplacementTransactionFeesTooLow' | 'TransactionNotEligibleForReplacement' | 'TransactionRejected' | 'TransientIssue', required
      - `status` 'Failed', required
    - CoreApiTransactionProcessingDetailsInterrupted
      - `reason` string, required
      - `cause` 'Cancellation' | 'Internal' | 'Replacement', required
      - `status` 'Interrupted', required
    - CoreApiTransactionProcessingDetailsPending
      - `hint` 'InternalError' | 'TransientIssue'
      - `status` 'Pending', required
    - CoreApiTransactionProcessingDetailsPrepared
      - `status` 'Prepared', required
    - CoreApiTransactionProcessingDetailsPreparing
      - `hint` 'AccountAlreadyActivatedOnLedger' | 'AccountNotReadyOnLedger' | 'CurrentlyFeesTooLarge' | 'CurrentlyFeesTooSmall' | 'CurrentlyFundsTooFragmented' | 'CurrentlyNotEnoughFunds' | 'CurrentlyUnusableDestination' | 'InternalError' | 'InvalidAccountStateOnLedger' | 'InvalidContractParameters' | 'InvalidDestination' | 'OnLedgerFailure' | 'TransactionEstimationFailure' | 'TransientIssue'
      - `status` 'Preparing', required
    - CoreApiTransactionProcessingDetailsReserved
      - `status` 'Reserved', required
  - `registeredAt` string, date-time, required
  - `ledgerTransactionData` CoreLedgerTransactionData
    - `ledgerStatus` 'Detected' | 'Confirmed' | 'Expired' | 'Replaced', required
    - `failure` 'FailedOnChain' | 'PartiallyFailedOnChain'
    - `ledgerTransactionId` string, required
    - `rawTransaction` string
    - `blockTime` string, date-time
    - `statusLastUpdatedAt` string, date-time, required
    - `providerStatusLastUpdatedAt` string, date-time
    - `ledgerData` union
      - CoreOnLedgerDataBitcoin
        - `inputs` CoreBitcoinOnLedgerDataInput[], required
          - `accountReference` CoreAccountReference
            - `id` string, uuid, required
            - `domainId` string, uuid, required
          - `address` string
          - `index` integer, required
          - `scriptPubKey` string
          - `transactionHash` string
        - `outputs` CoreBitcoinOnLedgerDataOutput[], required
          - `accountReference` CoreAccountReference
            - `id` string, uuid, required
            - `domainId` string, uuid, required
          - `address` string
          - `amount` string, required — This field is a large integer that can be positive or zero. It is represented as a string because it may contain value that cannot be expressed with JSON number without a loss of precision.
          - `index` integer, required
          - `scriptPubKey` string, required
        - `type` 'Bitcoin', required
      - CoreOnLedgerDataEthereum
        - `logs` CoreEthereumLedgerLog[], required
          - `logIndex` string, required — This field is a large integer and represented as a string because it may contain value that cannot be expressed with JSON number without a loss of precision.
          - `address` string, required
          - `data` string, required
          - `topics` string[], required
        - `createdContractAddresses` string[]
        - `deletedContractAddresses` string[]
        - `type` 'Ethereum', required
      - CoreOnLedgerDataXrpl
        - `tokenData` CoreXrplOnLedgerTokenData
          - `issuanceId` string, required — XRPL MPToken Issuance ID (192-bit integer hex encoded)
        - `type` 'Xrpl', required

## Other responses

- `400` — Invalid value for: path parameter domainId, Invalid value for: path parameter transactionId
- `401` — One of: Invalid JWT (InvalidJwtError); User not authorized (PermissionDeniedError)
- `404` — Entity or Domain not found (EntityNotFoundError)

---

[API](https://skmtc.net/ripple/apis/ripple-custody-api.md) · [All operations](https://skmtc.net/ripple/apis/ripple-custody-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/ripple/ripple-custody-api/revisions/0b55c0ddf07a/schema)
