---
title: "Get Crypto Transaction"
method: GET
path: "/accounts/{account_id}/crypto/{transaction_id}"
tags: ["Transfers"]
---

# Get Crypto Transaction

`GET /accounts/{account_id}/crypto/{transaction_id}`

## Request

- Base URL: `https://api.meow.com/v1`
- URL: `https://api.meow.com/v1/accounts/{account_id}/crypto/{transaction_id}`
- Auth: API key in header `x-api-key`
- TypeScript: <https://skmtc.dev/meow/apis/meow-api/docs/accounts/:account_id/crypto/:transaction_id/get.ts> (a function with typed inputs; its response is checked against the schema)

Returns details about a crypto transaction (incoming or outgoing) for the specified account by transaction ID, including the status of an outgoing crypto transfer after it has been initiated, and the sending address for an incoming deposit.

## Path parameters

- `account_id` string, required: The ID of the account.
- `transaction_id` union, required: The ID returned when you created the transfer, or the transaction ID of an incoming deposit as List Transactions reports it.
  - string
  - string, uuid

## Headers

- `x-entity-id` string, uuid

## Response `200`

Successful Response

- GetCryptoTransactionResponse
  - `id` union, required: Identifier of the transaction. For an outbound transfer this is the id returned when you created it; for an inbound deposit it is the transaction id List Transactions reports, or the id the crypto_transfer webhook published before the deposit settled.
    - string
    - string, uuid
  - `amount` string, required: Size of the transaction, in USD. Always positive, in both directions.
  - `direction` 'inbound' | 'outbound', required
  - `status` 'pending' | 'pending_approval' | 'canceled' | 'processing' | 'error' | 'sent' | 'returned' | 'void', required
  - `destination_address` string, required: On-chain address the funds were sent to.
  - `destination_payment_rail` 'ethereum' | 'base' | 'solana' | 'arbitrum' | 'polygon' | 'optimism' | 'tron' | 'stellar' | 'avalanche_c_chain' | 'binance' | 'sui' | 'tempo' | 'xdc' | 'bitcoin' | 'ripple', required
  - `destination_tx_hash` string, nullable: On-chain hash of the transfer we sent. Set on outbound transactions once they settle.
  - `destination_address_nickname` string, nullable: Nickname of the contact that owns the destination address. `null` when the address is not attached to a contact, which is the usual case for inbound deposits.
  - `source_address` string, nullable: On-chain address the funds were sent from. Set on inbound deposits, so you can match a deposit to whoever sent it.
  - `source_tx_hash` string, nullable: On-chain hash of the deposit. Set on inbound deposits.
  - `metadata` object, nullable: The metadata attached when this object was created, unchanged. `null` when none was attached. Rarely, a `.created` webhook can be published before the create request finishes committing, and that one event reports `null`; every later event and every read of the object carries the metadata.

## Other responses

- `400`: The request could not be processed.
- `401`: Authentication failed.
- `403`: The API key is not authorized for this operation, or the user of a global API key is an admin or controller without approved KYC. The KYC case returns the message `KYC is required for controllers and admins.` until that user completes KYC in the Meow dashboard.
- `429`: Too many requests.

---

[API](https://skmtc.dev/meow/apis/meow-api.md) - [All operations](https://skmtc.dev/meow/apis/meow-api/llms.txt) - [OpenAPI document](https://skmtc.dev/meow/apis/meow-api/revisions/ea2d7e25b63b?raw)
