PSP (0.1.0)

Download OpenAPI specification:Download

Customer Support: [email protected]

PSP project

Payouts v3

authorize

Authorize a Payout

path Parameters
payoutId
required
string

the id of the payout

header Parameters
key
required
string

key of the client

signature
required
string

Client signature for this request

Request Body schema: application/json
required
username
required
string
nonce
required
integer <int64>
otpCode
required
string

Responses

Request samples

Content type
application/json
{
  • "username": "string",
  • "nonce": 0,
  • "otpCode": "string"
}

Response samples

Content type
application/json
[
  • {
    }
]

getPayouts

Search Payout details in pages

query Parameters
queryDate
required
string <yyyy-MM-dd'T'HH:mm:ss.SSSZ>
Example: queryDate=2020-01-02T03:04:05.123Z

Client's current timestamp in UTC when the query is done

payoutIds
string
Example: payoutIds=00000000-0000-0000-0000-00000000000, 00000000-0000-0000-0000-00000000001

UUID string. List of payoutIds to query for

references
Array of strings unique
states
Array of strings unique
Items Enum: "REQUESTED" "CREATE_FAILED" "CREATE_TIMEOUT" "CREATED" "COSIGNER_AUTHORIZATIONS_PENDING" "COSIGNER_AUTHORIZED" "CANCELLED" "AUTHORIZED" "SIGNING" "SENDING" "SENT" "COMPLETED"
page
integer >= 0
Default: 0

Zero-based page index (0..N)

size
integer >= 1
Default: 20

The size of the page to be returned

sort
Array of strings

Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.

header Parameters
key
required
string

key of the client

signature
required
string

Client signature for this request

Responses

Response samples

Content type
application/json
[
  • {
    }
]

createPayout

Create a Payout with first authorization

query Parameters
authorize
boolean
Default: false

Authorize payout

header Parameters
key
required
string

key of the client

signature
required
string

Client signature for this request

Request Body schema: application/json
required
username
required
string
otpCode
string

Required if authorize parameter is true

accountId
required
string

UUID string. ID of existing and enabled account

reference
required
string
customerId
string
callbackUrl
required
string
required
object (Money)
destinationAddress
required
string

Supported address formats are P2PKH, P2SH and Bech32 (P2WPKH and P2WSH) for Bitcoin and address formats for Ethereum or Litecoin blockchains. This field is required only if the destinationAccountId field is not used

destinationAccountId
required
string

UUID string. ID of existing destination account. This field is required only if the destinationAddress field is not used

network
required
string

Target network for this payout, allowed values are: BITCOIN, ETHEREUM, LITECOIN

verifyBalance
boolean

True if the payout request must validate the available balance before processing

feePolicy
string
Enum: "SLOW" "NORMAL" "FAST" "CUSTOM"
customFeeRate
integer

Only for Bitcoin accounts. Desired custom fee rate, set in sat/vb. Requires feePolicy to be set as CUSTOM

subtractFee
boolean

Only for Bitcoin accounts. If true, the final amount sent will have the fee subtracted.

useCoinConsolidation
boolean

Only for Bitcoin accounts. If true, coin consolidation can be applied to this order.

orderCodeName
string

Debit order code name from the existing ones.

generalLedgerName
string
generalLedgerProject
string
generalLedgerDistribution
string
nonce
required
integer <int64>

Responses

Request samples

Content type
application/json
{
  • "username": "string",
  • "otpCode": "string",
  • "accountId": "00000000-0000-0000-0000-00000000000",
  • "reference": "string",
  • "customerId": "string",
  • "callbackUrl": "string",
  • "requestedAmount": {
    },
  • "destinationAddress": "0x23fac36e5cc087f08822cb927a61ad2ffff6c27b",
  • "destinationAccountId": "00000000-0000-0000-0000-00000000000",
  • "network": "BITCOIN",
  • "verifyBalance": true,
  • "feePolicy": "SLOW",
  • "customFeeRate": 5,
  • "subtractFee": true,
  • "useCoinConsolidation": true,
  • "orderCodeName": "string",
  • "generalLedgerName": "string",
  • "generalLedgerProject": "string",
  • "generalLedgerDistribution": "string",
  • "nonce": 0
}

