WebSocket
Get Transfers Paginated
Returns a paginated list of transfers.
Retrieve a paginated list of transfer transactions within a specified date range.
Auth:API Key
Tags:
Banking
Transfers
Command Name
GetTransfersPaginatedCommand Arguments
| Field | Type | Required | Description |
|---|---|---|---|
ClientId | string | Required | Custom client ID for tracking (max 36 characters) Example: "my-client-123" |
StartDate | string | Required | Start date in ISO format (e.g., 2025-01-01T00:00:00Z) Example: "2025-01-01T00:00:00Z" |
EndDate | string | Required | End date in ISO format (e.g., 2025-01-31T23:59:59Z) Example: "2025-01-31T23:59:59Z" |
Page | number | Required | Page number (0-based)0 |
PageSize | number | Required | Number of transfers per page (must be between 5 and 50) Example: 20 |
ClientIdRequired
Type:
string
Description:
Custom client ID for tracking (max 36 characters)
Example:
"my-client-123"StartDateRequired
Type:
string
Description:
Start date in ISO format (e.g., 2025-01-01T00:00:00Z)
Example:
"2025-01-01T00:00:00Z"EndDateRequired
Type:
string
Description:
End date in ISO format (e.g., 2025-01-31T23:59:59Z)
Example:
"2025-01-31T23:59:59Z"PageRequired
Type:
number
Description:
Page number (0-based)
0PageSizeRequired
Type:
number
Description:
Number of transfers per page (must be between 5 and 50)
Example:
20Command Invocation
Command Arguments Example:
[
"my-client-123",
"2025-01-01T00:00:00Z",
"2025-01-31T23:59:59Z",
0,
20
]Invocation Example:
connection.invoke('GetTransfersPaginated', 'my-client-123', '2025-01-01T00:00:00Z', '2025-01-31T23:59:59Z', 0, 20)Response Event
Event Name
executionEventsSubject
banking.transfers.snapshotPaginated transfers snapshot response containing an array of transfer records
| Field | Type | Description |
|---|---|---|
id | string | Transfer ID |
userId | string | User ID associated with the transfer |
clientId | string | Client ID associated with the transfer |
description | string | Transfer description |
debtor | object | Source information (see Debtor Object below) |
creditor | object | Destination information (see Creditor Object below) |
exchangeInfo | object | Exchange rate information (see ExchangeInfo Object below) |
status | string | Transfer status CREATED→ CreatedCONFIRMING→ ConfirmingCONFIRMED→ Confirmed |
refId | string | Reference ID (transaction ID) |
payload | string | Additional transaction payload data |
isInstant | boolean | Indicates if the transfer was processed instantly |
timestamp | string | Transfer timestamp |
Example Response
{
"data": [
{
"id": "id_123456",
"userId": "userId_123456",
"clientId": "client123",
"description": "Monthly payment to supplier",
"debtor": {
"internalAddressId": "internal_addr_123",
"asset": "BTC",
"address": "address_001",
"addressParams": {
"tag": "internal"
},
"network": "Bitcoin",
"amount": 0.001,
"fee": 0.0001
},
"creditor": {
"payeeAddressId": "payee_addr_456",
"asset": "BTC",
"address": "address_001",
"addressParams": {
"memo": "payment123"
},
"network": "Bitcoin",
"amount": 0.0009
},
"exchangeInfo": {
"rate": 1
},
"status": "Pending",
"refId": "ref_789xyz",
"payload": "{\"custom\":\"data\"}",
"isInstant": false,
"timestamp": "2025-09-12T14:30:00.000Z"
},
{
"id": "id_789012",
"userId": "userId_123456",
"clientId": "client123",
"description": "Payment for services",
"debtor": {
"internalAddressId": "internal_addr_789",
"asset": "ETH",
"address": "0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb",
"addressParams": {},
"network": "Ethereum",
"amount": 0.5,
"fee": 0.002
},
"creditor": {
"payeeAddressId": "payee_addr_123",
"asset": "ETH",
"address": "0x8a5d3e6f7c2b1a9e4d3c2b1a9e8f7d6c5b4a3e2f",
"addressParams": {},
"network": "Ethereum",
"amount": 0.498
},
"exchangeInfo": {
"rate": 1
},
"status": "Completed",
"refId": "ref_abc123",
"payload": "{}",
"isInstant": true,
"timestamp": "2025-09-13T10:15:30.000Z"
}
]
}Transfer Object Structure
Debtor Object
The debtor object contains information about the source of the transfer.
| Field | Type | Description |
|---|---|---|
internalAddressId | string | Source address ID |
asset | string | Asset being transferred |
address | string | Source blockchain address |
addressParams | object | Additional address parameters |
network | string | Blockchain network |
amount | number | Amount being transferred |
fee | number | Fee for the transfer |
Creditor Object
The creditor object contains information about the destination of the transfer.
| Field | Type | Description |
|---|---|---|
payeeAddressId | string | Destination payee address ID |
asset | string | Asset being received |
address | string | Destination blockchain address |
addressParams | object | Additional address parameters |
network | string | Blockchain network |
amount | number | Amount being received (after fees) |
ExchangeInfo Object
The exchangeInfo object contains exchange rate information.
| Field | Type | Description |
|---|---|---|
rate | number | Exchange rate used for the transfer |
Code Examples
const signalR = require('@microsoft/signalr');
const apiKey = 'YOUR_API_KEY_HERE';
const connection = new signalR.HubConnectionBuilder()
.withUrl('https://publicapi.sandbox.hercle.financial/ExecutionLiveServer/v1', {
accessTokenFactory: () => apiKey,
})
.build();
connection.start()
.then(() => {
console.log('Connected to WebSocket');
// Invoke command
connection.invoke('GetTransfersPaginated', "my-client-123", "2025-01-01T00:00:00Z", "2025-01-31T23:59:59Z", 0, 20)
.then(() => {
console.log('Command sent successfully');
})
.catch(err => {
console.error('Command failed:', err);
});
})
.catch(err => {
console.error('Connection failed:', err);
});
// Listen for events
connection.on('executionEvents', (data) => {
console.log('Received event:', data);
});SignalR API Tester
Test this command in the sandbox environment
Disconnected
Your API key is only used locally and never stored