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

# List Payments & Activity

> Retrieve complete transaction history, including tap-to-pay payments and company treasury pool deposits/withdrawals.

### Headers

<ParamField header="x-api-key" type="string" required>
  Your test or live SDK API key (`pk_test_...` or `pk_live_...`).
</ParamField>

### Response Fields

<ResponseField name="payments" type="array">
  <Expandable title="Payment Item">
    <ResponseField name="payment_id" type="string">
      Unique transaction identifier.
    </ResponseField>

    <ResponseField name="payment_source" type="string">
      `SESSION_KEY` (Direct non-custodial tap) or `POOL` (Custodial pool debit).
    </ResponseField>

    <ResponseField name="type" type="string">
      Type of activity: `PAYMENT` (terminal tap-to-pay), `DEPOSIT` (treasury pool deposit), `WITHDRAWAL` (treasury pool withdrawal).
    </ResponseField>

    <ResponseField name="status" type="string">
      Transaction status: `CONFIRMED`, `PENDING`, `FAILED`, `EXPIRED`.
    </ResponseField>

    <ResponseField name="amount" type="string">
      Gross USDC transaction amount.
    </ResponseField>

    <ResponseField name="fee_amount" type="string">
      Platform transaction fee (0.5%).
    </ResponseField>

    <ResponseField name="net_amount" type="string">
      Net amount delivered to merchant.
    </ResponseField>

    <ResponseField name="currency" type="string">
      `USDC`.
    </ResponseField>

    <ResponseField name="merchant" type="object">
      Merchant or treasury recipient details (`{ id, name }`).
    </ResponseField>

    <ResponseField name="customer" type="object">
      Customer metadata and `sdk_device` session details (`device_id`, `runner_public_key`, `daily_spend_limit`).
    </ResponseField>

    <ResponseField name="tx_hash" type="string">
      On-chain transaction hash (if confirmed).
    </ResponseField>

    <ResponseField name="created_at" type="string">
      ISO 8601 timestamp of creation.
    </ResponseField>

    <ResponseField name="confirmed_at" type="string">
      ISO 8601 timestamp of on-chain confirmation.
    </ResponseField>
  </Expandable>
</ResponseField>

### Response Example

```json theme={null}
{
  "payments": [
    {
      "id": "pay_9hncyj2A5zl",
      "payment_id": "pay_9hncyj2A5zl",
      "payment_source": "SESSION_KEY",
      "type": "PAYMENT",
      "status": "CONFIRMED",
      "amount": "10.000000",
      "fee_amount": "0.050000",
      "net_amount": "9.950000",
      "currency": "USDC",
      "merchant": {
        "id": "cmsfcjpbp0001qr0fknw01uv8",
        "name": "Merchant Store #1"
      },
      "customer": {
        "wallet_address": "0xCustomer...",
        "sdk_device": {
          "device_id": "dev_cust_123",
          "runner_public_key": "0xRunnerPublicKey...",
          "daily_spend_limit": "500.000000"
        }
      },
      "tx_hash": "0x70c36ca9338ca5a7c0df9a164f1a9cc4f2882f29ac1ad00cead1e41d7d02592e",
      "created_at": "2026-08-07T10:28:57.269Z",
      "expires_at": "2026-08-07T10:33:57.269Z",
      "confirmed_at": "2026-08-07T10:29:03.371Z"
    }
  ],
  "pagination": {
    "limit": 100,
    "has_more": false
  }
}
```