Response samples

Content type
application/json
[
  • {
    }
]

doVoid

Voids a Payout. Only valid for FORTRIS_BTC account's custody

path Parameters
payoutId
required
string

the id of the payout

query Parameters
nonce
required
integer <int64>

the nonce

header Parameters
key
required
string

key of the client

signature
required
string

Client signature for this request

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Deposits v3

getDeposits

Search Deposits details in pages

query Parameters
queryDate
required
string <yyyy-MM-dd'T'HH:mm:ss.SSSZ>
Example: queryDate=2020-01-02T03:04:05.123Z

Client's current timestamp in UTC when the query is done

depositIds
string
Example: depositIds=00000000-0000-0000-0000-00000000000, 00000000-0000-0000-0000-00000000001

UUID string. List of depositIds to query for

references
Array of strings unique
states
Array of strings unique
Items Enum: "REQUESTED" "CREATE_FAILED" "CREATE_TIMEOUT" "CREATED" "RECEIVING_FUNDS" "COMPLETED" "EXPIRED" "VOID"
page
integer >= 0
Default: 0

Zero-based page index (0..N)

size
integer >= 1
Default: 20

The size of the page to be returned

sort
Array of strings

Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.

header Parameters
key
required
string

key of the client

signature
required
string

Client signature for this request

Responses

Response samples

Content type
application/json
[
  • {
    }
]

createDeposit

Create a Deposit

header Parameters
key
required
string

key of the client

signature
required
string

Client signature for this request

Request Body schema: application/json
required
accountId
required
string

UUID string. Existing and enable Account id

nonce
required
integer <int64>
reference
required
string
customerId
string
callbackUrl
string
expiryDate
string <date-time>

Instant until the fixed exchange rate is valid, only used when requestedAmount is in FIAT currency. Format: ISO-8601 yyyy-MM-dd'T'HH:mm:ss.SSSZ

network
required
string
Enum: "BITCOIN" "ETHEREUM" "LITECOIN"
required
object (Money)

Responses

Request samples

Content type
application/json
{
  • "accountId": "00000000-0000-0000-0000-00000000000",
  • "nonce": 0,
  • "reference": "string",
  • "customerId": "string",
  • "callbackUrl": "string",
  • "expiryDate": "2024-06-13T07:47:22.937Z",
  • "network": "BITCOIN",
  • "requestedAmount": {
    }
}

Response samples

Content type
application/json
[
  • {
    }
]

doVoid_1

Voids a Deposit. Only valid for FORTRIS_BTC account's custody

path Parameters
depositId
required
string

the id of the deposit

query Parameters
nonce
required
integer <int64>

the nonce

header Parameters
key
required
string

key of the client

signature
required
string

Client signature for this request

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Payouts

voidPayout

Voids a payout

header Parameters
key
required
string

key of the client

signature
required
string

Client signature for this request

Request Body schema: application/json
required
payoutId
required
string

UUID string. Id of the payout to void

nonce
required
integer <int64>

Responses

Request samples

Content type
application/json
{
  • "payoutId": "00000000-0000-0000-0000-00000000000",
  • "nonce": 0
}

findPayoutFilteredV2

Get Payouts details in batch

header Parameters
key
required
string

key of the client

signature
required
string

Client signature for this request

Request Body schema: application/json
required
queryDate
required
string <date-time>

Client's current timestamp when the query is done

page
integer <int32>
size
integer <int32>
object
payoutIds
Array of strings unique

UUID strings.

references
Array of strings unique
states
Array of strings unique
Items Enum: "REQUESTED" "CREATE_FAILED" "CREATE_TIMEOUT" "CREATED" "COSIGNER_AUTHORIZATIONS_PENDING" "COSIGNER_AUTHORIZED" "CANCELLED" "AUTHORIZED" "SIGNING" "SENDING" "SENT" "COMPLETED"

