Get started
Hercle APIs provide RESTful endpoints to manage various functionalities for OTC traders and developers. These APIs allow you to perform CRUD operations on different resources.
Postman Collection: We provide a comprehensive Postman collection for testing and integration. The Hercle REST API Collection repository contains a full-featured Postman collection covering OTC price quoting, order execution, deposits and withdrawals, RFQ flows, address whitelisting, and more. It includes environment configurations, test scripts, and response validation to support both manual testing and automated workflows.
| Name | Description | Type | Value |
|---|---|---|---|
| baseUrl | server's url | string |
Production:
https://publicapi.hercle.financial Sandbox: https://publicapi.sandbox.hercle.financial |
⚠️ HercleX Upgrades Schedule
Regular Upgrade Window
Herclex undergoes scheduled upgrades every Wednesday from 10:00 AM to 11:00 AM GMT+1 time. During this window, users can expect system enhancements and routine maintenance to be carried out.
Urgent Upgrades
In cases where urgent upgrades are necessary outside the scheduled window, efforts will be made to communicate these exceptions in advance. However, the ability to provide prior notice is not guaranteed and will depend on the urgency and critical nature of the upgrade.
Impact on Connectivity
During the upgrade window, if a system upgrade is in progress, a disconnection from SignalR services may occur. It is advisable to anticipate such disconnections and prepare accordingly.
API Status
You can check the current status of Hercle services and any ongoing incidents by visiting our status page.
Get Whitelisted Addresses
Returns an array of the user's whitelisted addresses, both fiat and crypto.
/api/v1/addresses/whitelisted
Headers
| Header | Type | Description |
|---|---|---|
| Authorization | string | Bearer API_KEY |
| Content-Type | string | application/json |
Response Data Example:
[
{
"id":"xxxx",
"name":"BTC 01",
"userId":"yyyy",
"asset":"BTC",
"address":"zzzz",
"addressParams": {},
"network":"Bitcoin",
"status":0,
"comment":"",
"auditBy":"",
"auditDate":"",
"enabled":true,
"deleted":false,
"creationDate":"2023-10-05T14:07:59+00:00"
}
]
REQUEST BODY
No body parameters required for this endpoint.
Parameters
No parameters required for this endpoint.
ADDRESS OBJECT
| Field | Type | Description |
|---|---|---|
| id | string | Address ID |
| name | string | Address name |
| userId | string | User ID |
| asset | string | Asset name |
| address | string | Address |
| addressParams | object | Address parameters |
| network | string | Address network |
| status | number | Address status (0: pending, 1: refused, 2: approved, 3: deleted) |
| comment | string | Comments on address |
| auditBy | string | Auditor informations |
| auditDate | string | Datetime of audit |
| enabled | bool | Enabled flag |
| deleted | bool | Deleted flag |
| creationDate | string | Datetime of address creation |
whitelist address
Sends a request for the whitelisting of a new address.
/api/v1/addresses/whitelist
Headers
| Header | Type | Description |
|---|---|---|
| Authorization | string | Bearer API_KEY |
| Content-Type | string | application/json |
Response Data Example:
{
"httpStatusCode":201,
"addressId": "zzzz",
"message": ""
}
REQUEST BODY
| Field | Type | Description |
|---|---|---|
| Name | string | Address recognizible custom name |
| Asset | string | Asset of the Address (e.g.: "BTC" or "EUR") |
| Address | string | Address |
| Network | string | Address network |
Parameters
No parameters required for this endpoint.
WHITELISTED ADDRESS OBJECT
| Field | Type | Description |
|---|---|---|
| httpStatusCode | number | Status code of the request |
| addressId | string | Address ID |
| message | string | Optional message in case of errors or checks failed |
whitelist address With Params
Sends a request for the whitelisting of a new address with additional parameters.
/api/v1/addresses/whitelist/params
Headers
| Header | Type | Description |
|---|---|---|
| Authorization | string | Bearer API_KEY |
| Content-Type | string | application/json |
Response Data Example:
{
"httpStatusCode": 201,
"addressId": "zzzz",
"message": ""
}
REQUEST BODY
| Field | Type | Description |
|---|---|---|
| name | string | Address Name |
| asset | string | Asset name |
| address | string | Address |
| addressParams | object | Address parameters |
| network | string | Network name |
Parameters
No parameters required for this endpoint.
WHITELISTED ADDRESS OBJECT
| Field | Type | Description |
|---|---|---|
| httpStatusCode | number | Status code of the request |
| addressId | string | Address ID |
| message | string | Optional message in case of errors or checks failed |
Remove Whitelisted Addresses
Removes an address from the address whitelist.
/api/v1/addresses/whitelist
Headers
| Header | Type | Description |
|---|---|---|
| Authorization | string | Bearer API_KEY |
| Content-Type | string | application/json |
Response Data Example:
{
"httpStatusCode": 200,
"addressId": "zzzz",
"message": ""
}
REQUEST BODY
| Field | Type | Description |
|---|---|---|
| addressId | string | Address Id |
Parameters
No parameters required for this endpoint.
DELETED WHITELISTED ADDRESS OBJECT
| Field | Type | Description |
|---|---|---|
| httpStatusCode | number | Status code of the request |
| addressId | string | Address ID |
| message | string | Optional message in case of errors or checks failed |
Deposit Addresses
Returns an array of the user's deposit addresses, both fiat and crypto.
/api/v1/addresses/deposit
Headers
| Header | Type | Description |
|---|---|---|
| Authorization | string | Bearer API_KEY |
| Content-Type | string | application/json |
Response Data Example:
[
{
"id":"xxxx",
"name":"EUR",
"userId":"yyyy",
"asset":"EUR",
"address":"zzzz",
"addressParams": {},
"network":"Sepa",
"deleted":false,
"creationDate":"0001-01-01T00:00:00"
}
]
REQUEST BODY
No body parameters required for this endpoint.
Parameters
No parameters required for this endpoint.
DEPOSIT ADDRESS OBJECT
| Field | Type | Description |
|---|---|---|
| id | string | Address ID |
| name | string | Address name |
| userId | string | User ID |
| asset | string | Asset name |
| address | string | Address |
| addressParams | object | Address parameters |
| network | string | Address network |
| deleted | bool | Deleted flag |
| creationDate | string | Datetime of address creation |
create deposit
Creates a fake deposit for the given asset.
Availabe only for FIAT currencies (EUR, USD, GBP).
This method doesn't have a response.
⚠️ WARNING - This endpoint is only available in the staging environment.
/api/v1/addresses/deposit
Headers
| Header | Type | Description |
|---|---|---|
| Authorization | string | Bearer API_KEY |
| Content-Type | string | application/json |
REQUEST BODY
| Field | Type | Description |
|---|---|---|
| asset | string | Asset Name |
| network | string | Network name |
Parameters
No parameters required for this endpoint.
place otc order
Places an order based on a Price Update ID.
/api/v1/orders
Headers
| Header | Type | Description |
|---|---|---|
| Authorization | string | Bearer API_KEY |
| Content-Type | string | application/json |
Response Data Example:
{
"tradeId":"xxxx",
"side":"buy",
"pair":"BTCUSDT",
"price":26844.07,
"size":0.01,
"notional":268.4407,
"status":1,
"baseCurrency":"BTC",
"quoteCurrency":"USDT",
"timestamp":"2023-10-11T23:00:57.93094Z",
"statusError":""
}
REQUEST BODY
| Field | Type | Description |
|---|---|---|
| priceId | string | Price ID |
| side | string | Selected side ("buy" or "sell") |
| slippage | number | Maximum price slippage accepted in case of sudden price change (1.0 equals to 1%) |
Parameters
No parameters required for this endpoint.
ORDER OBJECT
| Field | Type | Description |
|---|---|---|
| tradeId | string | Trade ID |
| side | string | Selected side ("buy" or "sell") |
| pair | string | Pair name |
| price | number | Executed price |
| size | number | Trade size |
| notional | number | Trade notional value |
| status | number | Order status (0 created, 1 executed, 2 cancelled) |
| baseCurrency | string | Base currency name |
| quoteCurrency | string | Quote currency name |
| timestamp | string | Datetime of trade |
| statusError | string | Error in case of cancellation or rejection |
Get Orders paginated
Returns an array of the user's orders with pagination.
Note: The paging system is zero-based. For example,
for page 1 with a page size of 50, please use the following
parameters: 0, 50. For page 2, please use
1, 50, and so on.
/api/v1/orders/{startDate}/{endDate}/{page}/{pageSize}
Headers
| Header | Type | Description |
|---|---|---|
| Authorization | string | Bearer API_KEY |
| Content-Type | string | application/json |
Response Data Example:
[
{
"orderId": "zzzz",
"clientId": "xxxx",
"userId": "yyyy",
"instrument": "BNBEUR",
"side": "buy",
"orderType": 0,
"price": 541.351787638296,
"executedPrice": 541.351787638296,
"executedTimestamp": "2024-03-17T16:09:15.000Z",
"quantity": 0.05,
"quantityFilled": 0.05,
"orderStatus": 2,
"cancellationReason": "",
"slippage": 0.1,
"timestamp":"2024-03-17T16:09:14.000Z",
}
]
REQUEST BODY
No body parameters required for this endpoint.
Parameters
| Parameter | Description |
|---|---|
| startDate | is a datetime iso |
| endDate | is a datetime iso |
| page | page number |
| pageSize | min size is 5 and max is 50 |
ORDER OBJECT
| Field | Type | Description |
|---|---|---|
| id | string | Order ID |
| clientId | string | Client ID |
| userId | string | User ID |
| instrument | string | Instrument name |
| side | string | Order side ("buy" or "sell") |
| orderType | number | Order type (0 market, 1 fill or kill) |
| price | number | Order Price |
| executedPrice | number | Executed price |
| executedTimestamp | number | Executed timestamp |
| quantity | number | Order quantity |
| quantityFilled | number | Executed quantity |
| orderStatus | string | Order status (0 created, 1 executed, 2 cancelled) |
| cancellationReason | string | Error in case of cancellation or rejection |
| slippage | string | Maximum price slippage accepted (1.0 equals to 1%) |
| timestamp | string | Datetime of order |
Get Orders by clientId
Returns an array of the user's orders with a 7 days limit.
/api/v1/orders/{orderClientId}
Headers
| Header | Type | Description |
|---|---|---|
| Authorization | string | Bearer API_KEY |
| Content-Type | string | application/json |
Response Data Example:
{
"orderId": "zzzz",
"clientId": "xxxx",
"userId": "yyyy",
"instrument": "BNBEUR",
"side": "buy",
"orderType": 0,
"price": 541.351787638296,
"executedPrice": 541.351787638296,
"executedTimestamp": "2024-03-17T16:09:15.000Z",
"quantity": 0.05,
"quantityFilled": 0.05,
"orderStatus": 2,
"cancellationReason": "",
"slippage": 0.1,
"timestamp":"2024-03-17T16:09:14.000Z",
}
REQUEST BODY
No body parameters required for this endpoint.
Parameters
| Parameter | Description |
|---|---|
| orderClientId | Order client ID |
ORDER OBJECT
| Field | Type | Description |
|---|---|---|
| orderId | string | Order ID |
| clientId | string | Client ID |
| userId | string | User ID |
| instrument | string | Instrument name |
| side | string | Order side ("buy" or "sell") |
| orderType | number | Order type (0 market, 1 fill or kill) |
| price | number | Order Price |
| executedPrice | number | Executed price |
| executedTimestamp | number | Executed timestamp |
| quantity | number | Order quantity |
| quantityFilled | number | Executed quantity |
| orderStatus | string | Order status (0 created, 1 executed, 2 cancelled) |
| cancellationReason | string | Error in case of cancellation or rejection |
| slippage | string | Maximum price slippage accepted (1.0 equals to 1%) |
| timestamp | string | Datetime of order |
available pairs
Returns an array of supported tradable pairs along with their minimum and maximum sizes.
/api/v1/pairs
Headers
| Header | Type | Description |
|---|---|---|
| Authorization | string | Bearer API_KEY |
| Content-Type | string | application/json |
Response Data Example:
{
"name": "BTCUSDT",
"asset": "BTC",
"currency": "USDT",
"minSize": 0.00025,
"maxSize": 5,
"minQuoteSize": 15,
"maxQuoteSize": 200000
}
request body
No body parameters required for this endpoint.
Parameters
No parameters required for this endpoint.
PAIR OBJECT
| Field | Type | Description |
|---|---|---|
| name | string | Pair |
| asset | string | Asset name |
| currency | string | Asset currency |
| minSize | number | Minimum tradable size |
| maxSize | number | Maximum tradable size |
| minQuoteSize | number | Maximum tradable size in quote |
| maxQuoteSize | number | Maximum tradable size in quote |
Get pair size by amount
Return pair quote size based on base amount
/api/v1/pairs/{pair}/{side}/{amount}
Headers
| Header | Type | Description |
|---|---|---|
| Authorization | string | Bearer API_KEY |
| Content-Type | string | application/json |
Response Data Example:
{
"id": "xxxx",
"pair":"BTCUSDT",
"price":26844.07,
"size":0.01,
"timestamp":"2023-10-11T23:00:57.93094Z",
}
Request Body
No body parameters required for this endpoint.
Parameters
| Parameter | Description |
|---|---|
| pair | Pair name without separators (e.g.: BTCUSDT) |
| side | Order side ("buy" or "sell") |
| amount | Selected amount |
PAIR SIZE OBJECT
| Field | Type | Description |
|---|---|---|
| id | string | Price ID |
| pair | string | Pair name |
| price | number | Price of the pair with the selected amount and size |
| size | number | Selected size |
| timestamp | string | Datetime of the request |
asset networks
Returns an array of supported networks for the given asset.
/api/v1/pairs/networks/{asset}
Headers
| Header | Type | Description |
|---|---|---|
| Authorization | string | Bearer API_KEY |
| Content-Type | string | application/json |
Response Data Example:
[
"Ethereum",
"Tron",
"BNB Smart Chain",
"Polygon",
"Optimism",
"Arbitrum One"
]
Request Body
No body parameters required for this endpoint.
Parameters
| Parameter | type | Description |
|---|---|---|
| asset | string | Asset name |
NETWORK OBJECT
| Field | Type | Description |
|---|---|---|
| array | Array of network names |
pair price
Gets the last pair price based on size
/api/v1/price/{pair}/{size}
Headers
| Header | Type | Description |
|---|---|---|
| Authorization | string | Bearer API_KEY |
| Content-Type | string | application/json |
Response Data Example:
{
"id":"xxxx",
"buyPrice":26798.50,
"sellPrice":26790.50,
"size":1.0,
"pair":"BTCUSDT",
"markPrice":26794.575,
"timestamp":"2023-10-11T23:00:57.93094Z"
}
Request Body
No body parameters required for this endpoint.
Parameters
| Parameter | type | Description |
|---|---|---|
| pair | string | Pair name without separators (e.g.: BTCUSDT) |
| size | number | Selected size |
PRICE OBJECT
| Field | Type | Description |
|---|---|---|
| id | string | Price update ID |
| buyPrice | number | Best buy price of pair with selected quantity |
| sellPrice | number | Best sell price of pair with selected quantity |
| size | number | Selected size |
| pair | string | Pair name |
| markPrice | number | Mark price of pair with selected quantity |
| timestamp | string | Datetime of price update |
create rfq
Creates a Request For Quote. Has to be accepted within the time limit through Accept RFQ.
/api/v1/rfq
Headers
| Header | Type | Description |
|---|---|---|
| Authorization | string | Bearer API_KEY |
| Content-Type | string | application/json |
Response Data Example:
{
"requestForQuoteId":"xxxx",
"userId": "xxxx",
"instrument":"BTCUSDT",
"baseCurrency":"BTC",
"quoteCurrency":"USDT",
"side":"buy",
"size":0.01,
"price":26844.07,
"amount":1.0,
"status":1,
"requestDateTime":"2023-10-11T23:00:57.93094Z",
"expireDateTime":"2023-10-11T23:01:27.87528Z"
}
REQUEST BODY
| Field | Type | Description |
|---|---|---|
| pair | string | Pair name without separators (e.g.: BTCUSDT) |
| side | string | Selected side ("buy" or "sell") |
| size | number | Size (base currency) - 0 to skip |
| amount | number | Size (quote currency) - 0 to skip |
Parameters
No parameters required for this endpoint.
RFQ OBJECT
| Field | Type | Description |
|---|---|---|
| requestForQuoteId | string | Request For Quote ID |
| userId | string | User ID |
| instrument | string | Instrument name |
| baseCurrency | string | Base currency name |
| quoteCurrency | string | Quote currency name |
| side | string | Selected side ("buy" or "sell") |
| size | number | Order size (base currency) |
| price | number | Proposed price |
| amount | number | Order amount (quote currency) |
| status | number | Order status (0 created, 1 executed, 2 cancelled) |
| requestDateTime | string | Timestamp of RFQ creation |
| expireDateTime | string | Timestamp of RFQ expiration |
Create Custom RFQ
Creates a Request For Quote with custom expiration time. Has to be accepted within the time limit through Accept RFQ.
/api/v1/rfq/custom-expiration
Headers
| Header | Type | Description |
|---|---|---|
| Authorization | string | Bearer API_KEY |
| Content-Type | string | application/json |
Response Data Example:
{
"requestForQuoteId":"xxxx",
"userId": "xxxx",
"instrument":"BTCUSDT",
"baseCurrency":"BTC",
"quoteCurrency":"USDT",
"side":"buy",
"size":0.01,
"price":26844.07,
"amount":1.0,
"status":1,
"requestDateTime":"2023-10-11T23:00:57.93094Z",
"expireDateTime":"2023-10-11T23:01:27.87528Z"
}
REQUEST BODY
| Field | Type | Description |
|---|---|---|
| pair | string | Pair name without separators (e.g.: BTCUSDT) |
| side | string | Selected side ("buy" or "sell") |
| size | number | Size (base currency) - 0 to skip |
| amount | number | Size (quote currency) - 0 to skip |
| expirationInSeconds | number | Expiration time in seconds (default 15, max 240) |
Parameters
No parameters required for this endpoint.
RFQ OBJECT
| Field | Type | Description |
|---|---|---|
| requestForQuoteId | string | Request For Quote ID |
| userId | string | User ID |
| instrument | string | Instrument name |
| baseCurrency | string | Base currency name |
| quoteCurrency | string | Quote currency name |
| side | string | Selected side ("buy" or "sell") |
| size | number | Order size (base currency) |
| price | number | Proposed price |
| amount | number | Order amount (quote currency) |
| status | number | Order status (0 created, 1 executed, 2 cancelled) |
| requestDateTime | string | Timestamp of RFQ creation |
| expireDateTime | string | Timestamp of RFQ expiration |
accept rfq
Accept a previously created Request For Quote.
Response Data Example:
{
"tradeId":"xxxx",
"side":"buy",
"pair":"BTCUSDT",
"price":26844.07,
"size":0.01,
"notional":268.4407,
"status":1,
"baseCurrency":"BTC",
"quoteCurrency":"USDT",
"timestamp":"2023-10-11T23:00:57.93094Z",
"statusError":""
}
/api/v1/rfq/accept
Headers
| Header | Type | Description |
|---|---|---|
| Authorization | string | Bearer API_KEY |
| Content-Type | string | application/json |
REQUEST BODY
| Field | Type | Description |
|---|---|---|
| requestForQuoteId | string | ID of the RFQ generated through CreateRFQ |
Parameters
No parameters required for this endpoint.
RFQ ACCEPTED OBJECT
| Field | Type | Description |
|---|---|---|
| tradeId | string | Trade ID |
| side | string | Selected side ("buy" or "sell") |
| pair | string | Pair name |
| price | number | Executed price |
| size | number | Trade size |
| notional | number | Trade notional value |
| status | number | Order status (0 created, 1 executed, 2 cancelled) |
| baseCurrency | string | Base currency name |
| quoteCurrency | string | Quote currency name |
| timestamp | string | Datetime of trade |
| statusError | string | Error in case of cancellation or rejection |
User's balances
Returns informations about the user allocated and available balances. .
/api/v1/user/balances
Headers
| Header | Type | Description |
|---|---|---|
| Authorization | string | Bearer API_KEY |
| Content-Type | string | application/json |
Response Data Example:
{
"userId": "1a66db8f-4043-4035-91df-615b3a7ac073",
"sequence": 6618,
"assets": [
{
"name": "MATIC",
"available": 0,
"allocated": 0
},
{
"name": "BTC",
"available": 0.014335000000000004,
"allocated": 0
}, ...
],
"deleted": false
}
REQUEST BODY
No parameters required for this endpoint.
Parameters
No parameters required for this endpoint.
BALANCE OBJECT
| Field | Type | Description |
|---|---|---|
| userId | string | User ID |
| sequence | number | Sequence number |
| assets | array | Array of assets |
| name | string | Asset name |
| available | number | Available balance |
| allocated | number | Allocated balance |
| deleted | boolean | Deleted |
Get Trades by clientId
Returns an array of the user's executed trades.
/api/v1/user/trades/{tradeClientId}
Headers
| Header | Type | Description |
|---|---|---|
| Authorization | string | Bearer API_KEY |
| Content-Type | string | application/json |
Response Data Example:
{
"id":"xxxx",
"clientId": "zzzz",
"userId":"yyyy",
"tradeType": "",
"orderSourceId": "",
"instrument": "ETH/EUR",
"side": "sell",
"price": 1534,
"quantityFilled": 0.05,
"timestamp": "2023-07-23:32:35.000Z",
"email": "abc@email.it"
}
REQUEST BODY
No parameters required for this endpoint.
Parameters
| Parameter | type | Description |
|---|---|---|
| tradeClientId | string | Trade Client Id |
TRADE OBJECT
| Field | Type | Description |
|---|---|---|
| id | string | Trade ID |
| clientId | string | Client ID |
| userId | string | User ID |
| tradeType | string | Trade Type |
| orderSourceId | string | Order Source ID |
| instrument | string | Instrument |
| side | string | Trade side |
| price | number | Trade price |
| quantityFilled | number | Quantity filled |
| timestamp | string | Trade timestamp |
| string | User email |
trades paginated
Returns an array of the user's executed trades with a 7 days limit.
Note: The paging system is zero-based. For example,
for page 1 with a page size of 50, please use the following
parameters: 0, 50. For page 2, please use
1, 50, and so on.
/api/v1/user/trades/{startDate}/{endDate}/{page}/{pageSize}
Headers
| Header | Type | Description |
|---|---|---|
| Authorization | string | Bearer API_KEY |
| Content-Type | string | application/json |
Response Data Example:
{
"id": "xxxx",
"clientId": "zzzz",
"userId":"yyyy",
"tradeType": "",
"orderSourceId": "",
"instrument": "ETH/EUR",
"side": "sell",
"price": 1534,
"quantityFilled": 0.05,
"timestamp": "2023-07-23:32:35.000Z",
"email": "abc@email.it"
}
REQUEST BODY
No parameters required for this endpoint.
Parameters
| Parameter | type | Description |
|---|---|---|
| startDate | string | is a datetime iso |
| endDate | string | is a datetime iso |
| page | number | page number |
| pageSize | number | min size is 5 and max is 50 |
TRADE OBJECT
| Field | Type | Description |
|---|---|---|
| id | string | Transaction ID |
| clientId | string | Client ID |
| userId | string | User ID |
| tradeType | string | Trade Type |
| orderSourceId | string | Order Source ID |
| instrument | string | Instrument name |
| side | string | Trade side ("buy" or "sell") |
| price | number | Executed price |
| quantityFilled | number | Trade quantity executed |
| timestamp | string | Datetime of the trade |
| string | Account email |
historical trades paginated
Returns an array of the user's executed trades with a 30 days limit.
Note: The paging system is zero-based. For example,
for page 1 with a page size of 50, please use the following
parameters: 0, 50. For page 2, please use
1, 50, and so on.
/api/v1/user/trades/{startDate}/{endDate}/{page}/{pageSize}/historical
Headers
| Header | Type | Description |
|---|---|---|
| Authorization | string | Bearer API_KEY |
| Content-Type | string | application/json |
Response Data Example:
{
"id": "xxxx",
"clientId": "zzzz",
"userId":"yyyy",
"tradeType": "",
"orderSourceId": "",
"instrument": "ETH/EUR",
"side": "sell",
"price": 1534,
"quantityFilled": 0.05,
"timestamp": "2023-07-23:32:35.000Z",
"email": "abc@email.it"
}
REQUEST BODY
No parameters required for this endpoint.
Parameters
| Parameter | type | Description |
|---|---|---|
| startDate | string | is a datetime iso |
| endDate | string | is a datetime iso |
| page | number | page number |
| pageSize | number | min size is 5 and max is 50 |
TRADE OBJECT
| Field | Type | Description |
|---|---|---|
| id | string | Transaction ID |
| clientId | string | Client ID |
| userId | string | User ID |
| tradeType | string | Trade Type |
| orderSourceId | string | Order Source ID |
| instrument | string | Instrument name |
| side | string | Trade side ("buy" or "sell") |
| price | number | Executed price |
| quantityFilled | number | Trade quantity executed |
| timestamp | string | Datetime of the trade |
| string | Account email |
transactions paginated
Returns an array of the user's historic movements, includint trades, withdrawals and deposits with a 7 days limit.
Note: The paging system is zero-based. For example,
for page 1 with a page size of 50, please use the following
parameters: 0, 50. For page 2, please use
1, 50, and so on.
/api/v1/user/transactions/{startDate}/{endDate}/{page}/{pageSize}
Headers
| Header | Type | Description |
|---|---|---|
| Authorization | string | Bearer API_KEY |
| Content-Type | string | application/json |
Response Data Example:
{
"id":"xxxx",
"userId":"yyyy",
"sequence":123,
"type":4,
"asset":"USDC",
"amount":1050.32,
"timestamp":"2023-07-23T12:06:04.175Z"
}
REQUEST BODY
No parameters required for this endpoint.
Parameters
| Parameter | type | Description |
|---|---|---|
| startDate | string | is a datetime iso |
| endDate | string | is a datetime iso |
| page | number | page number |
| pageSize | number | min size is 5 and max is 50 |
TRANSACTION OBJECT
| Field | Type | Description |
|---|---|---|
| id | string | Transaction ID |
| userId | string | User ID |
| sequence | number | Sequence number of the transaction |
| type | number |
0 - deposit 1 - withdraw 2 - trade fee 3 - custody fee 4 - trade 5 - trade lock 6 - trade unlock 7 - withdrawal fee 8 - withdrawal refund 9 - withdrawal fee refund |
| asset | string | Asset name |
| amount | number | Transaction amount |
| timestamp | string | Datetime of the transaction |
historical transactions paginated
Returns an array of the user's historic movements, includint trades, withdrawals and deposits with a 30 days limit.
Note: The paging system is zero-based. For example,
for page 1 with a page size of 50, please use the following
parameters: 0, 50. For page 2, please use
1, 50, and so on.
/api/v1/user/transactions/{startDate}/{endDate}/{page}/{pageSize}/historical
Headers
| Header | Type | Description |
|---|---|---|
| Authorization | string | Bearer API_KEY |
| Content-Type | string | application/json |
Response Data Example:
{
"id":"xxxx",
"userId":"yyyy",
"sequence":123,
"type":4,
"asset":"USDC",
"amount":1050.32,
"timestamp":"2023-07-23T12:06:04.175Z"
}
REQUEST BODY
No parameters required for this endpoint.
Parameters
| Parameter | type | Description |
|---|---|---|
| startDate | string | is a datetime iso |
| endDate | string | is a datetime iso |
| page | number | page number |
| pageSize | number | min size is 5 and max is 50 |
TRANSACTION OBJECT
| Field | Type | Description |
|---|---|---|
| id | string | Transaction ID |
| userId | string | User ID |
| sequence | number | Sequence number of the transaction |
| type | number |
0 - deposit 1 - withdraw 2 - trade fee 3 - custody fee 4 - trade 5 - trade lock 6 - trade unlock 7 - withdrawal fee 8 - withdrawal refund 9 - withdrawal fee refund |
| asset | string | Asset name |
| amount | number | Transaction amount |
| timestamp | string | Datetime of the transaction |
withdraw
Sends a withdrawal request.
/api/v1/withdrawals
Headers
| Header | Type | Description |
|---|---|---|
| Authorization | string | Bearer API_KEY |
| Content-Type | string | application/json |
Response Data Example:
{
"id": "xxxx",
"clientId": "zzzz",
"userId": "yyyy",
"name" : "Marco",
"surname": "Rossi",
"company": "",
"description": "xyz",
"destination": "xyzwallet",
"destinationParams": {},
"network": "ethereum",
"amount": 1,
"asset": "USDT",
"fee": 5,
"status":"CONFIRMING",
"refId": "ab1234",
"isInstant" : false,
"timestamp" : "2024-03-27T16:03:12.456Z"
}
REQUEST BODY
| Field | Type | Description |
|---|---|---|
| asset | string | Asset of the address (e.g.: "BTC" or "EUR") |
| amount | number | Quantity of asset to be withdrawn |
| address | string | Destination address, must be whitelisted |
| network | string | Network of the address |
Parameters
No parameters required for this endpoint.
WITHDRAW OBJECT
| Field | Type | Description |
|---|---|---|
| id | string | Withdraw ID |
| clientId | string | Client ID |
| userId | string | User ID |
| name | string | User first name |
| surname | string | User last name |
| company | string | User company |
| description | string | Description |
| destination | string | Destination address |
| destinationParams | object | Destination parameters |
| network | string | Network name |
| amount | number | Withdraw amount |
| asset | string | Asset name |
| fee | number | Fee |
| status | string |
CREATED CONFIRMING CONFIRMED PENDING SUCCESS FAILURE REJECTED |
| refId | string | Cro or Trx Id added after network submission |
| isInstant | bool | Option for instant withdraw |
| timestamp | string | Timestamp of the withdraw |
withdraw funds with address params
Sends a withdrawal request with additional parameters for the destination address.
Response Data Example:
{
"id": "xxxx",
"userId": "zzzz",
"clientId": "yyyy",
"name": "xxxx",
"surname": "xxxx",
"company": "xxxx",
"description": "",
"destination": "ITXXXXXXXXXXXXXXXX",
"destinationParams": {},
"network": "Sepa",
"amount": 45,
"fee": 5,
"asset": "EUR",
"status": "CONFIRMING",
"refId": null,
"isInstant": true,
"timestamp": "2024-10-10T11:47:32.7311775Z"
}
/api/v1/withdrawals/address
Headers
| Header | Type | Description |
|---|---|---|
| Authorization | string | Bearer API_KEY |
| Content-Type | string | application/json |
REQUEST BODY
| Field | Type | Description |
|---|---|---|
| asset | string | Asset of the address (e.g.: "BTC" or "EUR") |
| amount | number | Quantity of asset to be withdrawn |
| address | string | Destination address, must be whitelisted |
| addressParams | object | Destination address parameters |
| network | string | Network of the address |
| isInstant | bool | Option for instant withdraw |
Parameters
No parameters required for this endpoint.
WITHDRAW OBJECT
| Field | Type | Description |
|---|---|---|
| id | string | Withdraw ID |
| clientId | string | Client ID |
| userId | string | User ID |
| name | string | User first name |
| surname | string | User last name |
| company | string | User company |
| description | string | Description |
| destination | string | Destination address |
| destinationParams | string | Destination parameters |
| network | string | Network name |
| amount | number | Withdraw amount |
| asset | string | Asset name |
| fee | number | Fee |
| status | string |
CREATED CONFIRMING CONFIRMED PENDING SUCCESS FAILURE REJECTED |
| refId | string | Cro or Trx Id added after network submission |
| isInstant | bool | Option for instant withdraw |
| timestamp | string | Timestamp of the withdraw |
instant withdraw
Sends a instant withdrawal request.
/api/v1/withdrawals/instant
Headers
| Header | Type | Description |
|---|---|---|
| Authorization | string | Bearer API_KEY |
| Content-Type | string | application/json |
Response Data Example:
{
"id": "xxxx",
"clientId": "zzzz",
"userId": "yyyy",
"name" : "Marco",
"surname": "Rossi",
"company": "",
"description": "xyz",
"destination": "xyzwallet",
"destinationParams": {},
"network": "ethereum",
"amount": 1,
"asset": "USDT",
"fee": 5,
"status":"CONFIRMING",
"refId": "ab1234",
"isInstant" : false,
"timestamp" : "2024-03-27T16:03:12.456Z"
}
REQUEST BODY
| Field | Type | Description |
|---|---|---|
| asset | string | Asset of the address (e.g.: "BTC" or "EUR") |
| amount | number | Quantity of asset to be withdrawn |
| address | string | Destination address, must be whitelisted |
| network | string | Network of the address |
Parameters
No parameters required for this endpoint.
WITHDRAW OBJECT
| Field | Type | Description |
|---|---|---|
| id | string | Withdraw ID |
| clientId | string | Client ID |
| userId | string | User ID |
| name | string | User first name |
| surname | string | User last name |
| company | string | User company |
| description | string | Description |
| destination | string | Destination address |
| destinationParams | string | Destination parameters |
| network | string | Network name |
| amount | number | Withdraw amount |
| asset | string | Asset name |
| fee | number | Fee |
| status | string |
CREATED CONFIRMING CONFIRMED PENDING SUCCESS FAILURE REJECTED |
| refId | string | Cro or Trx Id added after network submission |
| isInstant | bool | Option for instant withdraw |
| timestamp | string | Timestamp of the withdraw |
Withdrawals
Returns an array of the user's historic withdrawals.
/api/v1/withdrawals
Headers
| Header | Type | Description |
|---|---|---|
| Authorization | string | Bearer API_KEY |
| Content-Type | string | application/json |
Response Data Example:
[
{
"id":"xxxx",
"clientId": "zzzz",
"userId":"yyyy",
"name":"Mario",
"surname":"Rossi",
"company":"Company",
"description":null,
"destination":"zzzz",
"destinationParams": {},
"network":"Ethereum",
"amount":0.05,
"asset":"ETH",
"fee": 5,
"status":"CONFIRMING",
"refId":"ab1234",
"isInstant":false,
"timestamp":"2023-11-10T15:26:10.586Z"
}, ...
]
REQUEST BODY
No parameters required for this endpoint.
Parameters
Important Notes on Pagination and Filtering:
- Pagination Parameters (page, pageSize):
-
These parameters are only necessary when filtering by fields
that can return multiple items, such as
assetornetwork. -
When you expect multiple results, include
pageandpageSizeto paginate through the results effectively. - Filtering by withdrawalId:
-
When using the
withdrawalIdparameter to filter, pagination parameters are not required. -
Since
withdrawalIdis unique to each withdrawal, the query will return at most one result.
| Parameter | Description |
|---|---|
| clientId | Client ID |
| withdrawalId | Withdrawal ID |
| network | Network name |
| asset | Asset name |
| address | Destination address |
| startDate | Start date ISO |
| endDate | End date ISO |
| page | Page number |
| pageSize | Page size |
WITHDRAW OBJECT
| Field | Type | Description |
|---|---|---|
| id | string | Withdraw ID |
| clientId | string | Client ID |
| userId | string | User ID |
| name | string | User first name |
| surname | string | User last name |
| company | string | User company |
| description | string | Description |
| destinationParams | string | Destination parameters |
| destination | string | Destination address |
| network | string | Network name |
| amount | number | Withdraw amount |
| asset | string | Asset name |
| fee | number | Fee |
| status | string |
CREATE CONFIRMING CONFIRMED PENDING SUCCESS FAILURE REJECTED |
| refId | string | Cro or Trx Id added after network submission |
| isIstant | bool | Option for istant withdraw |
| timestamp | string | Timestamp of the withdraw |
Get Withdrawals paginated
Returns an array of the user's withdrawals.
Note: The paging system is zero-based. For example,
for page 1 with a page size of 50, please use the following
parameters: 0, 50. For page 2, please use
1, 50, and so on.
/api/v1/withdrawals/{startDate}/{endDate}/{page}/{pageSize}
Headers
| Header | Type | Description |
|---|---|---|
| Authorization | string | Bearer API_KEY |
| Content-Type | string | application/json |
Response Data Example:
[
{
"id":"xxxx",
"clientId": "zzzz",
"userId":"yyyy",
"name":"Mario",
"surname":"Rossi",
"company":"Company",
"description":null,
"destination":"zzzz",
"destinationParams": {},
"network":"Ethereum",
"amount":0.05,
"asset":"ETH",
"fee": 5,
"status":"CONFIRMING",
"refId": "ab1234",
"isInstant" : false,
"timestamp" : "2024-03-27T16:03:12.456Z"
}, ...
]
REQUEST BODY
No parameters required for this endpoint.
Parameters
| Parameter | type | Description |
|---|---|---|
| startDate | string | is a datetime iso |
| endDate | string | is a datetime iso |
| page | number | page number |
| pageSize | number | min size is 5 and max is 50 |
WITHDRAW OBJECT
| Field | Type | Description |
|---|---|---|
| id | string | Withdraw ID |
| clientId | string | Client ID |
| userId | string | User ID |
| name | string | User first name |
| surname | string | User last name |
| company | string | User company |
| description | string | Description |
| destination | string | Destination address |
| destinationParams | string | Destination address params |
| network | string | Network name |
| amount | number | Withdraw amount |
| asset | string | Asset name |
| fee | number | Fee |
| status | string |
CREATED CONFIRMING CONFIRMED PENDING SUCCESS FAILURE REJECTED |
| refId | string | Cro or Trx Id added after network submission |
| isInstant | bool | Option for instant withdraw |
| timestamp | string | Timestamp of the withdraw |
Get withdrawals by clientId
Returns an array of the user's withdrawals.
/api/v1/withdrawals/{withdrawClientId}
Headers
| Header | Type | Description |
|---|---|---|
| Authorization | string | Bearer API_KEY |
| Content-Type | string | application/json |
Response Data Example:
[
{
"id":"xxxx",
"clientId": "zzzz",
"userId":"yyyy",
"name":"Mario",
"surname":"Rossi",
"company":"Company",
"description":null,
"destination":"zzzz",
"network":"Ethereum",
"amount":0.05,
"asset":"ETH",
"fee":, 5,
"status":"CONFIRMING",
"refId": "ab1234",
"isInstant" : false,
"timestamp":"2023-11-10T15:26:10.586Z"
}, ...
]
REQUEST BODY
No parameters required for this endpoint.
Parameters
| Parameter | type | Description |
|---|---|---|
| withdrawClientId | string | Withdraw Client Id |
WITHDRAW OBJECT
| Field | Type | Description |
|---|---|---|
| id | string | Withdraw ID |
| clientId | string | Client ID |
| userId | string | User ID |
| name | string | User first name |
| surname | string | User last name |
| company | string | User company |
| description | string | Description |
| destination | string | Destination address |
| network | string | Network name |
| amount | number | Withdraw amount |
| asset | string | Asset name |
| fee | number | Fee |
| status | string |
CREATED CONFIRMING CONFIRMED PENDING SUCCESS FAILURE REJECTED |
| refId | string | Cro or Trx Id added after network submission |
| isInstant | bool | Option for instant withdraw |
| timestamp | string | Timestamp of the withdraw |
get payees paginated
Returns an array of the user's payees.
/api/v1/payees?pageSize={pageSize}
Headers
| Header | Type | Description |
|---|---|---|
| Authorization | string | Bearer API_KEY |
| Content-Type | string | application/json |
Response Data Example:
{
"payload": [
{
"id": "zzzz",
"userId": "xxxx",
"type": 1,
"name": "John",
"surname": "Doe",
"company": "Acme Corp",
"country": "US",
"state": "CA",
"city": "San Francisco",
"address": "123 Main Street",
"postalCode": "94105",
"disabled": false,
"deleted": false,
"createdAt": "2025-09-03T11:22:54.000Z"
}
], ...
"paginationToken": "{\"Id\":{\"S\":\"id-001\"}}"
}
REQUEST BODY
No parameters required for this endpoint.
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| pageSize | number | Yes | Number of payees to return (must be between 5 and 50) |
| from | string | No | From is a datetime ISO (e.g., 2024-01-01T00:00:00Z) |
| to | string | No | To is a datetime ISO (e.g., 2024-12-31T23:59:59Z) |
| paginationToken | string | No | Token for pagination (e.g., next page token) |
PAYLOAD OBJECT
The response contains a payload array with payee
objects and a paginationToken for fetching the next set
of results.
| Field | Type | Description |
|---|---|---|
| payload | array | Array of payee objects |
| paginationToken | string | Token for pagination (e.g., next page token) |
PAYEES OBJECT
| Field | Type | Description |
|---|---|---|
| id | string | Payee ID |
| userId | string | User ID associated with the payee |
| type | string | Payee type (e.g., Individual, Company) |
| name | string | Payee first name |
| surname | string | Payee last name |
| company | string | Payee company name (if applicable) |
| country | string | Payee country |
| state | string | Payee state or province |
| city | string | Payee city |
| address | string | Payee address |
| postalCode | string | Payee postal code |
| deleted | boolean | Indicates if the payee is deleted |
| disabled | boolean | Indicates if the payee is disabled |
| createdAt | string | Timestamp of payee creation |
register payee
Registers a new payee.
/api/v1/payee
Headers
| Header | Type | Description |
|---|---|---|
| Authorization | string | Bearer API_KEY |
| Content-Type | string | application/json |
Request Body Example:
{
"id": "zzzz",
"userId": "xxxx",
"type": 1,
"name": "John",
"surname": "Doe",
"company": "Acme Corp",
"country": "US",
"state": "CA",
"city": "San Francisco",
"address": "123 Main Street",
"postalCode": "94105"
}
REQUEST BODY
| Field | Type | Description |
|---|---|---|
| type | string | Payee type (e.g., Individual, Company) |
| name | string | Payee first name |
| surname | string | Payee last name |
| company | string | Payee company name (if applicable) |
| country | string | Payee country |
| state | string | Payee state or province |
| city | string | Payee city |
| address | string | Payee address |
| postalCode | string | Payee postal code |
Parameters
No parameters required for this endpoint.
RESPONSE OBJECT
| Field | Type | Description |
|---|---|---|
| id | string | Unique identifier of the payee |
| userId | string | ID of the user associated with the payee |
| type | string | Type of the payee |
| name | string | First name of the payee |
| surname | string | Last name of the payee |
| company | string | Company name of the payee (if applicable) |
| country | string | Country of the payee |
| state | string | State or province of the payee |
| city | string | City of the payee |
| address | string | Address of the payee |
| postalCode | string | Postal code of the payee |
GET PAYEE ADDRESSES paginated
Returns an array of addresses associated with a specific payee.
/api/v1/payee-addresses?payeeId={payeeId}&pageSize={pageSize}
Headers
| Header | Type | Description |
|---|---|---|
| Authorization | string | Bearer API_KEY |
| Content-Type | string | application/json |
Response Data Example:
{
"payload": [
{
"id": "zzzz",
"payeeId": "xxxx",
"name": "USDC Wallet",
"asset": "USDC",
"address": "address_001",
"addressParams": {
"tag": "stable"
},
"network": "Ethereum",
"status": 1,
"comment": "USDC receiving wallet",
"auditBy": "System",
"auditDate": "2025-09-11T17:50:59.000Z",
"deleted": false,
"createdAt": "2025-09-11T17:50:59.000Z"
}, ...
],
"paginationToken": "{}"
}
REQUEST BODY
No parameters required for this endpoint.
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| payeeId | string | Yes | ID of the payee to retrieve addresses for |
| pageSize | number | Yes | Number of addresses to return (must be between 5 and 50) |
| from | string | No | From is a datetime ISO (e.g., 2024-01-01T00:00:00Z) |
| to | string | No | To is a datetime ISO (e.g., 2024-12-31T23:59:59Z) |
| paginationToken | string | No | Token for pagination (e.g., next page token) |
PAYLOAD OBJECT
The response contains a payload array with payee's
addresses objects and a paginationToken for fetching
the next set of results.
| Field | Type | Description |
|---|---|---|
| payload | array | Array of payee objects |
| paginationToken | string | Token for pagination (e.g., next page token) |
PAYEE ADDRESS OBJECT
| Field | Type | Description |
|---|---|---|
| id | string | Address ID |
| payeeId | string | ID of the associated payee |
| name | string | Descriptive name for the address |
| asset | string | Asset type for the address (e.g., BTC, ETH) |
| address | string | The actual blockchain or payment address |
| network | string | Network for the address (e.g., Bitcoin, Ethereum) |
| status | integer | Address status (0: pending, 1: refused, 2: approved, 3: deleted) |
| comment | string | Optional comment or description |
| addressParams | object | Additional parameters for the address (network specific) |
| payeeAddressStatus | string | Status of the address (e.g., active, inactive) |
| auditBy | string | ID of the user who audited the address |
| auditDate | string | Timestamp of the last audit |
| deleted | boolean | Indicates if the address has been deleted |
| createdAt | string | Timestamp of address creation |
register payee address
Registers a new address for an existing payee.
/api/v1/payee/{payeeId}/address
Headers
| Header | Type | Description |
|---|---|---|
| Authorization | string | Bearer API_KEY |
| Content-Type | string | application/json |
Response Data Example:
{
"id": "zzzz",
"payeeId": "xxxx",
"name": "USDC Wallet",
"asset": "USDC",
"address": "address_001",
"addressParams": {
"tag": "stable"
},
"network": "Ethereum",
"comment": "USDC receiving wallet"
}
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| payeeId | string | Yes | ID of the payee to add the address to |
REQUEST BODY
| Field | Type | Description |
|---|---|---|
| name | string | Descriptive name for the address |
| asset | string | Asset type for the address (e.g., BTC, ETH) |
| address | string | The blockchain or payment address |
| addressParams | array | Additional parameters for the address |
| network | string | Network for the address (e.g., Bitcoin, Ethereum) |
| comment | string | Optional comment or description |
EUR Network Types
For EUR transfers, the following network types are available:
| Network | Description |
|---|---|
| Sepa | Single Euro Payments Area transfer |
GBP Network Types
For GBP transfers, the following network types are available:
| Network | Description |
|---|---|
| Faster Payments | Instant transfer within the UK |
USD Network Types
For USD transfers, the following network types are available:
| Network | Description |
|---|---|
| INTERNATIONAL_WIRE | International wire transfer |
| DOMESTIC_WIRE | Domestic wire transfer within the US |
| ACH | Standard ACH transfer |
| ACH_SAME_DAY | Same-day ACH transfer |
Required Address Parameters by Network
Each Currency network type requires specific address parameters:
| Network | Parameter ID | Description | Required |
|---|---|---|---|
| Sepa | bic | Bank Identifier Code (SWIFT code) | Yes |
| Faster Payments | sortcode | Sort code of the bank | Yes |
| INTERNATIONAL_WIRE | accountnumber | Bank account number | Yes |
| bic | Bank Identifier Code (SWIFT code) | Yes | |
| aba | American Banking Association routing number | Yes | |
| bankname | Name of the bank | Yes | |
| bankaddressline1 | First line of bank's address | Yes | |
| bankaddresscity | Bank's city | Yes | |
| bankaddresspostalcode | Bank's postal code | Yes | |
| bankcountry | Bank's country code | Yes | |
| DOMESTIC_WIRE | accountnumber | Bank account number | Yes |
| wire | Wire routing number | Yes | |
| bankname | Name of the bank | Yes | |
| ACH / ACH_SAME_DAY | accountnumber | Bank account number | Yes |
| aba | ACH routing number | Yes | |
| accounttype | Account type (CHECKING or SAVINGS) | Yes |
RESPONSE OBJECT
| Field | Type | Description |
|---|---|---|
| id | string | Unique identifier of the newly created payee address |
| payeeId | string | ID of the payee associated with the address |
| name | string | Descriptive name for the address |
| asset | string | Asset type for the address (e.g., BTC, ETH) |
| address | string | The blockchain or payment address |
| addressParams | array | Additional parameters for the address |
| network | string | Network for the address (e.g., Bitcoin, Ethereum) |
| comment | string | Optional comment or description |
get transfers paginated
Returns a paginated list of transfers.
/api/v1/transfers?startDate={startDate}&endDate={endDate}
&pageSize={pageSize}
Headers
| Header | Type | Description |
|---|---|---|
| Authorization | string | Bearer API_KEY |
| Content-Type | string | application/json |
Response Data Example:
{
"payload": [
{
"id": "zzzz,
"userId": "xxxx",
"clientId": "yyyy",
"description": "Monthly payment to supplier",
"debtor": {
"internalAddressId": "zzzz",
"asset": "BTC",
"address": "address_001",
"addressParams": {
"tag": "internal"
},
"network": "Bitcoin",
"amount": 0.001,
"fee": 0.0001
},
"creditor": {
"payeeAddressId": "xxxx",
"asset": "BTC",
"address": "address_001",
"addressParams": {
"memo": "payment123"
},
"network": "Bitcoin",
"amount": 0.0009
},
"exchangeInfo": {
"rate": 1.0
},
"status": "Pending",
"refId": "ref_789xyz",
"payload": "{\"custom\":\"data\"}",
"isInstant": false,
"timestamp": "2025-09-12T14:30:00.000Z"
}, ...
],
"paginationToken": "{\"Id\":{\"S\":\"id_123456\"}}"
}
REQUEST BODY
No body parameters required for this endpoint.
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| startDate | string | Yes | Start date in ISO format (e.g., 2025-01-01T00:00:00Z) |
| endDate | string | Yes | End date in ISO format (e.g., 2025-01-31T23:59:59Z) |
| pageSize | number | Yes | Number of results per page (5-50) |
| paginationToken | string | No | Token for pagination (retrieve next page) |
Validation Rules
- pageSize must be between 5 and 50 items
- endDate must be greater than startDate
- Maximum date range is 30 days
PAYLOAD OBJECT
The response contains a payload array with transfer
objects and a paginationToken for fetching the next set
of results.
| Field | Type | Description |
|---|---|---|
| payload | array | Array of transfer objects |
| paginationToken | string | Token for pagination (e.g., next page token) |
TRANSFER OBJECT
| 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) |
| creditor | object | Destination information (see Creditor Object) |
| exchangeInfo | object | Exchange rate information (see ExchangeInfo Object) |
| status | string | Transfer status |
| 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 |
DEBTOR OBJECT
| 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
| 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
| Field | Type | Description |
|---|---|---|
| rate | number | Exchange rate used for the transfer |
transfer
Initiates a transfer of funds to a payee address.
/api/v1/transfer
Headers
| Header | Type | Description |
|---|---|---|
| Authorization | string | Bearer API_KEY |
| Content-Type | string | application/json |
Response Data Example:
{
"id": "zzzz",
"asset": "BTC",
"amount": 0.001,
"internalAddressId": "yyyy",
"payeeAddressId": "xxxx",
"description": ""
}
REQUEST BODY
| Field | Type | Description |
|---|---|---|
| asset | string | Asset to transfer (e.g., BTC, ETH) |
| amount | number | Amount of asset to transfer |
| internalAddressId | string | Source address ID |
| payeeAddressId | string | Destination payee address ID |
| description | string | Optional description of the transfer |
Validation Rules
- Description is required and must not exceed 250 characters
- Asset must exist in the configured networks
Parameters
No parameters required for this endpoint.
RESPONSE OBJECT
| Field | Type | Description |
|---|---|---|
| id | string | Unique identifier of the initiated transfer |
| asset | string | Asset to transfer (e.g., BTC, ETH) |
| amount | number | Amount of asset to transfer |
| internalAddressId | string | Source address ID |
| payeeAddressId | string | Destination payee address ID |
| description | string | Description of the transfer |
⚠️ WARNING - This endpoint is only available in the production environment.
get transaction ledger
Retrieves detailed information about a specific transaction, including ledger entries.
/api/v1/transactions/{transactionId}
Headers
| Header | Type | Description |
|---|---|---|
| Authorization | string | Bearer API_KEY |
| Content-Type | string | application/json |
Response Data Example:
{
"id": "zzzz",
"refId": "xxxx",
"userId": "yyyy",
"type": "Transfer",
"status": "Completed",
"description": "Monthly payment to supplier",
"asset": "BTC",
"amount": 0.001,
"debtor": {
"address": "zzzz",
"asset": "BTC",
"network": "Bitcoin"
},
"creditor": {
"address": "xxxx",
"asset": "BTC",
"network": "Bitcoin"
},
"timestamp": "2025-09-12T14:30:00.000Z"
}
REQUEST BODY
No body parameters required for this endpoint.
Parameters
| Parameter | Type | Description |
|---|---|---|
| transactionId | string | ID of the transaction to retrieve |
TRANSACTION LEDGER OBJECT
| Field | Type | Description |
|---|---|---|
| id | string | Transaction ID |
| refId | string | Reference ID associated with the transaction |
| userId | string | User ID associated with the transaction |
| type | string | Transaction type (e.g., DEPOSIT, WITHDRAWAL) |
| status | string | Transaction status (e.g., CREATED, COMPLETED) |
| description | string | Description of the transaction |
| asset | string | Asset involved in the transaction (e.g., EUR, BTC) |
| amount | number | Amount involved in the transaction |
| debtor | object | Details of the debtor (sender) |
| creditor | object | Details of the creditor (receiver) |
| timestamp | string | Timestamp of the transaction creation |
DEBTOR OBJECT
| Field | Type | Description |
|---|---|---|
| address | string | Debtor's blockchain or bank address |
| asset | string | Asset being sent by the debtor |
| network | string | Network of the debtor's address (e.g., Bitcoin, Ethereum) |
CREDITOR OBJECT
| Field | Type | Description |
|---|---|---|
| address | string | Creditor's blockchain or bank address |
| asset | string | Asset being received by the creditor |
| network | string | Network of the creditor's address (e.g., Bitcoin, Ethereum) |