Для просмотра страницы документации необходим экран шириной не менее чем 920px.

Справочник по сервису CoinBight API

Общая информация

CoinBight предоставляет простой и надежный API-сервис для интеграции криптовалютных кошельков с вашим приложением. API-сервис, как и личный кабинет CoinBight, создан таким образом, чтобы обеспечить простое взаимодействие вашего приложения с несколькими различными криптовалютами через единый интерфейс. Подобная система позволяет значительно упростить процесс интеграции вашей площадки с различными blockchain-сетями, поскольку вам не нужно тратить ваши средства и время на дорогостоящее серверное оборудование и его обслуживание.

Возможности CoinBight API:

  • получение информации о статусе работы API-сервиса;
  • получение текущего баланса ваших криптовалютных кошельков;
  • валидация криптовалютного адреса;
  • получение списка транзакций по вашему кошельку;
  • создание новых адресов для вашего кошелька;
  • отправка средств с ваших кошельков.

Поддерживаемые криптовалюты:

  • BTC / Bitcoin;
  • BCH / Bitcoin Cash;
  • BTG / Bitcoin Gold;
  • LTC / Litecoin;
  • XRP / Ripple;
  • TRX / TRON.

Нашей командой ведется работа по внедрению дополнительных цифровых валют. Список поддерживаемых криптовалют будет расширен в ближайшее время.

Подключение

Сервис CoinBight API имеет единую точку подключения по адресу:

http://api.coinbight.com/api/v1/{method}
{method} в адресе должен быть заменён на идентификатор необходимого вам метода API. Информацию о поддерживаемых методах вы можете найти ниже.

Для вызова определенной процедуры необходимой выполнить POST-запрос на адрес с указанием нужного метода.

Для примера покажем, как выглядит адрес для вызова метода status:

http://api.coinbight.com/api/v1/status
Запрос должен содержать в себе параметры в теле сообщения запроса, которые передаются посредством POST. Некоторые параметры являются обязательными, например Ключ API (параметр api_key). Различные методы требуют указания разных обязательных или не обязательных параметров. Подробный список возможных параметров для каждого метода описан ниже, в описании каждого поддерживаемого метода.

Авторизация

Каждый запрос к CoinBight API должен сопровождаться обязательным параметром api_key (ключ API). Ключ API является уникальным идентификатором, который позволяет серверу определить, какой именно пользователь совершает данный запрос, а также позволяет провести все необходимые проверки безопасности. Для создания ключа вы должны быть зарегистрированы и иметь активный аккаунт на сайте CoinBight.com.

Ключ API является последовательностью из различных символов (латинских букв и цифр). Для наглядности приведём пример ключа:

608caf4b183fa26a1090287023b2d84e1818ba84acb707d06d

Личный кабинет CoinBight (раздел Профиль/Безопасность) содержит функционал для создания и удаления ключей. В целях безопасности для создания ключа вы должны указать время его жизни (работы), а также список разрешенных IP-адресов, с которых могут быть осуществлены запросы с использованием данного ключа. При попытке запроса с незарегистрированного IP-адреса API-сервис будет возвращать ошибку.

Также при создании ключа вы можете указать, запросы какого типа будут разрешены для данного ключа. Все поддерживаемые методы (запросы) разделены на три основных категории:

  • просмотр;
  • создание адреса;
  • отправка средств.

Категория "Просмотр" является группой методов, целью которых является получение информации. К ним относятся следующие методы: status, getBalance, validateAddress и getTransactions. Данная категория запросов является обязательно разрешенной для каждого API-ключа.

Что касается категорий "Создание адреса" (метод createAddress) и "Отправка средств" (методы send и sendMany), они не являются обязательными и могут быть включены на ваше усмотрение.

Таким образом, вы можете создавать API-ключи с ограниченным или полным функционалом, опираясь на ваши требования безопасности.

В случае попытки запроса с использованием Ключа API, который не существует, у которого истёк срок жизни, или который удалён, API будет возвращать ошибку с описанием причины неуспешности запроса. Приведём пример ответа API при использовании несуществующего ключа:

{
    "status" : "error",
    "message" : "Invalid api key"
}

Метод status

Информация о статусе сервиса API

Метод status является информационным методом и служит для получения информации о текущем статусе работы сервиса.

Конечный адрес для вызова метода status:

