Расчёт и отправка

API CoinVertus: комиссии сети, подбор источников, план отправки, подтверждение, задачи и их статусы.

Адрес API: https://api.coinvertus.net/v1

Отправка: порядок

  1. getfee — комиссия сети на уровнях fast, normal, low и комиссия сервиса; spendinfo — с каких адресов уйдут деньги.
  2. preparetx — план перевода: источники, получатели, комиссия, шаги. План ничего не резервирует и живёт 5 минут (expires_at).
  3. Проверьте план и подтвердите его: posttx с prepare_id и confirm = HMAC-SHA256(секрет ключа, «key_id.fingerprint.prepare_confirm.prepare_time»), где key_id — ID ключа, подготовившего план.
  4. posttx ставит задачу в очередь и списывает комиссию сервиса; очередь отправляет перевод в течение нескольких секунд. Итог — task/{TASK_ID} или вебхук task.done.
ПолеОписание
toПолучатели: address и amount; tag — тег назначения, comment — текст получателю до 120 символов, где сеть это поддерживает. Несколько получателей (до 100) — только у пар с multi_recipient; при send_all — один получатель без amount.
fromСвои адреса-источники (address); без from адреса подбираются сами. В сетях с аккаунтами — один адрес.
orderПорядок подбора источников: desc (по умолчанию) — сначала крупные адреса, asc — мелкие.
feepreparetx: fast, normal (по умолчанию) или low; в UTXO-сетях — ещё ставка числом в единицах fee_rate_unit. В сетях с аккаунтами — только normal; у токенов с оплатой энергии — ещё rent или burn.
changepreparetx, UTXO-сети: куда вернуть сдачу — auto (по умолчанию, адрес самого крупного входа), new (новый адрес) или свой адрес этой сети.
send_allpreparetx: true — отправить всё с источников за вычетом комиссии.

getfee и spendinfo

getfee: те же to, from, order. fee_coin — монета комиссии сети (у токена — монета сети); fast, normal, low — amount и пять валют либо null, если уровня у сети нет или на нём сумма с комиссией не помещается (не помещается нигде — 409 A018); service_fee_usd — комиссия сервиса; extra — дополнительные расходы.

{
    "coin": "DOGE",
    "network": "dogecoin-mainnet",
    "fee_coin": "DOGE",
    "fast": {
        "amount": "0.04452",
        "usd": "0.2",
        "eur": "0.01",
        "rub": "0.5",
        "cny": "0.04",
        "inr": "0.47"
    },
    "normal": {
        "amount": "0.02226",
        "usd": "0.1",
        "eur": "0.01",
        "rub": "0.5",
        "cny": "0.04",
        "inr": "0.47"
    },
    "low": null,
    "service_fee_usd": "0.10",
    "extra": []
}
extra.typeЧто значит
gasНа адресе токена мало монеты сети: amount придёт на него с другого вашего адреса, network_fee — комиссия этого перевода.
rentБез provider — создание счёта токена у получателя, если его ещё нет.
burn, rentС provider — способы оплаты энергии токена: сжигание (burn) или аренда (rent); selected — способ, который выберет fee normal.

spendinfo: to и order. sources — адреса с деньгами по порядку order: address, balance (доступно), locked (занят незавершённым переводом), use — сколько с него возьмёт отправка; enough — хватит ли. У токена use — сумма токена, комиссию проверяют getfee и preparetx.

preparetx: план отправки

Запрос: network, to, from, order, fee, change, send_all. Ответ — план и данные для подтверждения в posttx. Не хватает платёжного баланса на комиссию сервиса — 409 A020.

{
    "prepare_id": "prep_9a3f0c7d21b84e65f0a1c2d3",
    "prepare_confirm": "5c0e8d1f7a2b4c6d9e3f1a0b2c4d6e8f",
    "prepare_time": 1789647000,
    "expires_at": "2026-09-17T12:15:00Z",
    "fingerprint": "0995342725a2b11aa2260e7e84e6394754eef9dcc7412a222e2952b9d9589345",
    "coin": "DOGE",
    "network": "dogecoin-mainnet",
    "tx": {
        "sources": [
            {
                "address": "DLp4hPWtqM8sQZoyk2vRj3TfGcX5nA7bUe",
                "amount": "150.5"
            }
        ],
        "recipients": [
            {
                "address": "D8vFz4p1L37jdg47HXKtSHA5uYLYxbGgPD",
                "amount": "100"
            }
        ],
        "change": {
            "address": "DLp4hPWtqM8sQZoyk2vRj3TfGcX5nA7bUe",
            "amount": "50.47774"
        },
        "network_fee": "0.02226",
        "fee_coin": "DOGE",
        "fee_rate": "100",
        "fee_rate_unit": "koinu/vB",
        "size": 226,
        "replaceable": false
    },
    "steps": [
        {
            "type": "send"
        }
    ],
    "service_fee_usd": "0.10"
}
ПолеОписание
tx.sourcesАдреса-источники и сколько уйдёт с каждого вместе с комиссией сети.
tx.recipientsПолучатели и суммы; в сетях с тегом или комментарием — tag и comment.
tx.changeСдача UTXO: адрес и сумма; без сдачи — null.
tx.network_fee, tx.fee_coinКомиссия сети и её монета.
tx.fee_rate, tx.fee_rate_unit, tx.size, tx.replaceableUTXO-сети: ставка и её единица, размер транзакции, можно ли заменить её транзакцией с большей комиссией.
tx.fee_payer, tx.rentТокены, у которых комиссию платит другой ваш адрес той же транзакцией: этот адрес и плата за создание счёта у получателя.
stepsШаги исполнения: gas — сначала пополнение газа (from, to, amount, network_fee), rent — аренда энергии (provider, energy, cost), send — сам перевод.
expires_at, fingerprintСрок плана и его отпечаток: подтвердить план можно только до expires_at.

