Перевод отправлен, ID получен, но в блок ещё не попал. Первый порыв — нажать «отменить» или отправить платёж ещё раз. В Signum это логика, которая обычно приводит к проблемам. Неподтверждённая транзакция уже может быть известна узлам сети, и повторная отправка с теми же реквизитами может привести к двойной трате денег, если обе операции в итоге подтвердятся.

После подписания транзакция попадает в очередь неподтверждённых операций узла. На этом этапе у неё нет номера блока и счётчика подтверждений, но это не означает, что она существует только в вашем кошельке. Первое, что нужно сделать, — сохранить transaction ID и, если кошелёк его показывает, full hash. Затем открыть ID в официальном Explorer или запросить данные через getTransaction API. Если там указаны блок и confirmations, перевод уже в цепочке. Если блока нет, проверьте через getUnconfirmedTransactions, видна ли ожидающая операция для вашего аккаунта. Главное правило: не отправляйте повторно платёж с теми же суммой и получателем, пока не поняли судьбу первого.

В официальном API Signum нет операции, которая принимала бы ID перевода и отменяла его. Узел при повторной рассылке уже подписанной транзакции проверяет, есть ли её ID в блокчейне или в своей очереди, но повторное нажатие кнопки «отправить» обычно создаёт новый платёж с другим ID. Неподтверждённые транзакции не ждут вечно: есть лимит срока жизни (deadline), но истечение этого срока не гарантирует отмену. Пока операция распространяется по сети и не устарела, она всё ещё может быть включена в блок.

В документации можно встретить endpoint clearUnconfirmedTransactions. Несмотря на название, это не функция отмены платежа для пользователя. Это административная POST-операция, защищённая apiKey и доступная только владельцу ноды. Она не принимает ID конкретного платежа — вместо этого она очищает весь локальный пул неподтверждённых транзакций ноды целиком. Важно: clearUnconfirmedTransactions не удаляет уже подтверждённую запись из блокчейна и не удаляет транзакцию у других узлов, которые могут передать её обратно. Никогда не передавайте apiKey сторонним сервисам и не пытайтесь использовать этот endpoint как способ вернуть деньги.

Если перевод уже подтвердился и вошёл в блок, вернуть сумму можно только новым самостоятельным платежом от получателя, если он согласен. clearUnconfirmedTransactions к подтверждённым транзакциям не относится. Перед любой отправкой стоит несколько раз проверить адрес, сеть, сумму и комиссию — это единственный способ избежать проблемы заранее.