Функции управления счетом

1. Баланс счета
2. Трансфер (перевод)
3. Информация о транзакции
4. Список транзакций
API-запрос осуществляется методом POST протокола HTTP к одному из указанных в Кабинете хостов. Общий вид URL API-запроса:
http(s)://API_HOST/v1/<function>/<params>
Тело (DATA) POST-запроса всегда состоит из трех параметров:
public_key=<PUBLIC_KEY>&rnd=<RND>&signature=<SIGNATURE>
PUBLIC_KEY – открытый ключ пользователя, RND – случайный набор латинских букв и цифр, SIGNATURE – подпись запроса, PRIVATE_KEY – закрытый ключ пользователя.
Открытый и закрытый ключи пользователя уникальны для каждого пользователя и отображены в Кабинете. RND генерирует отправитель запроса, в целях безопасности рекомендуется генерировать новый RND на каждый запрос.
Во всех приведенных ниже примерах открытый ключ (PUBLIC_KEY):
67DbHjAodk9Cbic98mG98492d4N1IB29m51P3j
закрытый ключ (PRIVATE_KEY):
35CJ1KMG57HPjNaF4MCEe9HiAEKF39eNigikJ2393
RND:
J04PDiMH9pH2k10Il713D5c76f1
За каждый API-запрос начисляется определенное количество баллов (вес функции), сумма таких баллов полученных за 1 минуту не должна превышать лимит установленный для пользователя, который по умолчанию равен 10. Свяжитесь с тех. поддержкой для увеличения лимита.

1. Функция wallet-balance, баланс счета

Вес функции wallet-balance равен 1 баллу.

Общий вид

http(s)://API_HOST/v1/wallet/<KIND>/balance
KIND – название криптовалюты в сокращенном виде, допустимые значения: BTC – Bitcoin, LTC – Litecoin, DASH – Dash, XMR – Monero, BCH – Bitcoin Cash.
SIGNATURE вычисляется по формуле:
SHA512(PUBLIC_KEY+';'+RND+';'+KIND+';'+PRIVATE_KEY)

Ответ (JSON)

{
kind: KIND,
balance: BALANCE,
unlocked_balance: UNLOCKED_BALANCE
}
KIND – название криптовалюты в сокращенном виде, BALANCE – баланс счета, UNLOCKED_BALANCE – доступный к трате баланс счета.

Пример

URL ЗАПРОСА:
http(s)://API_HOST/v1/wallet/ltc/balance
DATA ЗАПРОСА:
public_key=67DbHjAodk9Cbic98mG98492d4N1IB29m51P3j&rnd=J04PDiMH9pH2k10Il713D5c76f1&signature=7de07cd9fa4ccaf64247418a975ef505c4378e22e612bad440f125bc1f36fa25e00b9bae860da51a844da8c79bd392d1820d25a5c39547e103d1a1aeb1e4e789
JSON-ОТВЕТ:
{"kind":"ltc","balance":"0.034","unlocked_balance":"0.034"}

2. Функция wallet-send-to, трансфер (перевод)

Вес функции wallet-send-to равен 5 баллам.

Общий вид

http(s)://API_HOST/v1/wallet/<KIND>/send/<AMOUNT>/to/<ADDRESS>/sffa/<SUBTRACT_FEE_FROM_AMOUNT>/fee/<FEE>
KIND – название криптовалюты в сокращенном виде, AMOUNT – сумма криптовалюты (десятичная дробь, дробная часть после точки), ADDRESS – принимающий транзакцию адрес, SUBTRACT_FEE_FROM_AMOUNT – параметр отвечает за вычитание комиссии из суммы транзакции, принимает значение true или false, FEE – вознаграждение майнерам в BTC/kB (0.00001 BTC/kB = 1 sat/vbyte), необязательный параметр.
Параметр SUBTRACT_FEE_FROM_AMOUNT актуален для всех криптовалют кроме Monero (XMR). Для Monero SUBTRACT_FEE_FROM_AMOUNT всегда должен быть false.
Если SUBTRACT_FEE_FROM_AMOUNT установлено как true, то BLOCKED_AMOUNT (заблокированная сумма до момента выполнения перевода) будет равна указанному в AMOUNT, если false, то BLOCKED_AMOUNT будет больше AMOUNT на сумму равную <потенциальная комиссия майнерам> + <комиссия системы>.
Параметер FEE актуален только для Bitcoin (BTC), игнорируется для остальных криптовалют. Если при запросе трансфера BTC отсутствует параметер FEE, то система сама высчитывает минимальное вознаграждение майнерам такое, чтобы транзакция получила подтверждение в ближайшие 20 блоков.
Если поле FEE отсутствует, то SIGNATURE вычисляется по формуле:
SHA512(PUBLIC_KEY+';'+RND+';'+KIND+';'+AMOUNT+';'+ADDRESS+';'+SUBTRACT_FEE_FROM_AMOUNT+';'+PRIVATE_KEY)
Если поле FEE задано формула SIGNATURE:
SHA512(PUBLIC_KEY+';'+RND+';'+KIND+';'+AMOUNT+';'+ADDRESS+';'+SUBTRACT_FEE_FROM_AMOUNT+';'+FEE+';'+PRIVATE_KEY)

