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

# List transactions

> Return a paginated list of wallet transactions.

Returns the transaction history for the authenticated user's wallet, sorted by creation date descending.

## Query parameters

<ParamField query="limit" type="integer" default="100">
  Number of results to return. Min `1`, max `1000`.
</ParamField>

<ParamField query="offset" type="integer" default="0">
  Number of results to skip for pagination.
</ParamField>

## Response

<ResponseField name="transactions" type="array">
  List of transaction objects.

  <Expandable title="TransactionResponse">
    <ResponseField name="id" type="string">Transaction UUID.</ResponseField>
    <ResponseField name="user_id" type="string">Owner's user UUID.</ResponseField>
    <ResponseField name="wallet_id" type="string">Wallet UUID.</ResponseField>
    <ResponseField name="amount" type="number">Transaction amount in USD. Positive for credits, negative for debits.</ResponseField>
    <ResponseField name="currency" type="string">Always `USD`.</ResponseField>
    <ResponseField name="transaction_type" type="string">Type: `deposit`, `withdrawal`, `payment`, `refund`.</ResponseField>
    <ResponseField name="status" type="string">Status: `pending`, `completed`, `failed`.</ResponseField>
    <ResponseField name="payment_method" type="string">Payment method used, if applicable.</ResponseField>
    <ResponseField name="external_id" type="string">Reference ID from external payment provider.</ResponseField>
    <ResponseField name="description" type="string">Human-readable description.</ResponseField>
    <ResponseField name="created_at" type="string">ISO 8601 timestamp.</ResponseField>
    <ResponseField name="updated_at" type="string">ISO 8601 timestamp of last update.</ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="total" type="integer">
  Total number of transactions returned.
</ResponseField>

## Example

<CodeGroup>
  ```bash cURL theme={null}
  curl "https://api.proxyjam.com/public/v1/wallet/transactions?limit=5" \
    -H "X-API-Key: pj_AbCdEf..."
  ```

  ```python Python theme={null}
  from proxyjam import ProxyJamClient

  # The Python SDK uses /wallets/{currency}/transactions under the hood.
  with ProxyJamClient(api_key="pj_live_...") as proxyjam:
      page = proxyjam.wallets.transactions("USD", limit=5)
      for tx in page.transactions:
          print(tx.created_at, tx.transaction_type, tx.amount_as_decimal())
      print(f"total: {page.total}")
  ```

  ```json Response theme={null}
  {
    "transactions": [
      {
        "id": "txn-uuid-1",
        "amount": 20.0,
        "currency": "USD",
        "transaction_type": "deposit",
        "status": "completed",
        "payment_method": "cryptocloud",
        "description": "Wallet top-up via CryptoCloud",
        "created_at": "2024-01-15T09:00:00Z",
        "updated_at": "2024-01-15T09:01:30Z"
      },
      {
        "id": "txn-uuid-2",
        "amount": -7.0,
        "currency": "USD",
        "transaction_type": "payment",
        "status": "completed",
        "description": "Order order-uuid-here",
        "created_at": "2024-01-15T10:00:00Z",
        "updated_at": "2024-01-15T10:00:05Z"
      }
    ],
    "total": 2
  }
  ```
</CodeGroup>
