Skip to main content
GET
/
v1
/
transactions
/
{transaction_id}
Get Transaction
curl --request GET \
  --url https://api.privy.io/v1/transactions/{transaction_id} \
  --header 'Authorization: Basic <encoded-value>' \
  --header 'privy-app-id: <privy-app-id>'
{
  "id": "cm7oxq1el000e11o8iwp7d0d0",
  "wallet_id": "fmfdj6yqly31huorjqzq38zc",
  "status": "confirmed",
  "transaction_hash": "0x2446f1fd773fbb9f080e674b60c6a033c7ed7427b8b9413cf28a2a4a6da9b56c",
  "caip2": "eip155:8453",
  "created_at": 1631573050000
}
In August 2025 we migrated transactions to a new data store. As part of this migration, we changed the format of transaction IDs from CUID2 to UUIDv4. You may continue using the CUID2 for your existing transactions, but we encourage migration to the new UUID, as it will avoid a very slight latency increase due to an extra lookup for mapping from the legacy ID to the new ID.

Authorizations

Authorization
string
header
required

Basic Auth header with your app ID as the username and your app secret as the password.

Headers

privy-app-id
string
required

ID of your Privy app.

Path Parameters

transaction_id
string
required

ID of the transaction.

Response

200 - application/json

Object with transaction data.

caip2
string
required
transaction_hash
string | null
required
status
enum<string>
required
Available options:
broadcasted,
confirmed,
execution_reverted,
failed,
replaced
created_at
number
required
id
string
required
wallet_id
string
required
sponsored
boolean
I