Responses

Request samples

Content type
application/json
{
  • "queryDate": "2020-01-02T03:04:05.123Z",
  • "page": 0,
  • "size": 0,
  • "sort": {
    },
  • "payoutIds": [
    ],
  • "references": [
    ],
  • "states": [
    ]
}

Response samples

Content type
application/json
{
  • "filters": {
    },
  • "results": {
    }
}

createPayoutV2

Create a Payout v2

header Parameters
key
required
string

key of the client

signature
required
string

Client signature for this request

Request Body schema: application/json
required
username
required
string
accountId
required
string

ID of existing and enabled account

nonce
required
integer <int64>
reference
required
string
customerId
string
callbackUrl
required
string
required
object (Money)
destinationAddress
required
string

Supported address formats are P2PKH, P2SH and Bech32 (P2WPKH and P2WSH). This field is required only if the destinationAccountId field is not used

destinationAccountId
required
string

UUID string. ID of existing destination account. This field is required only if the destinationAddress field is not used

feePolicy
string
Enum: "SLOW" "NORMAL" "FAST" "CUSTOM"
customFeeRate
integer

desired custom fee rate, set in sat/vb. Requires feePolicy to be set as CUSTOM

otpCode
required
string
verifyBalance
boolean

true if the payout request must validate the available balance before processing

subtractFee
boolean

if true, the final amount sent will have the fee subtracted.

useCoinConsolidation
boolean

if true, coin consolidation can be applied to this order.

orderCodeName
string

debit order code name from the existing ones.

generalLedgerName
string
generalLedgerProject
string
generalLedgerDistribution
string
batchingAllowed
boolean

Responses

Request samples

Content type
application/json
{
  • "username": "string",
  • "accountId": "00000000-0000-0000-0000-00000000000",
  • "nonce": 0,
  • "reference": "string",
  • "customerId": "string",
  • "callbackUrl": "string",
  • "requestedAmount": {
    },
  • "destinationAddress": "13AWnGY7iptyMfKR2WzeebPiqwjALVDMZC",
  • "destinationAccountId": "00000000-0000-0000-0000-00000000000",
  • "feePolicy": "SLOW",
  • "customFeeRate": 5,
  • "otpCode": "string",
  • "verifyBalance": true,
  • "subtractFee": true,
  • "useCoinConsolidation": true,
  • "orderCodeName": "string",
  • "generalLedgerName": "string",
  • "generalLedgerProject": "string",
  • "generalLedgerDistribution": "string",
  • "batchingAllowed": true
}

Response samples

Content type
application/json
{
  • "payoutId": "00000000-0000-0000-0000-00000000000"
}

createAndFirstAuthorizationPayoutV2

Create a Payout and provide first authorization v2

header Parameters
key
required
string

key of the client

signature
required
string

Client signature for this request

Request Body schema: application/json
required
username
required
string
accountId
required
string

ID of existing and enabled account

nonce
required
integer <int64>
reference
required
string
customerId
string
callbackUrl
required
string
required
object (Money)
destinationAddress
required
string

Supported address formats are P2PKH, P2SH and Bech32 (P2WPKH and P2WSH). This field is required only if the destinationAccountId field is not used

destinationAccountId
required
string

UUID string. ID of existing destination account. This field is required only if the destinationAddress field is not used

feePolicy
string
Enum: "SLOW" "NORMAL" "FAST" "CUSTOM"
customFeeRate
integer

desired custom fee rate, set in sat/vb. Requires feePolicy to be set as CUSTOM

otpCode
required
string
verifyBalance
boolean

true if the payout request must validate the available balance before processing

subtractFee
boolean

if true, the final amount sent will have the fee subtracted.

useCoinConsolidation
boolean

if true, coin consolidation can be applied to this order.

orderCodeName
string

debit order code name from the existing ones.

