> For the complete documentation index, see [llms.txt](https://docs.tylt.money/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.tylt.money/tylt-embedded-wallet-service/wallet-management-apis/get-transaction-history.md).

# Get Transaction History

Retrieves the end user’s transaction history.

### Endpoint

```http
GET /whitelabel/transactions/getHistory
```

### Request Headers

```http
x-tlp-apikey: <api-key>
x-tlp-signature: <hmac-signature>
```

### Query Parameters

Provide at least one of the following user identifiers: `endUserEmail`, `endUserId`, or `externalUserId`.

| Field            | Type   |    Required | Description                             |
| ---------------- | ------ | ----------: | --------------------------------------- |
| `endUserEmail`   | String | Conditional | End user’s registered email address     |
| `endUserId`      | Number | Conditional | Tylt end-user ID                        |
| `externalUserId` | String | Conditional | Merchant’s own user identifier          |
| `page`           | String |         Yes | Page number according to the pagination |
| `rows`           | String |         Yes | Number of rows per page                 |

### Example Request

```http
GET /whitelabel/transactions/getHistory?externalUserId=user-10021
```

Signed query object:

```json
{
  "endUserId": 20001, // Optional: Provide one user identifier only
  "endUserEmail": "joe@example.com", // Optional: Alternative to endUserId and externalUserId
  "externalUserId": "user-10021", // Optional: Alternative to endUserId and endUserEmail
  "page": '1',
  "rows": '20'
}
```

### Illustrative Filtered Request

```http
GET /whitelabel/transactions/getHistory?externalUserId=user-10021&currency=USDT&status=completed&page=1&limit=20
```

> The exact filter names must follow the deployed transaction-history schema.

### Code Snippet

{% tabs %}
{% tab title="JavaScript (Axios)" %}

```javascript
import crypto from 'crypto';
import axios from 'axios';

const apiKey = 'your-api-key';
const apiSecret = 'your-api-secret';

const queryParams = {
    endUserId: 20001, // Optional: Provide one user identifier only
    endUserEmail: "joe@example.com", // Optional: Alternative to endUserId and externalUserId
    externalUserId: "user-10021", // Optional: Alternative to endUserId and endUserEmail
    page: '1',
    rows: '20'
};

const rawPayload = JSON.stringify(queryParams);
const signature = crypto.createHmac('sha256', apiSecret).update(rawPayload).digest('hex');

const headers = {
    'x-tlp-apikey': apiKey,
    'x-tlp-signature': signature
};

const queryString = new URLSearchParams(queryParams).toString();
axios.get(`https://api.tylt.money/whitelabel/transactions/getHistory?${queryString}`, { headers })
    .then(response => console.log(response.data))
    .catch(error => console.error('Error:', error.response ? error.response.data : error.message));
```

{% endtab %}
{% endtabs %}

### Example Response

```json
{
    "msg": "",
    "data": [
      {
        "transactionId": 2144884,
        "baseAmount": 5,
        "baseAmountReceived": 5,
        "baseCurrency": "USDT",
        "settledCurrency": "USDT",
        "baseCurrencyImage": "https://assets.tylt.money/holdings-icons/USDT.png",
        "settledCurrencyImage": "https://assets.tylt.money/holdings-icons/USDT.png",
        "settledAmountRequested": 5,
        "settledAmountReceived": 5,
        "settledAmountDebited": null,
        "settledAmountCredited": 5,
        "settledAmountSent": null,
        "network": "TPNK",
        "networkImage": "https://assets.tylt.money/payment_user_assets/userUpload-74-1778065240688",
        "status": "Completed",
        "createdAt": "2026-07-09T09:56:41Z",
        "transactionType": "Internal Payin",
        "ledger": "CR",
        "complianceRequired": 0,
        "compliancePending": 0
      },
    ]
}
```

### Transaction Types

The history may contain:

| Type                       | Description                                            |
| -------------------------- | ------------------------------------------------------ |
| Deposit                    | Incoming on-chain crypto transaction                   |
| Payout                     | Outgoing on-chain crypto transaction                   |
| Internal transfer sent     | Transfer sent to another user under the merchant       |
| Internal transfer received | Transfer received from another user under the merchant |
| Adjustment                 | Authorized wallet balance adjustment                   |
| Fee                        | Transaction or network fee entry                       |

***