Ответ (JSON)

{
transaction_id: TRANSACTION_ID,
amount: AMOUNT,
blocked_amount: BLOCKED_AMOUNT,
address: ADDRESS,
sffa: SUBTRACT_FEE_FROM_AMOUNT,
fee: FEE,
created_at: CREATED_AT
}
TRANSACTION_ID – внутренний индентификатор транзакции, BLOCKED_AMOUNT – заблокированная сумма, блокируется, но не списывается с баланса до тех пор пока транзакция в ожидании исполнения. BLOCKED_AMOUNT обычно больше суммы, которая спишется с баланса по завершению транзакции.
Если FEE не обозначен или не поддерживается для криптовалюты, то в ответе FEE будет иметь значение unset.

Пример №1

URL ЗАПРОСА:
http(s)://API_HOST/v1/wallet/ltc/send/0.01/to/M8NASPjHR8pT6FFNJKSvZVdFCEpaqTjxTE/sffa/true
DATA ЗАПРОСА:
public_key=67DbHjAodk9Cbic98mG98492d4N1IB29m51P3j&rnd=J04PDiMH9pH2k10Il713D5c76f1&signature=e61421b2ed705d91f78ee7496560437523812f7cff5107dc31e696d24c68d5178f937802b3e5cf4db3e3e3170565bd2d62a0dffe0ed9a11bd6e7036de6a4b51b
JSON-ОТВЕТ:
{"transaction_id":2783,"amount":"0.01","blocked_amount":"0.01","address":"M8NASPjHR8pT6FFNJKSvZVdFCEpaqTjxTE","sffa":true,"fee":"unset","created_at":"2022-02-04T12:05:01.000+03:00"}

Пример №2

URL ЗАПРОСА:
http(s)://API_HOST/v1/wallet/btc/send/0.00015/to/34ZVpoqVHbepG7bFELqzfPiBpqxbQxnq6W/sffa/true/fee/0.00001/
DATA ЗАПРОСА:
public_key=67DbHjAodk9Cbic98mG98492d4N1IB29m51P3j&rnd=J04PDiMH9pH2k10Il713D5c76f1&signature=155f46b8453ffd4d22319eb5ebf970b59349a636d20bbcd2f2e49405c59bda9067a10410ab23d4ca9342e829ec5fe9058a6f1057559cb535c9c637055cbbb7c7
JSON-ОТВЕТ:
{"transaction_id":2785,"amount":"0.00015","blocked_amount":"0.00015","address":"34ZVpoqVHbepG7bFELqzfPiBpqxbQxnq6W","sffa":true,"fee":"0.00001","created_at":"2022-02-04T12:07:07.000+03:00"}

3. Функция wallet-transaction-info, информация о транзакции

Вес функции wallet-transaction-info равен 1 баллу.

Общий вид

http(s)://API_HOST/v1/wallet/<KIND>/transaction/<TRANSACTION_ID>/info
KIND – название криптовалюты в сокращенном виде, TRANSACTION_ID – внутренний идентификатор транзакции, возвращается в ответе запрос трансфера (перевода).
SIGNATURE вычисляется по формуле:
SHA512(PUBLIC_KEY+';'+RND+';'+KIND+';'+TRANSACTION_ID+';'+PRIVATE_KEY)

Ответ (JSON) транзакции неопределенного типа (трансфер ожидающий выполнения)

{
transaction_id: TRANSACTION_ID,
amount: AMOUNT,
address: ADDRESS,
blocked_amount: BLOCKED_AMOUNT,
sffa: SUBTRACT_FEE_FROM_AMOUNT,
fee: FEE,
created_at: CREATED_AT
}

Ответ (JSON) для внутренней транзакции

{
transaction_id: TRANSACTION_ID,
amount: AMOUNT,
address: ADDRESS,
hash: HASH,
type: TYPE,
created_at: CREATED_AT
}

Ответ (JSON) для внешней транзакции