generalLedgerName
string
generalLedgerProject
string
generalLedgerDistribution
string
batchingAllowed
boolean

Responses

Request samples

Content type
application/json
{
  • "username": "string",
  • "accountId": "00000000-0000-0000-0000-00000000000",
  • "nonce": 0,
  • "reference": "string",
  • "customerId": "string",
  • "callbackUrl": "string",
  • "requestedAmount": {
    },
  • "destinationAddress": "13AWnGY7iptyMfKR2WzeebPiqwjALVDMZC",
  • "destinationAccountId": "00000000-0000-0000-0000-00000000000",
  • "feePolicy": "SLOW",
  • "customFeeRate": 5,
  • "otpCode": "string",
  • "verifyBalance": true,
  • "subtractFee": true,
  • "useCoinConsolidation": true,
  • "orderCodeName": "string",
  • "generalLedgerName": "string",
  • "generalLedgerProject": "string",
  • "generalLedgerDistribution": "string",
  • "batchingAllowed": true
}

Response samples

Content type
application/json
{
  • "payoutId": "00000000-0000-0000-0000-00000000000"
}

createPayout_1

Create a Payout

header Parameters
key
required
string

key of the client

signature
required
string

Client signature for this request

Request Body schema: application/json
required
username
required
string
accountId
required
string

ID of existing and enabled account

nonce
required
integer <int64>
reference
required
string
customerId
string
callbackUrl
required
string
required
object (Money)
destinationAddress
required
string

Supported address formats are P2PKH, P2SH and Bech32 (P2WPKH and P2WSH). This field is required only if the destinationAccountId field is not used

destinationAccountId
required
string

UUID string. ID of existing destination account. This field is required only if the destinationAddress field is not used

feePolicy
string
Enum: "SLOW" "NORMAL" "FAST" "CUSTOM"
customFeeRate
integer

desired custom fee rate, set in sat/vb. Requires feePolicy to be set as CUSTOM

otpCode
required
string
verifyBalance
boolean

true if the payout request must validate the available balance before processing

subtractFee
boolean

if true, the final amount sent will have the fee subtracted.

useCoinConsolidation
boolean

if true, coin consolidation can be applied to this order.

orderCodeName
string

debit order code name from the existing ones.

generalLedgerName
string
generalLedgerProject
string
generalLedgerDistribution
string
batchingAllowed
boolean

Responses

Request samples

Content type
application/json
{
  • "username": "string",
  • "accountId": "00000000-0000-0000-0000-00000000000",
  • "nonce": 0,
  • "reference": "string",
  • "customerId": "string",
  • "callbackUrl": "string",
  • "requestedAmount": {
    },
  • "destinationAddress": "13AWnGY7iptyMfKR2WzeebPiqwjALVDMZC",
  • "destinationAccountId": "00000000-0000-0000-0000-00000000000",
  • "feePolicy": "SLOW",
  • "customFeeRate": 5,
  • "otpCode": "string",
  • "verifyBalance": true,
  • "subtractFee": true,
  • "useCoinConsolidation": true,
  • "orderCodeName": "string",
  • "generalLedgerName": "string",
  • "generalLedgerProject": "string",
  • "generalLedgerDistribution": "string",
  • "batchingAllowed": true
}

Response samples

Content type
application/json
{
  • "payoutId": "00000000-0000-0000-0000-00000000000"
}

createAndFirstAuthorizationPayout

Create a Payout and provide first authorization

header Parameters
key
required
string

key of the client

signature
required
string

Client signature for this request

Request Body schema: application/json
required
username
required
string
accountId
required
string

ID of existing and enabled account

nonce
required
integer <int64>
reference
required
string
customerId
string
callbackUrl
required
string
required
object (Money)
destinationAddress
required
string

Supported address formats are P2PKH, P2SH and Bech32 (P2WPKH and P2WSH). This field is required only if the destinationAccountId field is not used

destinationAccountId
required
string

