Payout methods
Payout object
- amount string
- exp number
Currency precision (number of digits after the decimal separator).
- address string
The blockchain address of the receiver wallet. If the payout for XRP is made to an
x-address
, entering a tag in thetag
field is not necessary. If such a payout is made to a normal address, a user should enter the destination account address in combination with a destination tag.- tag_type string
Type of the tag or memo, applicable for XLM. Possible values:
1
— a 64-bit unsigned integer2
— a string up to 28-bytes long
- tag string
Destination tag for XRP, XLM, BNB.
- destination object
All possible options to specify the receiver address; contains three string fields:
address
— actual address,address_type
— type of the address,tag
— destination tag (if required) for XRP, XLM, BNB.- tracking_id string or number
The identifier of the payment in the external system.
- confirmations_needed number
Client-provided number of confirmations needed for sending an additional callback.
- fee_amount string
The blockchain fee amount.
- is_fee_included boolean
If
true
, the fee is included in the payment amount, the remaining part is credited to the receiver’s account. Iffalse
, the fee is additionally debited from the wallet. For TRX, XRP, BNB, XLM, ETH and token currencies, fee cannot be included in the amount.- status number
If a payout should be approved by the wallet owner, the following values are possible:
1
— waiting for the approval2
— approved
- callback_url string
URL for callback notifications.
- currency object
The wallet currency. Contains currency
id
(refer to Currency codes for supported values).- wallet object
The wallet with which the transaction is associated. Contains the wallet
id
.
{
"data": {
"type": "payout",
"id": "21",
"attributes": {
"amount": "0.00000010",
"exp": 8,
"address": "2N3Ac2cZzRVoqfJGu1bFaAebq3izTgr1WLv",
"tag_type": null,
"tag": null,
"destination": {
"address_type": "legacy",
"address": "2N3Ac2cZzRVoqfJGu1bFaAebq3izTgr1WLv"
},
"tracking_id": null,
"confirmations_needed": null,
"fee_amount": "0.00000329",
"is_fee_included": false,
"status": 2,
"callback_url": null
},
"relationships": {
"currency": {
"data": {
"type": "currency",
"id": "1000"
}
},
"wallet": {
"data": {
"type": "wallet",
"id": "13"
}
}
},
"links": {
"self": "https://[base]/payout/21"
}
}
}
Get payout
Request
- id string
The payout identifier.
Filtering by any object parameters can be applied according to the JSON API Specification.
GET[base]/payout/{id}
$ curl --request GET \
--url https://[base]/payout/ \
--header 'authorization: Bearer eyJ0eXAiOiJKV1QiLC...' \
--header 'content-type: application/vnd.api+json'
import requests
url = 'https://[base]/payout/'
headers = {
'authorization': '<Change to your access token>',
'content-type': 'application/vnd.api+json',
}
requests.get(url, headers=headers)
<?php
use GuzzleHttp\Client;
use GuzzleHttp\Exception\RequestException;
$client = new GuzzleHttp\Client();
try {
$res = $client->get('https://[base]/payout/', [
'headers' => [
'Authorization' => 'Bearer <Change to your access token>',
'Content-Type' => 'application/vnd.api+json',
],
]);
echo $res->getBody();
} catch (RequestException $e) {}
Response
In case of a successful response, a payout object or an array of objects (if id
was not specified) is returned.
HTTP status codes
200 Success.
400 Bad request. You have no permission to view the payout with given id
.
404 Payout with given id
not found.
Create payout
Before creating a payout, you can check the parameters of the fields you need to fill in by making an OPTIONS request to the server to retrieve the data.
Note
For security reasons, an additional HTTP header with a unique idempotency key must be sent in the request.
The key is a UUID4 string with hyphens: for example, 2dbcb513-bd35-404f-9709-e34878def180
.
Refer to Useful links for recommended programming packages and libraries that you can use to generate UUID4.
Request
- walletobject required
The identifier of the payment wallet.
- label string
The payout name for convenient searching. The string value length cannot exceed 32 characters.
- callback_url string
URL to send callback notifications.
- confirmations_needed number
If an additional callback is required before or after the transaction is confirmed, set the number of confirmations that will trigger the callback. For more information, refer to Payout callback.
- tracking_id string or number
The payout identifier in the external system which is used in callbacks.
- address_type string
Address type, depends on a currency. Refer to Deposit and invoice address types for supported values.
- address string
The :wallet address to which the funds are sent.
- amount string
The amount of the outgoing transfer.
- tag string
Destination tag for XRP, XLM, BNB.
- tag_type string
Type of the tag or memo, applicable for XLM. Possible values:
1
— a 64-bit unsigned integer2
— a string up to 28-bytes long
POST[base]/payout/
$ curl --request POST \
--url https://[base]/payout/ \
--header 'authorization: Bearer eyJ0eXAiOiJKV1QiLC...' \
--header 'content-type: application/vnd.api+json' \
--header 'idempotency-key: b6891f5b-d16f-4ba9-a1c4-9828be64a492' \
--data '{
"data": {
"type": "payout",
"attributes": {
"amount": "0.05",
"address": "bcrt1q92k5z02dyrjahm4hput42nps3t7ryxzzz0vl76",
"fee_amount": "0.00000550",
"tracking_id": "f12",
"confirmations_needed": 2,
"callback_url": "https://my.client.com/cb/"
},
"relationships": {
"wallet": {
"data": {
"type": "wallet",
"id": "1"
}
},
"currency": {
"data": {
"type": "currency",
"id": "1000"
}
}
}
}
}'
import requests
from uuid import uuid4
url = 'https://[base]/payout/'
headers = {
'authorization': 'Bearer <Change to your access token>',
'content-type': 'application/vnd.api+json',
'idempotency-key': str(uuid4()),
}
data = {
'data': {
'type': 'payout',
'attributes': {
'amount': '0.05',
'address': 'bcrt1q92k5z02dyrjahm4hput42nps3t7ryxzzz0vl76',
'fee_amount': '0.00000550',
'tracking_id': 'f12',
'confirmations_needed': 2,
'callback_url': 'https://my.client.com/cb/',
},
'relationships': {
'wallet': {
'data': {
'type': 'wallet',
'id': '1',
},
},
'currency': {
'data': {
'type': 'currency',
'id': '1000',
},
},
},
},
}
requests.post(url, headers=headers, json=data)
<?php
use GuzzleHttp\Client;
use GuzzleHttp\Exception\RequestException;
$client = new GuzzleHttp\Client();
try {
$res = $client->post('https://[base]/payout/', [
'json' => [
'data' => [
'type' => 'payout',
'attributes' => [
'tracking_id' => 'f12',
'confirmations_needed' => 2,
'callback_url' => 'https://my.client.com/cb/',
'amount' => '0.05',
'address' => 'bcrt1q92k5z02dyrjahm4hput42nps3t7ryxzzz0vl76',
'fee_amount' => '0.00000550',
],
'relationships' => [
'wallet' => [
'data' => [
'type' => 'wallet',
'id' => '1',
],
],
'currency' => [
'data' => [
'type' => 'currency',
'id' => '1000',
],
],
],
],
],
'headers' => [
'Authorization' => 'Bearer <Change to your access token>',
'Content-Type' => 'application/vnd.api+json',
'Idempotency-key' => (string) Uuid::uuid4(),
],
]);
echo $res->getBody();
} catch (RequestException $e) {}
Response
In case of a successful response, a newly created payout object is returned.
HTTP status codes
HTTP code |
Application error code |
Error description |
Suggested action |
---|---|---|---|
201 |
— |
OK |
The request succeeded. |
400 |
1007 |
An invalid value was specified for a field. |
Send valid values. |
400 |
3008 |
The wallet is inactive or is being registered in the system. |
Activate the wallet or wait until the process of wallet registration in the system is finished and try again. |
400 |
3021 |
A wallet activation transfer is required. |
Make a transfer to activate the wallet. |
400 |
4002 |
A payout cannot be made from the specified wallet. |
Make sure you have the permission to make payouts from the wallet you have specified. |
400 |
4007 |
The funds are sent to the wallet from which the payout is being made. |
The funds cannot be sent to the wallet from which the payout is being made. Such transactions are allowed for the following blockchains: BTC,BCH, BSC, ADA, DASH, DOGE, ETH, LTC, OMNI, TRX, ZCASH. |
400 |
4008 |
Insufficient funds. |
Top up the wallet or decrease the payout amount. |
400 |
4009 |
The specified blockchain fee is either too high or too low. |
Correct the fee value. See the Precalculate fee method section for examples of fee values. |
400 |
4010 |
The blockchain fee cannot be applied to tokens. |
Exclude the fee value from the payout body. |
400 |
4012 |
The specified |
Specify a unique |
400 |
4013 |
The payout amount is less than the amount specified in the |
Specify the payout amount that is greater than the value in the |
400 |
4016 |
The blockchain fee cannot be applied to the selected currency. |
Exclude the fee value from the payout body. |
400 |
4017 |
Both the deposit address and target deposit amount are specified in the request, or there are no values for both the deposit address and target amount. |
Specify either a deposit address or target deposit amount in the request. |
400 |
4019 |
The blockchain fee amount exceeds the amount of the payout with the included fee. |
Increase the payout amount or decrease the fee value. |
400 |
6002 |
The selected currency is disabled. |
Select an active currency. |
400 |
6015 |
The currency is unavailable for all clients or for a specific client. |
Select an available currency. |
400 |
6017 |
An Enterprise user is trying to make a transaction with a custom token that was not paid for. |
Make a payment for a custom token and proceed with the transaction. |
400 |
7001 |
An incorrect payment address is specified. |
Specify a correct payment address and proceed with the payment. |
400 |
— |
Invalid data (serializer errors). |
Send valid data. |
401 |
2007 |
No active account with the given credentials is found. |
Send correct credentials or update access tokens. |
403 |
403 |
The user has no permission to make payouts because the user is not included in any company. |
Complete the registration process. |
403 |
3019 |
Payouts and exchanges are blocked for the selected wallet. |
Contact the account manager or technical support. |
409 |
1004 |
A request with the specified idempotency key has already been submitted. |
Specify another idempotency key for the request. |
428 |
1003 |
The idempotency key header is not specified. |
Specify the idempotency key header in the request header. |
429 |
— |
The request was throttled. |
Try again later. |
500 |
500 |
An internal server error (a node-related error). |
Try again later. |
500 |
— |
A node-related error. |
Try again later. |
Precalculate fee
For your convenience, we can calculate the blockchain fee options and processing commission before actual payout. The options for the blockchain fee are as follows: low, medium and high. For calculations, we need to know the ID of the wallet from which the payout is made, destination address and the payout amount.
Request
- amountstring required
The payout amount.
- to_addressstring required
The payout destination address.
- walletobject required
The payout wallet.
- currency object
The payout currency.
POST[base]/payout/calculate/
$ curl --request POST \
--url https://[base]/payout/calculate/ \
--header 'authorization: Bearer <Change to your access token>' \
--header 'content-type: application/vnd.api+json' \
--data '{
"data": {
"type": "payout-calculation",
"attributes": {
"amount": "0.0000001",
"to_address": "2N3Ac2cZzRVoqfJGu1bFaAebq3izTgr1WLv"
},
"relationships": {
"wallet": {
"data": {
"type": "wallet",
"id": "13"
}
},
"currency": {
"data": {
"type": "currency",
"id": "1000"
}
}
}
}
}'
import requests
url = 'https://[base]/payout/calculate/'
headers = {
'authorization': 'Bearer <Change to your access token>',
'content-type': 'application/vnd.api+json',
}
data = {
'data': {
'type': 'payout-calculation',
'attributes': {
'amount': '0.0000001',
'to_address': '2N3Ac2cZzRVoqfJGu1bFaAebq3izTgr1WLv',
},
'relationships': {
'wallet': {
'data': {
'type': 'wallet',
'id': '13',
}
},
'currency': {
'data': {
'type': 'currency',
'id': '1000',
},
},
},
},
}
requests.post(url, headers=headers, json=data)
<?php
use GuzzleHttp\Client;
use GuzzleHttp\Exception\RequestException;
$client = new GuzzleHttp\Client();
try {
$res = $client->post('https://[base]/payout/calculate/', [
'json' => [
'data' => [
'type' => 'payout-calculation',
'attributes' => [
'amount' => '0.05',
'to_address' => 'bcrt1q92k5z02dyrjahm4hput42nps3t7ryxzzz0vl76',
],
'relationships' => [
'wallet' => [
'data' => [
'type' => 'wallet',
'id' => '1',
],
],
'currency' => [
'data' => [
'type' => 'currency',
'id' => '1000',
],
],
],
],
],
'headers' => [
'Authorization' => 'Bearer <Change to your access token>',
'Content-Type' => 'application/vnd.api+json',
],
]);
echo $res->getBody();
} catch (RequestException $e) {}
Response
In the event of success, the method returns the low, medium and high blockchain fee values. If there are no recommendations or request parameters are invalid, an error or zero low, medium and high values are returned.
- is_internal boolean
If true, the payout is internal.
- fee.low string
Economy mode when speed does not matter.
- fee.medium string
Optimum processing speed for a reasonable blockchain fee.
- fee.high string
Priority transaction processing resulting in a higher blockchain fee.
- fee.currency number
The blockchain fee currency.
- commission.amount object
The commission amount.
- commission.currency number
The commission currency.
{
"data": {
"type": "payout-calculation",
"id": "0",
"attributes": {
"is_internal": true,
"fee": {
"low": "0.00000329",
"medium": "0.00000823",
"high": "0.00001647",
"dust_amount": "0.00000000",
"currency": 1000
},
"commission": {
"amount": "0.00000000",
"currency": 1000
}
}
}
}
Payout callback
A callback is a notification sent to the user’s callback URL when a transaction (deposit or payout) occurs in a blockchain. By default, the callback is sent after the transaction is confirmed. To get confirmed, a transaction should meet the following requirements:
receive the necessary number of confirmations
pass AML verification
pass additional anti-fraud checks
The number of confirmations is determined by the confirmation_blocks field in the currency settings.
For example, for USDT-ETH, the confirmation_blocks is set to 3
. This means that after receiving three confirmations and passing AML and anti-fraud checks, a callback will be sent.
It is also possible to receive additional callbacks.
To do this, specify a required number in the confirmations_needed field when creating a payout.
For example, for USDT-ETH, the confirmation_blocks value is 3
and the confirmations_needed value is 1
. This means that two callbacks will be sent: one (additional) after a transaction receives one confirmation and another one (default) after a transaction receives three confirmations.
Upon receiving a required number of confirmations related to a new payout transaction, a callback is sent to your server if the payout request body includes a valid callback URL. You can use a callback to make changes in your system and notify your users.
The callback is sent by a POST request, which contains useful JSON payload. After processing the payload, you should respond with an HTTP code 200 without a body. If your server is temporarily unavailable or the status of the response is different from 200, we will resend the callback several times with the increasing delay time. The number of resendings is limited. If the manual resending is required, you can do it via the Events.
Refer to Deposit callback for a callback example and descriptions.
Payout options method
Before creating a payout, you can check the parameters of the fields you need to fill in to create the payout. To do this, make an OPTIONS request to the server to retrieve the data.
Request
No request parameters.
OPTIONS[base]/payout
curl --location --request OPTIONS 'https://[base]/payout/' \
--header 'Content-Type: application/vnd.api+json' \
--header 'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9...' \
--header 'idempotency-key: 63e000e1-9ea8-4d7f-9446-1c4608675f73' \
--data-raw '{
"data": {
"type": "payout",
"attributes": {
"amount": "0.05",
"address": "bcrt1q92k5z02dyrjahm4hput42nps3t7ryxzzz0vl76",
"fee_amount": "0.00000550",
"tracking_id": "f12",
"confirmations_needed": 2,
"callback_url": "https://my.client.com/cb/"
},
"relationships": {
"wallet": {
"data": {
"type": "wallet",
"id": "273"
}
},
"currency": {
"data": {
"type": "currency",
"id": "1000"
}
}
}
}
}'\'''
import requests
import json
url = "https://[base]/payout/"
payload = "{\n \"data\": {\n \"type\": \"payout\",\n \"attributes\": {\n \"amount\": \"0.05\",\n \"address\": \"bcrt1q92k5z02dyrjahm4hput42nps3t7ryxzzz0vl76\",\n \"fee_amount\": \"0.00000550\",\n \"tracking_id\": \"f12\",\n \"confirmations_needed\": 2,\n \"callback_url\": \"https://my.client.com/cb/\"\n },\n \"relationships\": {\n \"wallet\": {\n \"data\": {\n \"type\": \"wallet\",\n \"id\": \"273\"\n }\n },\n \"currency\": {\n \"data\": {\n \"type\": \"currency\",\n \"id\": \"1000\"\n }\n }\n }\n }\n }'"
headers = {
'Content-Type': 'application/vnd.api+json',
'Authorization': 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9...',
'idempotency-key': '7a315530-1240-4da2-a581-13488f43d8a6'
}
response = requests.request("OPTIONS", url, headers=headers, data=payload)
print(response.text)
<?php
$client = new Client();
$headers = [
'Content-Type' => 'application/vnd.api+json',
'Authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9...',
'idempotency-key' => '1e61b53a-1df8-4dd6-9c5c-3abeae276f9a'
];
$body = '{
"data": {
"type": "payout",
"attributes": {
"amount": "0.05",
"address": "bcrt1q92k5z02dyrjahm4hput42nps3t7ryxzzz0vl76",
"fee_amount": "0.00000550",
"tracking_id": "f12",
"confirmations_needed": 2,
"callback_url": "https://my.client.com/cb/"
},
"relationships": {
"wallet": {
"data": {
"type": "wallet",
"id": "273"
}
},
"currency": {
"data": {
"type": "currency",
"id": "1000"
}
}
}
}
}\'';
$request = new Request('OPTIONS', 'https://[base]/payout/', $headers, $body);
$res = $client->sendAsync($request)->wait();
echo $res->getBody();
Response
In case of success, the response body contains an array of available methods as well as a list of parameters of the fields you need to fill in to create the payout.
- allowed_methods array
Available methods for payout:
GET
POST
HEAD
OPTIONS
- actions object
The object contains information about parameters of the fields that should be filled in when creating a payout:
- amount object
The object contains information about the
amount
field.Show object fields- type string
The type of the field.
- required boolean
If
true
, the field is required.- read_only boolean
If
true
, you cannot edit the field.- label string
The name of the field.
- min_value integer
The minimum payout value.
- address object
The object contains information about the
address
field.Show object fields- type string
The type of the field.
- required boolean
If
true
, the field is required.- read_only boolean
If
true
, you cannot edit the field.- label string
The name of the field.
- max_length integer
The maximum string value length.
- wallet object
The object contains information about the
wallet
field.Show object fields- type string
The type of the field.
- required boolean
If
true
, the field is required.- read_only boolean
If
true
, you cannot edit the field.- label string
The name of the field.
- tracking_id object
The object contains information about the
tracking_id
field.Show object fields- type string
The type of the field.
- required boolean
If
true
, the field is required.- read_only boolean
If
true
, you cannot edit the field.- label string
The name of the field.
- max_length integer
The maximum string value length.
- confirmations_needed object
The object contains information about the
confirmations_needed
field.Show object fields- type string
The type of the field.
- required boolean
If
true
, the field is required.- read_only boolean
If
true
, you cannot edit the field.- label string
The name of the field.
- min_value integer
The minimum payout value.
- max_value integer
The maximum payout value.
- fee_amount object
The object contains information about the
fee_amount
field.Show object fields- type string
The type of the field.
- required boolean
If
true
, the field is required.- read_only boolean
If
true
, you cannot edit the field.- label string
The name of the field.
- min_value integer
The minimum fee value.
- is_fee_included object
The object contains information about the
is_fee_included
field.Show object fields- type string
The type of the field.
- required boolean
If
true
, the field is required.- read_only boolean
If
true
, you cannot edit the field.- label string
The name of the field.
- callback_url object
The object contains information about the
callback_url
field.Show object fields- type string
The type of the field.
- required boolean
If
true
, the field is required.- read_only boolean
If
true
, you cannot edit the field.- label string
The name of the field.
- max_length integer
The maximum string value length.
- applicant object
The object contains information about the
applicant
field.Show object fields- type string
The type of the field.
- required boolean
If
true
, the field is required.- read_only boolean
If
true
, you cannot edit the field.- label string
The name of the field.
- message object
The object contains information about the
message
field.Show object fields- type string
The type of the field.
- required boolean
If
true
, the field is required.- read_only boolean
If
true
, you cannot edit the field.- label string
The name of the field.
- max_length integer
The maximum string value length.
- label object
The object contains information about the
label
field.Show object fields- type string
The type of the field.
- required boolean
If
true
, the field is required.- read_only boolean
If
true
, you cannot edit the field.- label string
The name of the field.
- max_length integer
The maximum string value length.
- regexp string
A list of regular expressions that can be used.
- tag object
The object contains information about the
tag
field.Show object fields- type string
The type of the field.
- required boolean
If
true
, the field is required.- read_only boolean
If
true
, you cannot edit the field.- label string
The name of the field.
- max_length integer
The maximum string value length.
- tag_type object
The object contains information about the
tag_type
field.Show object fields- type string
The type of the field.
- required boolean
If
true
, the field is required.- read_only boolean
If
true
, you cannot edit the field.- label string
The name of the field.
- max_length integer
The maximum string value length.
{
"data": {
"renders": [
"application/vnd.api+json"
],
"parses": [
"application/vnd.api+json",
"multipart/form-data"
],
"allowed_methods": [
"GET",
"POST",
"HEAD",
"OPTIONS"
],
"actions": {
"POST": {
"amount": {
"type": "decimal",
"required": true,
"read_only": false,
"label": "Amount",
"min_value": 0
},
"address": {
"type": "string",
"required": false,
"read_only": false,
"label": "Address",
"max_length": 128
},
"wallet": {
"type": "field",
"required": false,
"read_only": false,
"label": "Wallet"
},
"tracking_id": {
"type": "string",
"required": false,
"read_only": false,
"label": "Tracking id",
"max_length": 128
},
"confirmations_needed": {
"type": "integer",
"required": false,
"read_only": false,
"label": "Confirmations needed",
"min_value": 0,
"max_value": 100
},
"fee_amount": {
"type": "decimal",
"required": true,
"read_only": false,
"label": "Fee amount",
"min_value": 0
},
"is_fee_included": {
"type": "boolean",
"required": false,
"read_only": false,
"label": "Is fee included"
},
"callback_url": {
"type": "url",
"required": false,
"read_only": false,
"label": "Callback url",
"max_length": 256
},
"applicant": {
"type": "field",
"required": false,
"read_only": false,
"label": "Applicant"
},
"message": {
"type": "string",
"required": false,
"read_only": false,
"label": "Message",
"max_length": 64
},
"label": {
"type": "regex",
"required": false,
"read_only": false,
"label": "Label",
"max_length": 32,
"regexp": "^[^\\`~$%^&_=+\\|\\[\\]{};:'\"*#@<>\\/]{0,32}$"
},
"tag": {
"type": "string",
"required": false,
"read_only": false,
"label": "Tag",
"max_length": 64
},
"tag_type": {
"type": "string",
"required": false,
"read_only": false,
"label": "Tag type",
"max_length": 64
}
},
"GET": {
"currency": {
"lookup_expr": "exact",
"regexp": "^[1-9][0-9]*$",
"max_length": 8,
"required": false
},
"wallet": {
"lookup_expr": "exact",
"required": false
},
"id": {
"lookup_expr": "exact",
"regexp": "^[1-9][0-9]*$",
"max_length": 8,
"required": false
},
"created_at_from": {
"lookup_expr": "exact",
"max_length": 32,
"required": false
},
"created_at_to": {
"lookup_expr": "exact",
"max_length": 32,
"required": false
},
"updated_at_from": {
"lookup_expr": "exact",
"max_length": 32,
"required": false
},
"updated_at_to": {
"lookup_expr": "exact",
"max_length": 32,
"required": false
},
"label": {
"lookup_expr": "icontains",
"max_length": 32,
"required": false
},
"tracking_id": {
"lookup_expr": "exact",
"max_length": 128,
"required": false
},
"commission": {
"lookup_expr": "exact",
"regexp": "[-+]?[0-9]*\\.?[0-9]*",
"max_length": 32,
"required": false
},
"address": {
"lookup_expr": "exact",
"required": false
},
"confirmations_needed": {
"lookup_expr": "exact",
"regexp": "^[1-9][0-9]*$",
"max_length": 2,
"required": false
},
"help_email": {
"lookup_expr": "exact",
"max_length": 64,
"required": false
},
"status": {
"lookup_expr": "exact",
"choices": [
{
"value": 1,
"display_name": "Waiting for approve"
},
{
"value": 2,
"display_name": "Approved"
},
{
"value": 3,
"display_name": "Cancelled"
}
],
"required": false
},
"time_limit": {
"lookup_expr": "exact",
"regexp": "^[1-9][0-9]*$",
"max_length": 8,
"required": false
},
"inaccuracy": {
"lookup_expr": "icontains",
"max_length": 32,
"required": false
},
"target_amount_requested": {
"lookup_expr": "exact",
"max_length": 32,
"required": false
},
"rate_requested": {
"lookup_expr": "exact",
"max_length": 32,
"required": false
},
"expired_at_from": {
"lookup_expr": "exact",
"max_length": 64,
"required": false
},
"expired_at_to": {
"lookup_expr": "exact",
"max_length": 64,
"required": false
},
"target_paid": {
"lookup_expr": "exact",
"max_length": 64,
"required": false
},
"enrolled": {
"lookup_expr": "exact",
"max_length": 64,
"required": false
},
"target_paid_pending": {
"lookup_expr": "exact",
"max_length": 64,
"required": false
},
"source_paid_pending": {
"lookup_expr": "exact",
"max_length": 64,
"required": false
},
"source_paid": {
"lookup_expr": "exact",
"max_length": 64,
"required": false
},
"source_commission": {
"lookup_expr": "exact",
"max_length": 64,
"required": false
},
"source_amount_requested": {
"lookup_expr": "exact",
"max_length": 64,
"required": false
},
"is_fee_included": {
"lookup_expr": "exact",
"required": false
},
"amount": {
"lookup_expr": "exact",
"regexp": "[-+]?[0-9]*\\.?[0-9]*",
"required": false
},
"charged": {
"lookup_expr": "icontains",
"max_length": 32,
"required": false
}
}
},
"custom": {
"POST": {
"address_masks": {
"1000": [
{
"address_type": "legacy",
"mask": [
"^(m|n)[1-9a-km-zA-HJ-NP-Z]{25,33}$"
],
"is_default": false
},
{
"address_type": "p2sh-segwit",
"mask": [
"^2[1-9a-km-zA-HJ-NP-Z]{33,34}$"
],
"is_default": true
},
{
"address_type": "bech32",
"mask": [
"^bcrt1[02-9ac-hj-np-z]{6,85}$"
],
"is_default": false
}
],
"1002": [
{
"address_type": null,
"mask": [
"^0x[0-9a-fA-F]{40}$"
],
"is_default": true
},
{
"address_type": "duplicate",
"mask": null,
"is_default": false
}
],
"1125": [
{
"address_type": null,
"mask": [
"^0x[0-9a-fA-F]{40}$"
],
"is_default": true
},
{
"address_type": "duplicate",
"mask": null,
"is_default": false
}
],
"2005": [
{
"address_type": "legacy",
"mask": [
"^(m|n)[1-9a-km-zA-HJ-NP-Z]{25,33}$"
],
"is_default": false
},
{
"address_type": "p2sh-segwit",
"mask": [
"^2[1-9a-km-zA-HJ-NP-Z]{33,34}$"
],
"is_default": true
},
{
"address_type": "bech32",
"mask": [
"^bcrt1[02-9ac-hj-np-z]{6,85}$"
],
"is_default": false
}
],
"2015": [
{
"address_type": null,
"mask": [
"^0x[0-9a-fA-F]{40}$"
],
"is_default": true
},
{
"address_type": "duplicate",
"mask": null,
"is_default": false
}
]
}
}
}
}
}
HTTP status codes
201 Success.
500 The request wasn’t completed due to an internal error on the server side.