{
transaction_id: TRANSACTION_ID,
amount: AMOUNT,
address: ADDRESS,
hash: HASH,
confirms_received: CONFIRMS_RECEIVED,
type: TYPE,
created_at: CREATED_AT
}
HASH – хэш (TXID) транзакции (идентичен хэшу в блокчейне криптовалюты для внешних транзакций), AMOUNT – сумма общего списания с баланса (<тело транзакции> + <комиссия майнерам> + <комиссия системы>), ADDRESS – адрес получателя транзакции, TYPE – тип транзакции, внутренняя (internal) или внешняя (external).
Транзакция считается внутренней (internal) если перевод совершен между разными пользователями внутри одного общего криптокошелька (подробнее у тех. поддержки), комиссия майнерам и комиссия системы за такие переводы отсутствуют. Прочие транзакции считаются внешними (external).
CONFIRMS_RECEIVED может принимать следующие значения: положительное число – реальное число полученных на данный момент подтверждений, количество подтверждений меньше, чем требуется для признания транзакции подтвержденной; положительное число со знаком "+" в конце – количество подтверждений больше либо равно необходимому количеству для признания транзакции подтвержденной (транзакция подтверждена, учет полученных подтверждений больше не ведется); -1 – транзакция отменена отправителем и не существует в блокчейне криптовалюты, конфликтная транзакция.

Пример

URL ЗАПРОСА:
http(s)://API_HOST/v1/wallet/btc/transaction/2785/info
DATA ЗАПРОСА:
public_key=67DbHjAodk9Cbic98mG98492d4N1IB29m51P3j&rnd=J04PDiMH9pH2k10Il713D5c76f1&signature=00338d63416a5a337a46f7d0d5980fec872148e0cf38b50e6efe9423815ed4e5cc9c29873ec18633e49ef093bcc6d22c9d57d5dd1192b084a19497b6960dc350
JSON-ОТВЕТ:
{"transaction_id":2785,"amount":"-0.00015","address":"34ZVpoqVHbepG7bFELqzfPiBpqxbQxnq6W","hash":"1de723b3e5d1fcd990817656496f9070ebc53ef202fc23ff8af5f961ae2422d9","confirms_received":"0","type":"external","created_at":"2022-02-03T11:08:07.000+03:00"}

4. Функция wallet-transaction-list, список транзакций

Вес функции wallet-transaction-list равен 4 баллам.

Общий вид

http(s)://API_HOST/v1/wallet/<KIND>/transaction/list/<OFFSET>
KIND – название криптовалюты в сокращенном виде, OFFSET – смещение в страницах, 1 страница содержит 40 транзакций.
Список транзакций отсортирован в обратном порядке, первая в списке – последняя на момент запроса транзакция.
SIGNATURE вычисляется по формуле:
SHA512(PUBLIC_KEY+';'+RND+';'+KIND+';'+OFFSET+';'+PRIVATE_KEY)

Ответ (JSON)

[
{
transaction_id: TRANSACTION_ID_1,
amount: AMOUNT_1,
hash: HASH_1
},
{
transaction_id: TRANSACTION_ID_2,
amount: AMOUNT_2,
hash: HASH_2
},
...
{
transaction_id: TRANSACTION_ID_N,
amount: AMOUNT_N,
hash: HASH_N
}
]
TRANSACTION_ID_(1,2,...,N) – внутренний идентификатор транзакции, AMOUNT_(1,2,...,N) – сумма криптовалюты, HASH_(1,2,...,N) – хэш (TXID) транзакции (идентичен хэшу в блокчейне криптовалюты для внешних транзакций).

Пример

URL ЗАПРОСА:
http(s)://API_HOST/v1/wallet/ltc/transaction/list/1
DATA ЗАПРОСА:
public_key=67DbHjAodk9Cbic98mG98492d4N1IB29m51P3j&rnd=J04PDiMH9pH2k10Il713D5c76f1&signature=38b97d1a8a4c79cfaf48ccb1325f72c8bf91f7d3d04dd9539f1ca820344615d3c885029fc1a05e823dfa706c44590afd395eddb9a59d356e38481cd815c1bba8
JSON-ОТВЕТ:
[{"transaction_id":1189, "hash":"lola-internal-p5ooocm76bbd2hgna7fp1nmadba7cbp1a", "amount":"-0.00723648"}, {"transaction_id":1183, "hash":"a620c7290739d0b9a20ab56fa9f50377f509b2bfa34b36e15176dff34640ff32", "amount":"0.0015"}, {"transaction_id":1180, "hash":"a7a4336151552395af9d3ec6ac873dd4837cbd7506a6342babdcaa0b40c44dc5", "amount":"0.0025"}, {"transaction_id":1179, "hash":"5cf46f09896c92fc7eb0b465f92d648f79ae6dd9caba4bc896094cfd54d89b35", "amount":"0.0015"}, {"transaction_id":714, "hash":"0f1eef38929f65b90648406c9ee8e0d2276d585b22d325eefc115a26aecea3fd", "amount":"-0.00515"}, {"transaction_id":713, "hash":"e862b56799b19d9487dd01f93b59042122c8aa1d4aabe6dff3a18e711e1c8021", "amount":"-0.00311352"}]