UUID string. ID of existing destination account. This field is required only if the destinationAddress field is not used

feePolicy
string
Enum: "SLOW" "NORMAL" "FAST" "CUSTOM"
customFeeRate
integer

desired custom fee rate, set in sat/vb. Requires feePolicy to be set as CUSTOM

otpCode
required
string
verifyBalance
boolean

true if the payout request must validate the available balance before processing

subtractFee
boolean

if true, the final amount sent will have the fee subtracted.

useCoinConsolidation
boolean

if true, coin consolidation can be applied to this order.

orderCodeName
string

debit order code name from the existing ones.

generalLedgerName
string
generalLedgerProject
string
generalLedgerDistribution
string
batchingAllowed
boolean

Responses

Request samples

Content type
application/json
{
  • "username": "string",
  • "accountId": "00000000-0000-0000-0000-00000000000",
  • "nonce": 0,
  • "reference": "string",
  • "customerId": "string",
  • "callbackUrl": "string",
  • "requestedAmount": {
    },
  • "destinationAddress": "13AWnGY7iptyMfKR2WzeebPiqwjALVDMZC",
  • "destinationAccountId": "00000000-0000-0000-0000-00000000000",
  • "feePolicy": "SLOW",
  • "customFeeRate": 5,
  • "otpCode": "string",
  • "verifyBalance": true,
  • "subtractFee": true,
  • "useCoinConsolidation": true,
  • "orderCodeName": "string",
  • "generalLedgerName": "string",
  • "generalLedgerProject": "string",
  • "generalLedgerDistribution": "string",
  • "batchingAllowed": true
}

Response samples

Content type
application/json
{
  • "payoutId": "00000000-0000-0000-0000-00000000000"
}

authorize_1

Authorize a Payout

header Parameters
key
required
string

key of the client

signature
required
string

Client signature for this request

Request Body schema: application/json
required
username
required
string
payoutId
required
string

UUID string.

nonce
required
integer <int64>
otpCode
required
string

Responses

Request samples

Content type
application/json
{
  • "username": "string",
  • "payoutId": "00000000-0000-0000-0000-00000000000",
  • "nonce": 0,
  • "otpCode": "string"
}

Deposits

voidDeposit

Void a Deposit

header Parameters
key
required
string

key of the client

signature
required
string

Client signature for this request

Request Body schema: application/json
required
depositId
required
string

UUID string. Id of the deposit to void

nonce
required
integer <int64>

Responses

Request samples

Content type
application/json
{
  • "depositId": "00000000-0000-0000-0000-00000000000",
  • "nonce": 0
}

Response samples

Content type
application/json
[
  • {
    }
]

findDepositFilteredV2

Search Deposits details in pages

header Parameters
key
required
string

key of the client

signature
required
string

Client signature for this request

Request Body schema: application/json
required
queryDate
required
string <date-time>

Client's current timestamp when the query is done

page
integer <int32>
size
integer <int32>
object
depositIds
Array of strings unique

UUID strings

references
Array of strings unique
states
Array of strings unique
Items Enum: "REQUESTED" "CREATE_FAILED" "CREATE_TIMEOUT" "CREATED" "RECEIVING_FUNDS" "COMPLETED" "EXPIRED" "VOID"

Responses

Request samples

Content type
application/json
{
  • "queryDate": "2020-01-02T03:04:05.123Z",
  • "page": 0,
  • "size": 0,
  • "sort": {
    },
  • "depositIds": [
    ],
  • "references": [
    ],
  • "states": [
    ]
}

Response samples

Content type
application/json
{
  • "filters": {
    },
  • "results": {
    }
}

createDeposit_1

Create a Deposit

header Parameters
key
required
string

key of the client

signature
required
string

Client signature for this request

Request Body schema: application/json
required
accountId
required
string

UUID string. Existing and enable Account id

nonce
required
integer <int64>
reference
required
string
customerId
string
callbackUrl
required
string
expiryDate
string <date-time>