http://api.coinbight.com/api/v1/status

Параметры запроса:

Параметр Описание и формат
api_key
обязателен
Ключ API
Пример: 608caf4b183fa26a1090287023b2d84e1818ba84acb707d06d

Структура ответа API:

Ключ значения Описание и формат
status
Указатель успешности/неуспешности запроса.
Значения: ok
server
Текущий статус работы сервиса.
Значения: on или off
dt
Серверная дата и время выполнения запроса.
Пример: 2019-01-10 14:45:30

Пример ответа API:

{
    "status" : "ok",
    "server" : "on",
    "dt" : "2020-03-14 14:37:35"
}

Метод getBalance

Получение текущего баланса кошелька

Метод getBalance является информационным методом и служит для получения баланса вашего криптовалютного кошелька.

Доступен для криптовалют:

Конечный адрес для вызова метода getBalance:

http://api.coinbight.com/api/v1/getbalance

Параметры запроса:

Параметр Описание и формат
api_key
обязателен
Ключ API
Пример: 608caf4b183fa26a1090287023b2d84e1818ba84acb707d06d
crypt
обязателен
Код криптовалюты кошелька, используемого в запросе.
Пример: btc, xrp, ltc
wallet_id
обязателен
Идентификатор кошелька CoinBight
Пример: 0f331fe23a-add227ac9d-b9433a75fe-a268b297f7

Структура ответа API:

Ключ значения Описание и формат
status
Указатель успешности/неуспешности запроса.
Значения: ok
crypt
Код криптовалюты, использованной в запросе.
Пример: btc, xrp, ltc
balance
Баланс в самых маленьких единицах криптовалюты кошелька (например, в сатоши для Bitcoin).
Пример: 1150000
balance_formatted
Отформатированный баланс в целых единицах криптовалюты кошелька.
Пример: 2.30412000

Пример ответа API:

{
    "status" : "ok",
    "balance" : "71404514",
    "crypt" : "xrp",
    "balance_formatted" : "71.404514"
}

Метод validateAddress

Валидация адреса

Метод validateAddress является информационным методом и служит для валидации адреса выбранной криптовалюты.

Доступен для криптовалют:

Конечный адрес для вызова метода validateAddress:

http://api.coinbight.com/api/v1/validateaddress

Параметры запроса:

Параметр Описание и формат
api_key
обязателен
Ключ API
Пример: 608caf4b183fa26a1090287023b2d84e1818ba84acb707d06d
crypt
обязателен
Код криптовалюты кошелька, используемого в запросе.
Пример: btc, xrp, ltc
address
обязателен
Адрес, который необходимо проверить на валидность.
Пример: 3J5HAvdpWjZKgK4DEs3ZzhbVaW1L6wxi7g

Структура ответа API:

Ключ значения Описание и формат
status
Указатель успешности/неуспешности запроса.
Значения: ok
crypt
Код криптовалюты, использованной в запросе.
Пример: btc, xrp, ltc
address_valid
Указатель валидности проверяемого адреса.
Значения: 1

Пример ответа API:

{
    "status" : "ok",
    "address_valid" : 1,
    "crypt" : "btc"
}

Метод getTransactions

Получение списка транзакций

Метод getTransactions является информационным методом и служит для получения списка транзакций вашего криптовалютного кошелька.

Доступен для криптовалют:

Конечный адрес для вызова метода getTransactions:

http://api.coinbight.com/api/v1/gettransactions

Параметры запроса:

Параметр Описание и формат
api_key
обязателен
Ключ API
Пример: 608caf4b183fa26a1090287023b2d84e1818ba84acb707d06d
crypt
обязателен
Код криптовалюты кошелька, используемого в запросе.
Пример: btc, xrp, ltc
wallet_id
обязателен
Идентификатор кошелька CoinBight
Пример: 0f331fe23a-add227ac9d-b9433a75fe-a268b297f7

Структура ответа API:

Ключ значения Описание и формат
status
Указатель успешности/неуспешности запроса.
Значения: ok
crypt
Код криптовалюты, использованной в запросе.
Пример: btc, xrp, ltc
transactions
JSON-массив со списком транзакций кошелька.
Пример: [{...},{...},{...}]
transactions[i].coin
Код криптовалюты транзакции
Пример: btc, xrp, ltc
transactions[i].txid
Hash транзакции
Пример: a2b7c12682f428731b143813fc15d31a19949deb11096ce5f0b7e5f2fb817e3e
transactions[i].full
Дополнительный массив информации о транзакции (специфичный для каждой криптовалюты).
transactions[i].amount
Количество отправленной/полученной криптовалюты (в минимальных единицах криптовалюты, например в сатоши для Bitcoin).
Пример: -110000 или 54990000
transactions[i].state
Статус транзакции (подтверждена или не подтверждена сетью).
Значения: confirmed или not_confirmed
transactions[i].type
Получение или отправка криптовалюты.
Значения: send или receive
transactions[i].confirmations
Количество подтверждений транзакции сетью.
Пример: 0, 1, 229
transactions[i].coin_specific
Необязательный массив данных, специфичный для транзакций каждой криптовалюты. Может содержать в себе различные данные, например Destination Tag для Ripple.
Пример: {} или {"destination_tag":"425"}

Пример ответа API:

{
   "status":"ok",
   "transactions":[
      {
         "coin":"btc",
         "txid":"a2b7c1268435f2f428731b10b7e813fc15d31a19949deb11096ce5f2fb817e3e",
         "full":{
            "address":"3EeU3MjmPyKWEZKhrtuXcZ256bKdvbRGeo",
            "category":"send",
            "amount":-0.0001,
            "vout":0,
            "fee":-4.016e-5,
            "confirmations":1140,
            "blockhash":"0000000000000000000cda0ebb32d195171acc76d7ad980422a67059c289eb43",
            "blockindex":2450,
            "blocktime":1583511938,
            "txid":"a2b7c126843813fc15d31a19949deb11096ce5f2f428731b10b7e5f2fb817e3e",
            "walletconflicts":[

            ],
            "time":1583509718,
            "timereceived":1583509718,
            "bip125-replaceable":"no",
            "abandoned":false
         },
         "amount":"-11000",
         "state":"confirmed",
         "type":"send",
         "confirmations":1140,
         "coin_specific":[

         ]
      },
      {...},
      {...},
      {...},
      {...}
   ],
   "crypt":"btc"
}

Метод createAddress

Создание нового адреса

Метод createAddress создаёт новый адрес для получения средств на выбранном кошельке.

Доступен для криптовалют:

Конечный адрес для вызова метода createAddress:

http://api.coinbight.com/api/v1/createaddress

Параметры запроса:

