Hercle
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
GetTransfersPaginated

Command Arguments

ClientId
Required
Type:
string
Description:

Custom client ID for tracking (max 36 characters)

Example: "my-client-123"
StartDate
Required
Type:
string
Description:

Start date in ISO format (e.g., 2025-01-01T00:00:00Z)

Example: "2025-01-01T00:00:00Z"
EndDate
Required
Type:
string
Description:

End date in ISO format (e.g., 2025-01-31T23:59:59Z)

Example: "2025-01-31T23:59:59Z"
Page
Required
Type:
number
Description:

Page number (0-based)

0
PageSize
Required
Type:
number
Description:

Number of transfers per page (must be between 5 and 50)

Example: 20

Command 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
executionEvents
Subject
banking.transfers.snapshot
FieldTypeDescription
idstringTransfer ID
userIdstringUser ID associated with the transfer
clientIdstringClient ID associated with the transfer
descriptionstringTransfer description
debtorobjectSource information (see Debtor Object below)
creditorobjectDestination information (see Creditor Object below)
exchangeInfoobjectExchange rate information (see ExchangeInfo Object below)
statusstring
Transfer status
CREATEDCreated
CONFIRMINGConfirming
CONFIRMEDConfirmed
refIdstringReference ID (transaction ID)
payloadstringAdditional transaction payload data
isInstantbooleanIndicates if the transfer was processed instantly
timestampstringTransfer 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.

FieldTypeDescription
internalAddressIdstringSource address ID
assetstringAsset being transferred
addressstringSource blockchain address
addressParamsobjectAdditional address parameters
networkstringBlockchain network
amountnumberAmount being transferred
feenumberFee for the transfer

Creditor Object

The creditor object contains information about the destination of the transfer.

FieldTypeDescription
payeeAddressIdstringDestination payee address ID
assetstringAsset being received
addressstringDestination blockchain address
addressParamsobjectAdditional address parameters
networkstringBlockchain network
amountnumberAmount being received (after fees)

ExchangeInfo Object

The exchangeInfo object contains exchange rate information.

FieldTypeDescription
ratenumberExchange 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

Event Log

No events yet. Connect and invoke a command to see events.