Библиотека
📩
Получить материал в Telegram Подпишитесь на канал и заполните короткую анкету — материалы откроются в нашем приложении
Открыть в Telegram →
DeFi Capital
Visual Guide · Nostra · 23.04.2026

Как закрыть займ в Nostra через Voyager

Пошаговая инструкция со скриншотами. Для тех, у кого не работает интерфейс nostra.finance.

Т
Тимур СевостьяновDeFi Capital · управление капиталом on-chain
Введение

Что мы сейчас будем делать

Интерфейс Nostra (nostra.finance) сломан — кнопка «Repay» не работает, баланс не обновляется. Но смарт-контракты Nostra работают. Сейчас мы зайдём в эти контракты напрямую через блокчейн-сканер Voyager и закроем займ вручную.

Что нужно сделать: 1) проверить точный долг, 2) подключить кошелёк к Voyager, 3) разрешить контракту списать токены (approve), 4) погасить долг (burn), 5) при желании вывести залог.

Займёт 10–15 минут при первом разе. Не переживай если непонятно — просто следуй шагам по порядку.

Время на процедурупри первом разе
10–15минут
Транзакций нужноapprove + burn
2транзакции
Запас STRK на газна обе транзакции
≈0.5STRK
Газ в проверенной транзакцииреальный repay от 23.04.2026
0.29STRK

⚠️ Сначала попробуй простые штуки. В 80% случаев проблема лечится так:

1. В кошельке Argent X / Braavos → Settings → Networks → Starknet Mainnet → Custom RPC. Введи: https://starknet-mainnet.g.alchemy.com/v2/demo

2. На сайте nostra.finance нажми Cmd+Shift+R (Mac) или Ctrl+Shift+R (Windows). Открой DevTools (F12) → вкладка Application → Clear Site Data.

3. Попробуй Repay заново. Если работает — закрывай этот гайд, проблема решена.

Подготовка

Что нужно приготовить

Проверь по каждому пункту, что у тебя это есть. Без этого двигаться не стоит.

Контракты

Адреса контрактов — выбери свой

Нажми Copy рядом с нужным адресом. Всегда два адреса на актив: nDebt (куда гасим) + underlying (сам токен).

nDebt STRK
куда гасить долг STRK
0x1258eae3eae5002125bebf062d611a772e8aea3a1879b64a19f363ebd00947
STRK
underlying — сам токен STRK
0x04718f5a0fc34cc1af16a1cdee98ffb20c31f5cd61d6ab07201858f4287c938d
nDebt ETH
куда гасить долг ETH
0x00ba3037d968790ac486f70acaa9a1cab10cf5843bb85c986624b4d0e5a82e74
ETH
underlying — сам токен ETH
0x049d36570d4e46f48e99674bd3fcc84644ddd6b96f7c741b1562b82f9e004dc7
nDebt USDC
куда гасить долг USDC
0x063d69ae657bd2f40337c39bf35a870ac27ddf91e6623c2f52529db4c1619a51
USDC.e
underlying — bridged USDC (Nostra использует этот!)
0x053c91253bc9682c04929ca02ed00b3e423f6710d2ee7e0d5ebb06f3ecf368a8
nDebt USDT
куда гасить долг USDT
0x024e9b0d6bc79e111e6872bb1ada2a874c25712cf08dfc5bcf0de008a7cca55f

Про USDC — осторожно!

Nostra принимает USDC.e (bridged, адрес 0x053c…68a8), а НЕ нативный USDC (0x0330…). Если у тебя в кошельке только нативный USDC — сначала обменяй его на USDC.e через StarkGate portal (1:1, без комиссии).

Шаг 01

Открой Voyager и найди свой nDebt-контракт

Что делать Открой в браузере voyager.online. В строке поиска вверху вставь адрес nDebt того актива, которым занимался (из таблицы выше). Нажми Enter.
Voyager главная страница
Voyager главная. Строка поиска — большая, по центру вверху, с иконкой лупы. Туда вставляем скопированный адрес.

Если используешь STRK для погашения — копируй адрес nDebt STRK: 0x1258…00947. Для USDC долга — nDebt USDC. И так далее.

Быстрый переход: можно прямо в адресной строке браузера вбить https://voyager.online/contract/<вставить_адрес> и сразу попадёшь на контракт.
Шаг 02

Посмотри на страницу контракта — знакомимся с интерфейсом

Ты попал на страницу контракта. Прокрути вниз — увидишь горизонтальное меню с вкладками:

Контракт Voyager — вкладки
Вкладки контракта. Нас интересуют Read Contract (посмотреть долг) и Write Contract (сделать repay).
Если увидишь синий баннер «The contract ABI is not verified» — это нормально. Не волнуйся, всё работает, просто предупреждение.
Шаг 03

Узнай точный размер долга

Что делать Кликни вкладку Read Contract. В списке функций слева найди balance_of (она #21 в списке). Кликни на неё. В поле account вставь свой адрес кошелька и нажми кнопку Query.
Read Contract — функция balance_of
Вкладка Read Contract. Слева список функций контракта, посередине — параметры выбранной функции, справа — результат.
balance_of с адресом
balance_of с заполненным account. После клика Query в правой части экрана появится число — это твой точный долг в raw units.

Что делать с полученным числом: это долг в маленьких единицах (wei). Чтобы получить «человеческое» число:

STRK / ETH / WBTC → разделить на 10^18 (18 нулей)
100000000000000000000 = 100 STRK
USDC / USDT → разделить на 10^6 (6 нулей)
100000000 = 100 USDC
Запиши это число! Оно понадобится в шаге 05 и 06. Возьми чуть с запасом: умножь на 1.05 (+5%) — проценты могут немножко подрасти за время пока ты делаешь approve.
Шаг 04

Подключи кошелёк к Voyager

Что делать Переключись на вкладку Write Contract. Справа от строки поиска функций — кнопка Connect Wallet. Кликни.
Write Contract с кнопкой Connect Wallet
Вкладка Write Contract. Кнопка Connect Wallet в правом верхнем углу формы, фиолетового цвета. Пока не подключён — поля функций заблокированы.

Появится модальное окно со списком кошельков:

Выбор кошелька
Список кошельков. Тот, что установлен в браузере — будет сверху. Клик по нему.

Argent X переименован в «Ready Web wallet»!

В списке НЕТ пункта «Argent». Если у тебя установлен Argent X — выбирай «Ready Web wallet» (самый первый пункт в списке). Это не ошибка, Argent сделал ребрендинг.

После клика — подтверди подключение в самом расширении кошелька. Кнопка Connect Wallet на Voyager превратится в адрес твоего кошелька. Поля Write станут активными.

Шаг 05

Approve — разреши nDebt-контракту списать твой токен

Что делать Не закрывая Voyager, открой новую вкладку → вставь в Voyager адрес underlying-токена (второй столбец из таблицы контрактов). Например, для погашения STRK-долга — адрес STRK: 0x0471…938d. Переключись на вкладку Write Contract. Найди функцию approve (#10 в списке). Заполни как ниже.
Контракт STRK underlying
Страница токена STRK. Обрати внимание на имя (StarkGate: STRK Token) — это подтверждает, что ты на правильном контракте.
Функция approve с заполненными полями
Функция approve с двумя полями. Заполняй по примеру ниже.

Как заполнять поля approve:

spender (кому разрешаем тратить)
адрес nDebt того актива, которым гасишь
# для STRK: 0x1258eae3eae5002125bebf062d611a772e8aea3a1879b64a19f363ebd00947
amount (сколько разрешаем тратить)
число из шага 03 × 1.05
# если долг был 100 STRK (100000000000000000000), пиши 105000000000000000000

Важно!

Поле spender должно содержать адрес nDebt-контракта, а не CDP Manager и не адрес своего кошелька! Проверь дважды перед тем как нажимать Write.

После заполнения — нажми кнопку Write внизу формы. В кошельке появится окно подтверждения транзакции. Проверь что всё верно → подтверди. Дождись Accepted on L2 (обычно 15–60 секунд).

Шаг 06

Burn — само погашение долга

Что делать Вернись на вкладку Voyager, открытую на nDebt-контракте (где делал проверку долга). Переключи на вкладку Write Contract. Найди функцию burn (#2 в списке). Заполни два поля и жми Write.
Функция burn
Функция burn. Два поля: burn_from (твой адрес кошелька) и amount (сколько гасим).
burn с заполненными полями
Пример заполненных полей burn. Адрес кошелька в burn_from, сумма долга в amount.

Как заполнять поля burn:

burn_from (с чьего счёта списать долг)
твой адрес кошелька
# тот самый, который используешь, Connect Wallet уже знает
amount (сколько долга гасим)
число из шага 03
# та же цифра, что в approve, но без +5% — ровно долг

Нажми Write → подтверди в кошельке. Подожди Accepted on L2.

Почему это работает, хоть UI Nostra сломан? Контракт при вызове burn сам пересчитывает актуальные проценты и списывает ровно ту сумму, которая нужна. Он не зависит от того, что показывал сломанный фронтенд.
Шаг 07

Проверь что всё получилось

Что делать Вернись на вкладку Read Contract того же nDebt-контракта. Снова вызови balance_of со своим адресом.
Успешная транзакция
Так выглядит успешная транзакция burn. Статусы «Accepted on L2» и «Accepted on L1» — всё прошло. В разделе Tokens Transferred — видно сгоревшие dSTRK (debt-токен) и пришедший STRK.
Шаг 08

Выведи залог (если нужно)

Что делать Вывод залога — это тоже burn, но на collateral-токене. Открой в своём кошельке список активов — найди токен с именем nSTRK, iSTRK, nETH и т.п. Это твой collateral-токен.

Как найти адрес:

Открой этот контракт в Voyager → Write Contract → функция burn → заполни:

burn_from
твой адрес кошелька
amount
balance_of этого collateral-токена
# проверь через Read Contract → balance_of, сколько у тебя залога

Порядок имеет значение!

Сначала repay (шаг 06), только потом withdraw. Если наоборот — транзакция упадёт с ошибкой INVALID_ACCOUNT_STATE (твой Health Factor не позволит вывести залог, пока есть долг).

Approve для withdraw не нужен — в отличие от repay, collateral-токен сжигается напрямую, без разрешения.
Если что-то не так

Что делать если что-то пошло не так

Кнопка Write неактивна, не могу нажать

Кошелёк не подключён. Проверь: в правом верхнем углу формы должен быть твой адрес, а не кнопка Connect Wallet. Если кнопка Connect Wallet исчезла, но поля всё равно disabled — обнови страницу (F5) и подключи заново.

Транзакция падает с «INSUFFICIENT_ALLOWANCE»

Approve был на сумму меньше текущего долга. Возвращайся к шагу 05 и сделай approve с большим запасом (умножь на 1.10 вместо 1.05) или на максимум. Попробуй burn ещё раз.

Транзакция падает с «EXCEEDS_BALANCE»

В поле amount указал больше чем твой реальный долг. Перечитай balance_of на nDebt (шаг 03) и вставь ровно это число. Долг мог немного вырасти за время подготовки — перепроверь прямо перед burn.

Транзакция на withdraw залога падает с «INVALID_ACCOUNT_STATE»

Пытаешься вывести залог до полного погашения долга. Сначала полностью закрой долг (шаг 06 и проверка в шаге 07, чтобы balance_of был 0), потом выводи залог.

В модалке Connect Wallet не вижу Argent

Argent теперь называется Ready Web wallet (ребрендинг). Выбирай его — это то же самое расширение.

Voyager тормозит или выдаёт ошибки

Смени RPC в кошельке: Argent X → Settings → Networks → Starknet Mainnet → Custom RPC → https://starknet-mainnet.g.alchemy.com/v2/demo. Обнови Voyager (F5).

Транзакция зависла в pending больше 10 минут

Starknet периодически нестабилен. Не отправляй повторно — обе могут пройти. Открой status.starknet.io — возможно сейчас сбой. Подожди 20–30 минут.

Не знаю свой адрес кошелька

Открой расширение Argent X / Ready или Braavos в браузере. Сверху в шапке рядом с именем аккаунта — небольшая иконка копирования. Нажми — адрес скопирован в буфер.

Проверено на практике

Доказательство что это работает

Процедура проверена на реальной успешной транзакции от 23.04.2026: approve STRK → burn на nDebt STRK. Газ — 0.29 STRK, подтверждена на L2 и L1.

voyager.online/tx/0x6d61dc4c…e54ea1e

Кто это пишет

Я Тимур Севостьянов, стратег в DeFi. Управляю портфелями клиентов on-chain, а мониторить позиции и риски мне помогает связка AI-агентов, которая следит за рынком 24/7. Всё, что ты читаешь в этих материалах, часть моей рабочей практики, не теория. Если хочешь, чтобы я посмотрел твой портфель и собрал стратегию под него: что держать, где брать доходность, как защититься от просадки. Напиши мне, это бесплатно.

Хочу стратегию для себя
Дисклеймер

Не является инвестиционной рекомендацией. Все действия под вашу ответственность.