Параметр Описание и формат
api_key
обязателен
Ключ API
Пример: 608caf4b183fa26a1090287023b2d84e1818ba84acb707d06d
crypt
обязателен
Код криптовалюты кошелька, используемого в запросе.
Пример: btc, xrp, ltc
wallet_id
обязателен
Идентификатор кошелька CoinBight
Пример: 0f331fe23a-add227ac9d-b9433a75fe-a268b297f7
label
не обязателен
Название адреса (может содержать буквы, цифры, символ пробела а также символы "_", "-", "#", ".". Если вы не передаёте данный параметр, либо передаёте пустую строку, имя адреса будет сгенерировано автоматически.
Пример: My address label #1

Структура ответа API:

Ключ значения Описание и формат
status
Указатель успешности/неуспешности запроса.
Значения: ok
crypt
Код криптовалюты, использованной в запросе.
Пример: btc, xrp, ltc
new_address
Созданный адрес.
Пример: 3H6DpzDbuUHmAtw6k4KRAuwKm6cS9TxZJb
new_address_label
Название созданного адреса.
Пример: Address #6

Пример ответа API:

{
    "status" : "ok",
    "new_address" : "3Ct31Q8oTjzyMjqyAMEUW4FDqpPYeBWtyf",
    "crypt" : "btc"
}

Метод send

Отправка средств на адрес

Метод send отправляет указанное количество криптовалюты на указанный адрес.

Доступен для криптовалют:

Конечный адрес для вызова метода send:

http://api.coinbight.com/api/v1/send

Параметры запроса:

Параметр Описание и формат
api_key
обязателен
Ключ API
Пример: 608caf4b183fa26a1090287023b2d84e1818ba84acb707d06d
crypt
обязателен
Код криптовалюты кошелька, используемого в запросе.
Пример: btc, xrp, ltc
wallet_id
обязателен
Идентификатор кошелька CoinBight, с которого будут отправляться средства.
Пример: 0f331fe23a-add227ac9d-b9433a75fe-a268b297f7
address
обязателен
Криптовалютный адрес, на который будут отправляться средства.
Пример: 3Ct31Q8oTjzyMjqyAMEUW4FDqpPYeBWtyf
amount
обязателен
Количество криптовалюты для отправки (в целых единицах криптовалюты).
Пример: 1.25
password
обязателен
Пароль безопасности кошелька в формате строки (string).
coin_specific
не обязателен
Дополнительные не обязательные данные для некоторых криптовалют (например, Destination Tag для Ripple). Необходимо передавать в формате JSON.
Пример для Ripple: {"destination_tag":"1025"}
btc_priority
только для BTC/Bitcoin (обязателен)
Приоритет Bitcoin-транзакции. Необходимо передавать в формате JSON как значение параметра coin_specific.
Значения: high, normal, low
Пример: {"btc_priority":"high"}
destination_tag
только для XRP/Ripple
не обязателен
Destination Tag для транзакции Ripple (в формате от 1 до 10 цифр). Необходимо передавать в формате JSON как значение параметра coin_specific.
Примеры: 10, 558, 9440080
Пример JSON: {"destination_tag":"558"}

Структура ответа API:

Ключ значения Описание и формат
status
Указатель успешности/неуспешности запроса.
Значения: ok
crypt
Код криптовалюты, использованной в запросе.
Пример: btc, xrp, ltc
hash
Hash созданной транзакции.
Пример: 0ACEA7F7032F6C7498CFA20C5251CC7432CA88FC708C42D950610467255F53B9

Пример ответа API:

{
    "status" : "ok",
    "crypt" : "xrp",
    "hash" : "0ACEA7F7032F6C7498CFA20C5251CC7432CA88FC708C42D950610467255F53B9"
}

Метод sendMany

Отправка средств на несколько адресов

Метод sendMany отправляет криптовалюту на список указанных адресов.

Доступен для криптовалют:

Конечный адрес для вызова метода sendMany:

http://api.coinbight.com/api/v1/sendmany

Параметры запроса:

Параметр Описание и формат
api_key
обязателен
Ключ API
Пример: 608caf4b183fa26a1090287023b2d84e1818ba84acb707d06d
crypt
обязателен
Код криптовалюты кошелька, используемого в запросе.
Пример: btc, xrp, ltc
wallet_id
обязателен
Идентификатор кошелька CoinBight, с которого будут отправляться средства.
Пример: 0f331fe23a-add227ac9d-b9433a75fe-a268b297f7
send_array
обязателен
JSON-массив, в котором ключом является адрес для отправки средств, а значением является количество криптовалюты.
Пример: {"3Ct31Q8oTjzyMjqyAMEUW4FDqptyf":"0.2","3Ct31Q8oTjzyMjqyAMEUW4FDqptyf":"0.095"}
password
обязателен
Пароль безопасности кошелька в формате строки (string).
coin_specific
не обязателен
Дополнительные не обязательные данные для некоторых криптовалют (например, Destination Tag для Ripple). Необходимо передавать в формате JSON.
Пример для Ripple: {"destination_tag":"1025"}
btc_priority
только для BTC/Bitcoin (обязателен)
Приоритет Bitcoin-транзакции. Необходимо передавать в формате JSON как значение параметра coin_specific.
Значения: high, normal, low
Пример: {"btc_priority":"high"}
destination_tag
только для XRP/Ripple
не обязателен
Destination Tag для транзакции Ripple (в формате от 1 до 10 цифр). Необходимо передавать в формате JSON как значение параметра coin_specific.
Примеры: 10, 558, 9440080
Пример JSON: {"destination_tag":"558"}

Структура ответа API:

Ключ значения Описание и формат
status
Указатель успешности/неуспешности запроса.
Значения: ok
crypt
Код криптовалюты, использованной в запросе.
Пример: btc, xrp, ltc
hash
Hash созданной транзакции.
Пример: 0ACEA7F7032F6C7498CFA20C5251CC7432CA88FC708C42D950610467255F53B9

Пример ответа API:

{
    "status" : "ok",
    "crypt" : "xrp",
    "hash" : "0ACEA7F7032F6C7498CFA20C5251CC7432CA88FC708C42D950610467255F53B9"
}