End date for the range to include the transactions. Very important to follow ISO-8601 DateTime Format yyyy-MM-dd'T'HH:mm:ss.SSSZ. If present then requestedAmount will be mandatory

object (Money)

Responses

Request samples

Content type
application/json
{
  • "accountId": "00000000-0000-0000-0000-00000000000",
  • "nonce": 0,
  • "reference": "string",
  • "customerId": "string",
  • "callbackUrl": "string",
  • "expiryDate": "2020-01-02T03:04:05.123Z",
  • "requestedAmount": {
    }
}

Response samples

Content type
application/json
{
  • "depositId": "00000000-0000-0000-0000-00000000000"
}

createDepositSynchronously

Create a Deposit synchronously

header Parameters
key
required
string

key of the client

signature
required
string

Client signature for this request

Request Body schema: application/json
required
accountId
required
string

UUID string. Existing and enable Account id

nonce
required
integer <int64>
reference
required
string
customerId
string
callbackUrl
required
string
expiryDate
string <date-time>

End date for the range to include the transactions. Very important to follow ISO-8601 DateTime Format yyyy-MM-dd'T'HH:mm:ss.SSSZ. If present then requestedAmount will be mandatory

object (Money)

Responses

Request samples

Content type
application/json
{
  • "accountId": "00000000-0000-0000-0000-00000000000",
  • "nonce": 0,
  • "reference": "string",
  • "customerId": "string",
  • "callbackUrl": "string",
  • "expiryDate": "2020-01-02T03:04:05.123Z",
  • "requestedAmount": {
    }
}

Response samples

Content type
application/json
{
  • "depositId": "00000000-0000-0000-0000-00000000000",
  • "accountId": "00000000-0000-0000-0000-00000000000",
  • "callbackUrl": "string",
  • "reference": "string",
  • "customerId": "string",
  • "requestedAmountInFiat": {
    },
  • "requestedAmountInCryptoAtFixedRate": {
    },
  • "receiverAddress": "string",
  • "verificationSignature": "string",
  • "depositState": "REQUESTED",
  • "createdDate": "2019-08-24T14:15:22Z",
  • "expiryDate": "2019-08-24T14:15:22Z",
  • "creditOrderId": "string",
  • "creditOrderAlphanumericId": "string",
  • "fixedExchangeRate": {
    },
  • "receivedFunds": [
    ],
  • "duplicatedFromDepositId": "00000000-0000-0000-0000-00000000000"
}

Accounts

getAccountsBalance

Given a list of accountIds returns the balance of each account in crypto and fiat currency. Fiat currency may not be present if at the time of the request the exchange rate is not available.

header Parameters
key
required
string

key of the client

signature
required
string

Client signature for this request

Request Body schema: application/json
required
accountIds
required
Array of strings unique

UUID string. List of accountIds to query for

queryDate
required
string <date-time>

Client's current timestamp when the query is done

Responses

Request samples

Content type
application/json
{
  • "accountIds": [
    ],
  • "queryDate": "2020-01-02T03:04:05.123Z"
}

Response samples

Content type
application/json
{
  • "accountBalanceFiltersDto": {
    },
  • "balances": [
    ]
}

Accounts v3

getAccountBalance

Given a list of accountIds returns the balance of each account in crypto and fiat currency. Non-existing accounts will be ignored and skipped in the response. Fiat currency may not be present if at the time of the request the exchange rate is not available.

query Parameters
accountIds
required
string
Example: accountIds=00000000-0000-0000-0000-00000000000, 00000000-0000-0000-0000-00000000001

UUID string. List of accountIds to query for

queryDate
required
string <yyyy-MM-dd'T'HH:mm:ss.SSSZ>
Example: queryDate=2020-01-02T03:04:05.123Z

Client's current timestamp in UTC when the query is done

header Parameters
key
required
string

key of the client

signature
required
string

Client signature for this request

Responses

Response samples

Content type
application/json
[
  • {
    }
]
Back to DOCs