> ## Documentation Index
> Fetch the complete documentation index at: https://docs.privy.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Get transaction by external ID

> List transactions by reference ID.

Use this endpoint to look up transactions by a developer-provided `reference_id`. This is useful for reconciling transactions
initiated via [`eth_sendTransaction`](/api-reference/wallets/ethereum/eth-send-transaction) or
[`signAndSendTransaction`](/api-reference/wallets/solana/sign-and-send-transaction) with your internal records.

<Tip>
  To set a `reference_id` on a transaction, pass it when calling
  [`eth_sendTransaction`](/api-reference/wallets/ethereum/eth-send-transaction) (EVM) or
  [`signAndSendTransaction`](/api-reference/wallets/solana/sign-and-send-transaction) (Solana). The
  `reference_id` must be unique per transaction and can be up to 64 characters.
</Tip>


## OpenAPI

````yaml get /v1/transactions
openapi: 3.1.0
info:
  version: 0.0.1
  title: Privy API
  description: >-
    REST API for Privy's wallet infrastructure — provision and manage wallets
    across EVM, Solana, and Bitcoin, authenticate users, sign transactions, and
    configure programmable policies and authorization intents.
  contact:
    name: Privy
    url: https://www.privy.io/
    email: support@privy.io
servers:
  - url: https://api.privy.io
security: []
tags:
  - name: Accounts
    description: Operations related to asset accounts
  - name: Aggregations
    description: Operations related to aggregations for tracking and measuring metrics
  - name: Apps
    description: Operations related to app settings and allowlist management
  - name: Client Auth
    description: OAuth token exchange and device authorization operations
  - name: Condition Sets
    description: Operations related to condition sets
  - name: Embedded wallets
    description: Operations related to embedded wallet creation and authentication
  - name: Fiat
    description: Operations related to fiat onramping and offramping
  - name: Intents
    description: Operations related to authorization intents for wallet actions
  - name: Key quorums
    description: Operations related to key quorums
  - name: Kraken Embed
    description: >-
      Operations for Kraken Embed integration, including quotes, trades, user
      management, and portfolio operations
  - name: OAuth
    description: >-
      OAuth 2.0 endpoints including Device Authorization Grant (RFC 8628) for
      CLI and limited-input device login flows
  - name: Organizations
    description: Operations related to organization secret management
  - name: Policies
    description: Operations related to policies
  - name: Shared
    description: Common schemas shared across resources
  - name: Swaps
    description: Operations for swapping tokens within wallets
  - name: Transactions
    description: Operations related to transactions
  - name: User signers
    description: Operations related to user signers
  - name: Users
    description: Operations related to users
  - name: Wallet Actions
    description: Operations related to wallet actions
  - name: Wallets
    description: Operations related to wallets
  - name: Webhooks
    description: >-
      Webhook events that Privy sends to your configured endpoint when specific
      actions occur in your app
  - name: Yield
    description: >-
      Operations for depositing and withdrawing funds from ERC-4626 yield vaults
      (Morpho, Aave)
paths:
  /v1/transactions:
    get:
      tags:
        - Transactions
      summary: List Transactions
      description: List transactions by reference ID.
      operationId: getTransactionByReferenceId
      parameters:
        - schema:
            type: string
            description: Developer-provided reference ID to filter transactions by.
          required: true
          name: reference_id
          in: query
        - schema:
            type: string
            description: ID of your Privy app.
          required: true
          name: privy-app-id
          in: header
      responses:
        '200':
          description: List of transactions matching the reference ID.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TransactionList'
      security:
        - appSecretAuth: []
components:
  schemas:
    TransactionList:
      type: object
      properties:
        transactions:
          type: array
          items:
            $ref: '#/components/schemas/Transaction'
      required:
        - transactions
      description: A list of transactions.
      title: TransactionList
      x-stainless-model: transactions.transaction_list
    Transaction:
      type: object
      properties:
        caip2:
          type: string
        transaction_hash:
          type:
            - string
            - 'null'
        user_operation_hash:
          type: string
        status:
          $ref: '#/components/schemas/BlockchainTransactionStatus'
        created_at:
          type: number
        sponsored:
          type: boolean
        id:
          type: string
        wallet_id:
          type: string
        reference_id:
          type:
            - string
            - 'null'
      required:
        - caip2
        - transaction_hash
        - status
        - created_at
        - id
        - wallet_id
      description: A transaction from a Privy wallet.
      title: Transaction
      example:
        id: cm7oxq1el000e11o8iwp7d0d0
        wallet_id: fmfdj6yqly31huorjqzq38zc
        status: confirmed
        transaction_hash: '0x2446f1fd773fbb9f080e674b60c6a033c7ed7427b8b9413cf28a2a4a6da9b56c'
        caip2: eip155:8453
        created_at: 1631573050000
      x-stainless-model: transactions.transaction
    BlockchainTransactionStatus:
      type: string
      enum:
        - broadcasted
        - confirmed
        - execution_reverted
        - failed
        - replaced
        - finalized
        - provider_error
        - pending
      description: Status of a blockchain transaction submitted by Privy.
      title: BlockchainTransactionStatus
      x-stainless-model: transactions.blockchain_transaction_status
  securitySchemes:
    appSecretAuth:
      type: http
      scheme: basic
      description: >-
        Basic Auth header with your app ID as the username and your app secret
        as the password.

````