---
title: "Get a transaction by id"
method: GET
path: "/transactions/{transaction_id}"
tags: ["Transactions"]
---

# Get a transaction by id

`GET /transactions/{transaction_id}`

This method returns the transaction that matches the entered ID.

## Path parameters

- `transaction_id` integer, required

## Response `200`

Transaction object

- Transaction
  - `account_id` integer, required
  - `account_index` integer, required
  - `amount` string, nullable — the transaction amount, in base units
  - `block` Block
    - `details` object, nullable — The block's details
    - `hash` string, required
    - `height` integer, required
    - `time` string, date-time, required
  - `broadcast_on` string, date-time, nullable
  - `coin_fields` union
    - BitcoinFields
      - `fees_per_byte` string, nullable — fees per bytes
      - `type` 'Bitcoin', required
      - `utxo_picking_strategy` 'null' | 'DEEP_OUTPUTS_FIRST' | 'MERGE_OUTPUTS' | 'OPTIMIZE_SIZE', nullable — UTXO strategy used for this transaction
    - CardanoCoinFields
      - `type` 'Cardano', required
    - EthereumAndEvmFieldsLegacy
      - `contract_deployment` EthereumContractDeploymentFields
        - `creation_bytecode` string, nullable — The contract compiled bytecode
      - `contract_interaction` EthereumSmartContractFields
        - `contract_data` string, required — The transaction data provided to the smart contract, encoded according to the ABI specification
        - `contract_name` string, nullable — The Etherscan name of the smart contract executed
        - `dapp` string, nullable — The name of the Ledger Enterprise DApp
        - `function_arguments` object, nullable — The JSON object with the arguments for the smart contract function execution, as per the contract's ABI specification.
        - `function_name` string, nullable — The name of the smart contract function executed, as per the contract's ABI specification.
        - `smart_contract_interaction_type` string, nullable — The internal Ledger Enterprise type for the contract interaction
      - `gas_limit` string, required — gas limit in wei
      - `gas_price` string, required — gas price in wei
      - `type` string
    - PolkadotFields1
      - `tx_parameters` union, required — Fields for specific transaction types
        - PolkadotBondFields
          - `controller` string, required — Address of controller account
          - `is_proxy` boolean, nullable — Is the transaction realized via proxy ?
          - `payee` string, required — Rewards destination
          - `real` string, nullable — In the case of a proxied transaction, address of the proxied account.
          - `type` string
        - PolkadotSetControllerFields
          - `controller` string, required — Address of controller account
          - `is_proxy` boolean, nullable — Is the transaction realized via proxy ?
          - `real` string, nullable — In the case of a proxied transaction, address of the proxied account.
          - `type` string
        - PolkadotSetPayeeFields
          - `is_proxy` boolean, nullable — Is the transaction realized via proxy ?
          - `payee` string, required — Rewards destination
          - `real` string, nullable — In the case of a proxied transaction, address of the proxied account.
          - `type` string
        - PolkadotAddProxyFields
          - `is_proxy` boolean, nullable — Is the transaction realized via proxy ?
          - `kind` 'Staking', required — Kind of proxy to add
          - `proxy` string, required — Address of the proxy to add
          - `real` string, nullable — In the case of a proxied transaction, address of the proxied account.
          - `type` string
        - PolkadotKillAnonymousFields
          - `ext_index` integer, required — Extrinsic index of the proxy creation extrinsic
          - `height` integer, required — Block height of the proxy creation extrinsic
          - `index` integer, required — Disambiguation index of the proxy, usually 0
          - `is_proxy` boolean, nullable — Is the transaction realized via proxy ?
          - `kind` string, required — Type of the proxy to kill
          - `real` string, nullable — In the case of a proxied transaction, address of the proxied account.
          - `type` string
        - PolkadotAnonymousProxyFields
          - `anonymousproxy_address` string, nullable — Address of the proxy created
          - `is_proxy` boolean, nullable — Is the transaction realized via proxy ?
          - `kind` string, required — Type of the proxy to create
          - `real` string, nullable — In the case of a proxied transaction, address of the proxied account.
          - `type` string
        - PolkadotCommonFields
          - `is_proxy` boolean, nullable — Is the transaction realized via proxy ?
          - `real` string, nullable — In the case of a proxied transaction, address of the proxied account.
      - `type` 'Polkadot', required
    - RippleFields
      - `destination_tag` integer, nullable — ripple destination tag
      - `type` 'Ripple', required
    - SolanaFields
      - `tx_parameters` union — Fields for specific transaction types
        - SolanaStakeActionFields
          - `stake_account` string, required — The account from which to withdraw
        - SolanaStakeMergeFields
          - `merge_dst_account` string, required — The account to merge in
          - `merge_src_account` string, required — The account to merge
        - SolanaCreateSPLTokenAccountFields
          - `token_mint` string, required — The token mint address of the token to create an account for
        - SolanaSendSPLTokenFields
          - `token_mint` string, required — The token mint address of the token to interact with
      - `type` 'Solana', required
    - StellarFields
      - `memo` union — A valid stellar memo
        - StellarMemoHash
          - `MEMO_HASH` string, required — Transaction Hash Memo (64 bytes hexadecimal string)
          - `type` string
        - StellarMemoId
          - `MEMO_ID` integer, required — Id Memo (unsigned 64 bits integer)
          - `type` string
        - StellarMemoReturn
          - `MEMO_RETURN` string, required — A 64 bytes hexadecimal string intended to be interpreted as the hash of the transaction the sender is refunding.
          - `type` string
        - StellarMemoText
          - `MEMO_TEXT` string, required — Text Memo (at most a 28 bytes string)
          - `type` string
      - `type` 'Stellar', required
    - TezosFields1
      - `gas_limit` string, nullable — gas limit
      - `storage_limit` string, nullable — storage limit
      - `type` 'Tezos', required
    - EthereumAndEvmFieldsEip1559
      - `contract_deployment` EthereumContractDeploymentFields
        - `creation_bytecode` string, nullable — The contract compiled bytecode
      - `contract_interaction` EthereumSmartContractFields
        - `contract_data` string, required — The transaction data provided to the smart contract, encoded according to the ABI specification
        - `contract_name` string, nullable — The Etherscan name of the smart contract executed
        - `dapp` string, nullable — The name of the Ledger Enterprise DApp
        - `function_arguments` object, nullable — The JSON object with the arguments for the smart contract function execution, as per the contract's ABI specification.
        - `function_name` string, nullable — The name of the smart contract function executed, as per the contract's ABI specification.
        - `smart_contract_interaction_type` string, nullable — The internal Ledger Enterprise type for the contract interaction
      - `gas_limit` string, required — gas limit in wei
      - `priority_fees` string, required — The maximum priority fee per gas for the Ethereum transaction, in the smallest currency unit.
      - `type` string
    - DefaultFields
      - `type` string, required
  - `compliance` TransactionCompliance
    - `registration_ids` ProviderRegistrationIds, required
      - `chainalysis` string, required — Chainalysis's transaction registration id
    - `risk` TransactionRisk
      - `provider_details` ProviderTransactionRiskDetails
        - `chainalysis` ChainalysisTransactionAlert[], nullable — Chainalysis's transaction risk scoring and details
          - `category_id` integer, nullable — The identifier of the entity category the alert rule is tracking
          - `exposure_type` 'DIRECT' | 'INDIRECT', required — Defines the exposure direction as DIRECT or INDIRECT
          - `provider_id` string, required — A unique identifier of the alert
          - `risk` 'High' | 'Low' | 'Medium' | 'Severe', required — Address risk as defined by Chainalysis
          - `service` string, nullable — The name of the service as defined by Chainalysis
          - `value` number, required — The USD amount that caused the alert to trigger
      - `risk` 'HIGH' | 'LOW' | 'MEDIUM', required — Transaction risk as defined by Ledger
  - `confirmations` integer, required
  - `created_by` integer, required
  - `created_on` string, date-time, required
  - `currency` 'Dollar' | 'Euro' | 'arbitrum' | 'arbitrum_goerli' | 'avalanche_c_chain' | 'avalanche_c_chain_fuji' | 'base' | 'base_goerli' | 'bitcoin' | 'bitcoin_cash' | 'bitcoin_gold' | 'bitcoin_testnet' | 'bsc' | 'cardano' | 'celo' | 'celo_alfajores' | 'cosmos' | 'cronos' | 'cronos_testnet' | 'dash' | 'digibyte' | 'dogecoin' | 'ethereum' | 'ethereum_goerli' | 'ethereum_holesky' | 'ethereum_pow' | 'ethereum_ropsten' | 'ethereum_sepolia' | 'fantom' | 'fantom_testnet' | 'filecoin' | 'filecoin_calibration' | 'flare' | 'flare_coston' | 'kava_evm' | 'kava_evm_testnet' | 'klaytn' | 'klaytn_baobab' | 'komodo' | 'litecoin' | 'near' | 'optimism' | 'optimism_goerli' | 'pivx' | 'polkadot' | 'polygon' | 'polygon_mumbai' | 'ripple' | 'solana' | 'solana_devnet' | 'solana_testnet' | 'stellar' | 'tezos' | 'tomo' | 'tomo_testnet' | 'tron' | 'vertcoin' | 'viacoin' | 'westend', required
  - `currency_family` 'bitcoin' | 'cardano' | 'cosmos' | 'ethereum' | 'near' | 'polkadot' | 'polygon' | 'ripple' | 'solana' | 'stellar' | 'tezos' | 'tron', required
  - `failure_reasons` TransactionFailureReasons
    - `client_reason` string, required
    - `reason` string, required
  - `fees` string, nullable — the transaction fee paid, in base units
  - `id` integer, required
  - `interaction_type` string, nullable
  - `labels` LiteLabel[] — labels of this transaction
    - `id` integer, required
    - `info` LabelInfo, required
      - `color` string, required — label's color
      - `description` string, required — label's description
    - `name` string, required — name of the tag
  - `last_request` integer, nullable
  - `max_fees` string, nullable — Max fees represent the highest possible fee amount you will pay to broadcast this transaction, in base units. The final fees, calculated once the transaction is approved by the last Operator, might be lower, but will never exceed that amount. See https://help.vault.ledger.com/Content/transactions/tx.html for details
  - `metadata` union
    - SolanaTxMetadata
      - `stake_pubkey` string, nullable
    - CardanoTxMetadata
      - `amount` integer, nullable
      - `change_path` string, nullable
      - `stake_path` string, nullable
  - `min_confirmations` integer, required
  - `notes` TransactionNote[], required
    - `content` string, required
    - `title` string, required
  - `recipient` string, nullable
  - `senders` string[], nullable — Only available once the transaction has been submitted to the blockchain
  - `speed` 'null' | 'CUSTOM' | 'FAST' | 'NORMAL' | 'SLOW', nullable
  - `status` 'APPROVED' | 'CONFIRMED' | 'DROPPED' | 'FAILED' | 'FAILED_TO_BROADCAST' | 'FAILED_TO_CRAFT' | 'FAILED_TO_SIGN' | 'PENDING_APPROVAL' | 'PENDING_CREATE_IN_HSM' | 'REJECTED' | 'REPLACED' | 'SIGNED' | 'SUBMITTED', required
  - `tx_hash` string, nullable
  - `type` 'ADDPROXY' | 'ANONYMOUSPROXY' | 'BOND' | 'BONDEXTRA' | 'CHILL' | 'CREATE_SPL_TOKEN_ACCOUNT' | 'DELEGATE' | 'DELEGATE_VOTE_TO_DREP' | 'DEPLOY_CONTRACT' | 'EXECUTE_CONTRACT' | 'KILLANONYMOUS' | 'PROXY' | 'REBOND' | 'RECEIVE' | 'RECEIVE_SPL_TOKEN_CHECKED' | 'RECEIVE_SPL_TOKEN_CHECKED_FUNDED' | 'REMOVEPROXY' | 'REVEAL' | 'REWARD' | 'SEND' | 'SEND_SPL_TOKEN_CHECKED' | 'SEND_SPL_TOKEN_CHECKED_FUNDED' | 'SETCONTROLLER' | 'SETPAYEE' | 'STAKE' | 'STAKE_CREATE_DELEGATE' | 'STAKE_DEACTIVATE' | 'STAKE_DELEGATE' | 'STAKE_MERGE' | 'STAKE_SPLIT' | 'STAKE_SPLIT_DEACTIVATE' | 'STAKE_WITHDRAW' | 'STAKING_DELEGATE' | 'STAKING_DEREGISTER' | 'STAKING_REGISTER' | 'STAKING_WITHDRAW' | 'UNBOND' | 'UNDELEGATE' | 'UNKNOWN' | 'WITHDRAWUNBONDED', required
  - `uid` string, nullable

## Other responses

- `404` — Transaction not found

---

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