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 confirmation blocks 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 invoice payment currency.
- 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.
Response 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
- wallet
object
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 Address types for supported values.
- address
string
The wallet address to which the funds are sent.
- amount
string
The amount of the outgoing transfer.
- currency
object
required If the field is blank, the invoice payment currency will be selected by a payer manually.
- 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
- force_blockchain
boolean
If the destination address of a payout also belongs to B2BinPay, such a transaction is submitted without the blockchain. As a result, it doesn’t have a
tx hash
and can’t be found in block explorers. Set this value totrue
, to obtaintx hash
.By default,
false
.
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": {
"label": "{{$randomProduct}}",
"amount": "{{payout_amount_in_btc}}",
"fee_amount": {{payout_amount_fee_in_btc}},
"address": "{{payout_to_address_btc}}",
"tracking_id": "{{$guid}}",
"confirmations_needed": {{confirmations_needed}},
"callback_url": "{{callback_url}}"
},
"relationships": {
"wallet": {
"data": {
"type": "wallet",
"id": "{{wallet_id_btc}}"
}
}
}
}
}
'
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.
Response 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 a 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 fee included. |
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
- amount
string
required The payout amount.
- to_address
string
required The payout destination address.
- wallet
object
required The payout wallet.
- currency
object
required The payout currency.
- force_blockchain
boolean
If the destination address of a payout also belongs to B2BinPay, the fee for such a transaction always equals to zero. Set this value to
true
, to obtain normal gas prices.By default,
false
.
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 (invoice 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 confirmation blocks
pass AML verification (sometimes it may take longer than getting confirmations in the blockchain)
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 If the manual resending is required, you can do it on the Wallet management > Events page.
Refer to Invoice 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.
- type
- 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.
- type
- 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.
- type
- 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.
- type
- 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.
- type
- 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.
- type
- 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.
- type
- 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.
- type
- 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.
- type
- 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.
- type
- 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.
- type
- 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.
- type
- 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.
- type
{
"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
}
]
}
}
}
}
}
Response codes
201 Success.
500 The request wasn’t completed due to an internal error on the server side.