Partner
This module contains endpoints for displaying information and managing partner account
Get partner balances
Method: GET
Endpoint: /v1/partner/balances
Response
Code: 200
Description: Returns all partner balances
Response body explanation
{
"fiatBalances": [
{
"id": "Balance id (from our system)",
"amount": "Amount",
"name": "Currency name",
"rate": "Rate",
"iban": "IBAN number",
"status": "Enum: [ 'ACTIVE, 'WAITING_TO_BE_ACTIVATED' ]"
}
],
"cryptoBalances": [
{
"id": "Balance id (from our system)",
"amount": "Amount",
"name": "Currency name",
"wallet": "Wallet address",
"rate": "Rate",
"networkConfig": {
[networkName]: {
"mainnet": "Is mainnet network",
"name": "Network name",
"withdrawal": {
"feeWithdrawal": "Withdrawal fee",
"minWithdrawal": "Withdrawal min amount"
},
"deposit": {
"minDeposit": "Deposit min amount"
},
}
}
}
]
}
Example response
{
"fiatBalances": [
{
"id": "02ee1b09-9934-4dcc-8dec-91bf34b8f543",
"amount": "0.00",
"name": "eur",
"rate": 1,
"iban": "LT683130019950000568",
"status": "ACTIVE"
}
],
"cryptoBalances": [
{
"id": "f2de1f4b-916f-417e-9410-8bf4a70693ee",
"amount": "0.000000",
"name": "usdc",
"wallet": "0x2e90ca5bbe46d5ae23f2df90457d020391b92673",
"rate": 0.963728,
"networkConfig": {
"ethereum": {
"mainnet": false,
"name": "sepolia",
"withdrawal": {
"feeWithdrawal": 10,
"minWithdrawal": 15
},
"deposit": {
"minDeposit": 5
}
},
"polygon": {
"mainnet": false,
"name": "amoy",
"withdrawal": {
"feeWithdrawal": 10,
"minWithdrawal": 15
},
"deposit": {
"minDeposit": 5
}
}
}
},
{
"id": "7415034b-3dcf-4f45-a213-ce6361c248aa",
"amount": "0.000000",
"name": "usdt",
"wallet": "0x2e90ca5bbe46d5ae23f2df90457d020391b92673",
"rate": 0.963486,
"networkConfig": {
"ethereum": {
"mainnet": false,
"name": "sepolia",
"withdrawal": {
"feeWithdrawal": 10,
"minWithdrawal": 15
},
"deposit": {
"minDeposit": 5
}
},
"polygon": {
"mainnet": false,
"name": "amoy",
"withdrawal": {
"feeWithdrawal": 10,
"minWithdrawal": 15
},
"deposit": {
"minDeposit": 5
}
}
}
},
{
"id": "ca5f1989-978b-422c-b0bd-b799c5e32fe8",
"amount": "0.00000000",
"name": "ltc",
"wallet": "tltc1qvf4kplcdjzskhukeg58lnde4gxhqv822fpxm2t",
"rate": 128.12666666,
"networkConfig": {
"btc": {
"mainnet": false,
"name": "test",
"withdrawal": {
"feeWithdrawal": 0.002,
"minWithdrawal": 0.004
},
"deposit": {
"minDeposit": 0
}
}
}
},
{
"id": "b28d71d3-60ae-49ac-9346-26bf5358e198",
"amount": "0.00000000",
"name": "pol",
"wallet": "0x2e90ca5bbe46d5ae23f2df90457d020391b92673",
"rate": 0.39908402,
"networkConfig": {
"polygon": {
"mainnet": false,
"name": "amoy",
"withdrawal": {
"feeWithdrawal": 0.001,
"minWithdrawal": 0.00005
},
"deposit": {
"minDeposit": 0
}
}
}
},
{
"id": "d83263ca-3e1f-4190-8739-e99900758ed2",
"amount": "0.00000000",
"name": "eth",
"wallet": "0x2e90ca5bbe46d5ae23f2df90457d020391b92673",
"rate": 3169.4854887,
"networkConfig": {
"ethereum": {
"mainnet": false,
"name": "sepolia",
"withdrawal": {
"feeWithdrawal": 0.003,
"minWithdrawal": 0.006
},
"deposit": {
"minDeposit": 0
}
}
}
},
{
"id": "fae1baed-815b-4b5f-998b-d3b2c36145da",
"amount": "0.00000000",
"name": "btc",
"wallet": "tb1qsclk8wvk7zplp6t8f0954qddctqtvcrhea5gca",
"rate": 100686.13333333,
"networkConfig": {
"btc": {
"mainnet": false,
"name": "test",
"withdrawal": {
"feeWithdrawal": 0.0003,
"minWithdrawal": 0.0003
},
"deposit": {
"minDeposit": 0
}
}
}
}
]
}
Get partner transaction history
Transaction history can be returned to one year ago. It is returned for the selected month.
Explanation of types:
- exchange - currency exchange
- atmFee - fee charged for ATM transaction
- sepaDeposit - incoming SEPA transfer
- sepaTransfer - outgoing SEPA transfer
- transfer - transfer
- cardTransaction - card transaction
- cryptoDeposit - crypto deposit
- cryptoWithdrawal - crypto withdrawal
- atmWithdrawal - atm withdrawal
- fiatDeposit - fiat deposit
- refund - refund
- cashback - cashback
- payment - card payment
- partialRefund - partial refund
- fiatWithdrawal - fiat withdrawal
- transaction - transaction
Explanation of status:
- SUCCESSFUL - transaction successful
- UNSUCCESSFUL - transaction unsuccessful
- IN_PROGRESS - transaction in progress
Method: GET
Endpoint: /v1/partner/transaction-history/:month/:year
Request
Parameters - required
Name | Type | Required | Example | Description |
---|---|---|---|---|
month | number | Yes | 1 | Month |
year | number | Yes | 2025 | Year |
Response
Code: 200
Description: Returns user transaction history
Response body explanation
[
{
"createdAt": "Transaction created date",
"type": "Transaction type",
"amount": "Transaction amount",
"amountFrom": "Transaction from amount, if the transaction is an exchange",
"currency": "Transaction currency",
"currencyFrom": "Transaction from currency, if the transaction is an exchange",
"status": "Transaction status"
}
]
Example response
[
{
"createdAt": "2025-01-20T10:33:23.808Z",
"type": "exchange",
"amount": 0.00220961,
"amountFrom": -20,
"currency": "eth",
"currencyFrom": "doge",
"status": "SUCCESSFUL"
},
{
"createdAt": "2025-01-20T09:59:38.233Z",
"type": "exchange",
"amount": 26.91447658,
"amountFrom": -10,
"currency": "doge",
"currencyFrom": "eur",
"status": "SUCCESSFUL"
},
{
"createdAt": "2025-01-20T09:35:36.182Z",
"type": "exchange",
"amount": 99.9651492,
"amountFrom": -10,
"currency": "doge",
"currencyFrom": "eur",
"status": "SUCCESSFUL"
}
]
Code: 400
Description: Invalid month or year
Example response
{
"errorCode": "P403",
"errorMessage": "
The month cannot be less than 1,
The month cannot be longer than 12,
The year must be the current year or the previous year
"
}
Code: 400
Description: Invalid date
Example response
{
"errorCode": "P435",
"errorName": "invalid-date"
}
Retrieve exchange rate and create a lock
Method: GET
Endpoint: /v1/partner/get-lock
Rate lock is valid for 40 seconds, then it expires.
Response
Code: 200
Description: Returns the exchange rate and lock details, including rates and validity period
Example response
{
"id": "f4a33667-0824-4d73-88d3-3698a6f7c534",
"rates": {
"btc": 63115.99036294,
"doge": 0.1405009,
"eth": 2260.61529615,
"eur": 1,
"eurt": 0.992974,
"ltc": 61.02279304,
"pol": 0.27442258,
"usdc": 0.918038,
"usdt": 0.917832
},
"feePercentage": 1.49,
"createdAt": "2024-11-05T10:54:02.982Z",
"validUntil": "2024-11-05T22:00:42.981Z"
}
Create and finalize an exchange
Method: POST
Endpoint: /v1/partner/exchange
Request
Request body - required
Name | Type | Required | Description |
---|---|---|---|
amount | number | Yes | The amount of exchange |
currencyFrom | string | Yes | Source currency for the exchange (e.g., btc, eth) |
currencyTo | string | Yes | Target currency for the exchange (e.g., eur, btc) |
lockId | string | Yes | Unique identifier for the currency lock associated with the exchange |
Example body request
{
"amount": 100,
"currencyFrom": "btc",
"currencyTo": "eur",
"lockId": "123e4567-e89b-12d3-a456-426614174000"
}
Response
Code: 201
Description: Exchange created and finalized successfully
Example response
{
"exchangeId": "7fb02323-969a-4936-94ea-86b8773ff1a2"
}
Code: 400
Description: Exchange lock is not valid or not exist
Example response
{
"errorCode": "P432",
"errorName": "invalid-exchange-lock"
}
Code: 400
Description: Insufficient funds
Example response
{
"errorCode": "P433",
"errorName": "insufficient-funds"
}
Create Crypto Withdrawal
Method: POST
Endpoint: /v1/partner/crypto-withdrawal
Request
Request body - required
Name | Type | Required | Description |
---|---|---|---|
currency | string | Yes | The cryptocurrency slug for the withdrawal. Enum: [ btc, doge, eth, eurt, ltc, pol, usdc, usdt ] |
amount | number | Yes | The amount of cryptocurrency to withdraw |
walletAddress | string | Yes | The destination wallet address for the cryptocurrency withdrawal |
memo | string | No | Optional memo or title for the withdrawal transaction |
network | string | No | The blockchain network used for the withdrawal. Required only if currency is usdc, usdt and you want to make a withdrawal on the polygon network. Enum: [ POLYGON ] |
Example body request
{
"currency": "BTC",
"amount": 0.005,
"walletAddress": "bc1quy5nvh8npg0qdpnk35wctey8e923yms9udzfjr",
"memo": "Transaction to savings wallet"
}
Response
Code: 200
Description: Crypto withdrawal created successfully
Example response
{
"withdrawalId": "7fb02323-969a-4936-94ea-86b8773ff1a2"
}
Code: 400
Description: Invalid request
Example response
{
"errorCode": "P410",
"errorName": "invalid-currency"
}
Code: 400
Description: Insufficient funds
Example response
{
"errorCode": "P433",
"errorName": "insufficient-funds"
}
Create a SEPA transfer
Method: POST
Endpoint: /v1/partner/sepa-transfer
Request
Request body - required
Name | Type | Required | Description |
---|---|---|---|
currency | string | Yes | The cryptocurrency slug for the transfer (e.g., EUR) |
amount | string | Yes | Amount to transfer |
receiverFirstName | string | Required only if receiverType is NATURAL | Receiver first name |
receiverLastName | string | Required only if receiverType is NATURAL | Receiver last name |
companyName | string | Required only if receiverType is LEGAL | Company name |
receiverType | string | Yes | Receiver type. Enum: [ NATURAL, LEGAL ] |
destinationIban | string | Yes | Destination iban |
transferTitle | string | Yes | Transfer title |
Example body request
{
"currency": "eur",
"amount": 100,
"receiverFirstName": "John",
"receiverLastName": "Doe",
"destinationIban": "LT601010012345678901",
"transferTitle": "Bank transfer",
"receiverType": "NATURAL"
}
Response
Code: 201
Description: Transfer created successfully
Example response
{
"transferId": "7fb02323-969a-4936-94ea-86b8773ff1a2"
}
Code: 400
Description: Partner not found
Example response
{
"errorCode": "P418",
"errorName": "partner-not-found"
}
Code: 400
Description: Insufficient funds
Example response
{
"errorCode": "P433",
"errorName": "insufficient-funds"
}