posttx и задача

posttx: prepare_id и confirm. Ответ — объект задачи. Повтор с тем же prepare_id возвращает ту же задачу — и после срока плана, так что при обрыве связи posttx можно повторить. Чужой план — 404 A021, срок вышел — 409 A021, неверный confirm — 400 A002. task/{TASK_ID} возвращает тот же объект.

{
    "task_id": "task_6f1c2a9b0d4e8f7a3c5b1d20",
    "task_info": "confirmed",
    "task_start": "2026-09-17T12:10:00Z",
    "task_sent": "2026-09-17T12:10:04Z",
    "task_done": "2026-09-17T12:20:12Z",
    "prepare_id": "prep_9a3f0c7d21b84e65f0a1c2d3",
    "coin": "DOGE",
    "network": "dogecoin-mainnet",
    "txid": "b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7",
    "gas_txid": null,
    "confirmations": 6,
    "error_code": null,
    "tx": {
        "sources": [
            {
                "address": "DLp4hPWtqM8sQZoyk2vRj3TfGcX5nA7bUe",
                "amount": "150.5"
            }
        ],
        "recipients": [
            {
                "address": "D8vFz4p1L37jdg47HXKtSHA5uYLYxbGgPD",
                "amount": "100"
            }
        ],
        "change": {
            "address": "DLp4hPWtqM8sQZoyk2vRj3TfGcX5nA7bUe",
            "amount": "50.47774"
        },
        "network_fee": "0.02226",
        "fee_coin": "DOGE",
        "fee_rate": "100",
        "fee_rate_unit": "koinu/vB",
        "size": 226,
        "replaceable": false
    },
    "service_fee_usd": "0.1"
}
task_infoЧто значит
queueВ очереди; задачу можно отменить.
processingОтправляется.
gasЖдёт подтверждения пополнения газа токена.
rentЖдёт аренды энергии.
sentВ сети, ждёт подтверждений.
unknownИсход отправки неизвестен: нода не ответила. Не повторяйте перевод — итог определит сверка, и задача перейдёт дальше сама.
confirmedПодтверждена.
failedНе выполнена — причина в error_code.
droppedТранзакция выпала из сети без подтверждений.
cancelledОтменена клиентом.
ПолеОписание
task_start, task_sent, task_doneВремя постановки, отправки в сеть и конечного статуса; ещё не было — null.
txid, gas_txid, confirmationsТранзакция перевода, транзакция пополнения газа и подтверждения; до отправки — null.
error_codeКод причины, если задача не выполнена; иначе null.
tx, service_fee_usdПлан из preparetx и комиссия сервиса, списанная за задачу.
error_codeЧто значит
A009Сеть или нода были недоступны дольше 30 минут, либо исход отправки неизвестен.
A018К моменту отправки денег на адресе не хватило.
A021План устарел (баланс, комиссия или адрес изменились после preparetx) либо аккаунт заблокирован.
A023Сеть отклонила транзакцию; комиссия сети списана.
A025Аренда энергии не удалась.

task/{TASK_ID}/cancel отменяет задачу в queue — до первой попытки и между повторами; после отправки газа или заказа аренды отмены нет. Позже — 409 A024. Повтор по отменённой задаче возвращает её же.

Особенности сетей

  • UTXO-сети: несколько получателей, уровни fast, normal, low или своя ставка, сдача — change; источники — входы с ваших адресов.
  • Сети с аккаунтами: один адрес-источник и один получатель, только normal. Адрес с незавершённым переводом занят до его подтверждения — задача ждёт до 30 минут.
  • Сети с тегом назначения (tag в assets): to[].tag уходит получателю; входящие на ваш адрес различаются по tag в transfers, а getnewaddress выдаёт новый тег к тому же адресу.
  • Сеть с комментарием к переводу: to[].comment — текст до 120 символов; в остальных сетях поле отклоняется (400 A002).
  • Токены: комиссия — монетой сети с того же адреса. Если её мало, план начинается шагом gas: пополнение с вашего самого крупного свободного адреса сети, а токен уходит после его подтверждения.
  • Токены с оплатой энергии: fee normal — аренда у самого дешёвого подключённого провайдера, иначе сжигание; rent или burn — выбор вручную. Аренда не удалась — failed A025. Провайдеры подключаются в настройках аккаунта, вкладка «Помощники».
  • Токены, у которых комиссию и создание счёта получателя платит ваш адрес с наибольшим остатком монеты сети той же транзакцией: в tx — fee_payer и rent, шага gas нет.
  • Приватные сети: отправка с одного адреса, getfee — оценка сверху, точная комиссия — в preparetx, privkey недоступен; отправка через кошелёк ноды занимает до нескольких минут.

Комиссия сервиса и платёжный баланс

Комиссия сервиса — по тарифу: процент от суммы в USD с минимумом и максимумом; её показывают getfee и preparetx (service_fee_usd). Она списывается с платёжного баланса при posttx и возвращается, если перевод не дошёл до сети, выпал или задачу отменили. Подтверждённый перевод и отклонённый сетью (failed A023) комиссию не возвращают.

Чтобы отправки не вставали из-за баланса, включите автопополнение в кабинете (Платёжный баланс → Автопополнение); вебхук paybalance.low предупредит, если баланс опустится ниже порога.