Если вы когда-нибудь создавали платёжную функцию и задавались вопросом, как деньги на самом деле пересекают границу, ответ почти всегда связан с двумя счетами со странными латинскими названиями: ностро и лоро/востро. Это «трубопровод», стоящий за каждым международным переводом, денежной пересылкой и мультивалютной выплатой. Большинство объяснений про счета ностро и востро ограничиваются словарным определением. Это руководство идёт дальше: объясняет понятие простым языком, разбирает пример двойной записи и затем показывает, как моделировать, оценивать и сверять эти остатки в коде с помощью API обменных курсов. Если вы разрабатываете финтех-, казначейское или бухгалтерское ПО, это именно та ментальная модель, которая вам нужна.
Что такое счета ностро и востро?
Nostro и vostro происходят из итальянского (через латынь): nostro значит «наш», а vostro — «ваш». Это две метки для одного и того же счёта, если смотреть с двух противоположных сторон банковских отношений.
- Счёт ностро — это «наши деньги, размещённые у вас». Это счёт, который банк держит в иностранном банке, номинированный в иностранной валюте. В книгах домашнего банка это актив.
- Счёт востро — это «ваши деньги, размещённые у нас». Это ровно тот же счёт с точки зрения банка, который хранит средства. В его книгах это обязательство.
Ключевое понимание для разработчика: ностро и востро — это не два разных счёта, а один счёт, описанный с двух точек зрения. То, что Банк A называет своим USD-ностро в Банке B, Банк B называет своим востро для Банка A. Тот же остаток, те же операции, две бухгалтерские книги, противоположные знаки.
Вот канонический пример. Немецкому банку нужно проводить платежи в долларах США для своих клиентов, но у него нет отделения в США и прямого доступа к долларовому клирингу. Поэтому он открывает USD-счёт в американском банке-корреспонденте и держит там доллары.
- Для немецкого банка этот USD-счёт — ностро («наши доллары, там, за океаном»).
- Для американского банка тот же счёт — востро («доллары немцев, здесь у нас»).
Ностро и востро: ключевое различие
Различие полностью связано с точкой зрения. Эта таблица подводит итог:
| Признак | Счёт ностро | Счёт востро |
|---|---|---|
| Значение | «Наши деньги у вас» | «Ваши деньги у нас» |
| Чья точка зрения | Банк, который владеет средствами | Банк, который хранит средства |
| Где ведётся | В иностранном банке-корреспонденте | В отечественном (хранящем) банке |
| Валюта | Иностранная валюта | Местная валюта хранящего банка |
| Отражение в балансе | Актив для владельца | Обязательство для хранителя |
| Типичное использование | Расчёты по исходящим платежам в инвалюте | Дать иностранному банку платить в местной валюте |
Где здесь счёт лоро
Иногда вам встретится третий термин — лоро («их»). Счёт лоро — это не новый тип счёта, а ссылка, которую банк использует, говоря о счёте, принадлежащем двум другим банкам. Если Банк A обсуждает счёт, который Банк B ведёт для Банка C, Банк A называет его счётом лоро. Это важно в основном для ясности SWIFT-сообщений в многобанковских платёжных цепочках; напрямую моделировать его нужно редко.
Почему эти счета существуют: корреспондентский банкинг
Ни у одного банка нет отделения в каждой стране и прямого членства в национальной клиринговой системе каждой страны. Корреспондентский банкинг решает это. Небольшой банк-«респондент» сотрудничает с более крупным банком-«корреспондентом», у которого есть местный доступ, и заранее фондирует там счёт ностро. Теперь респондент может предлагать платежи в этой валюте, вообще не выстраивая местную инфраструктуру.
Один крупный банк может вести десятки счетов ностро по всему миру — по одному на каждую валюту, в которой ему нужно проводить расчёты, — и каждый из них представляет собой заранее профондированный пул ликвидности. С другой стороны, крупный корреспондент ведёт сотни счетов востро для банков-респондентов по всему миру. Инструкции, перемещающие остатки между этими счетами, идут по сети SWIFT в виде стандартизированных сообщений (всё чаще в формате ISO 20022).
Вот почему «простой» трансграничный платёж может пройти через три-четыре банка, занять от одного до трёх дней и потерять по пути часть на комиссиях и валютном спреде. Каждый переход — это дебет и кредит по какому-то остатку ностро или востро.
Разобранный пример: двойная запись по паре ностро/востро
Понятия быстро становятся конкретными, если следовать за деньгами. Предположим, FNBA (банк в Австралии) держит USD-ностро в CMB (американском банке). FNBA продаёт клиенту C AUD 1 000 000 в обмен на USD 2 000 000 по согласованному курсу.
В книге FNBA (её ностро — актив в USD):
Dr USD Nostro @ CMB 2,000,000 USD
Cr FX Trading (USD) 2,000,000 USD
Dr FX Trading (AUD) 1,000,000 AUD
Cr Customer C (AUD) 1,000,000 AUDВ книге CMB тот же USD-счёт — это востро (обязательство, которое она должна FNBA):
Dr Customer C (USD) 2,000,000 USD
Cr FNBA Vostro (USD) 2,000,000 USDОбратите внимание на зеркальность: FNBA дебетует свой ностро, чтобы отразить больше принадлежащих ей долларов; CMB кредитует идентичный востро, чтобы отразить больше долларов, которые она должна. Сложите оба взгляда банков на этот счёт — и по замыслу они сверяются в ноль. Эта зеркальность и есть весь смысл — и именно её будет использовать ваш код сверки.
Моделирование остатков ностро/востро как разработчик
Если вы создаёте казначейское, учётное или платёжное ПО, вам не нужно быть банком, чтобы использовать эту модель. Любая система, которая держит остатки в нескольких валютах от имени других — мультивалютный кошелёк, движок выплат маркетплейса, реестр необанка — сталкивается с той же проблемой: вы держите реальные остатки в нескольких валютах и должны отчитываться об их совокупной стоимости в одной базовой валюте.
Начните с минимальной схемы. Каждый остаток типа ностро — это всего лишь валюта, сумма и контрагент, который его хранит:
CREATE TABLE nostro_balances (
id BIGSERIAL PRIMARY KEY,
correspondent TEXT NOT NULL, -- who holds the funds
currency CHAR(3) NOT NULL, -- ISO 4217 code, e.g. 'USD'
balance NUMERIC(20,4) NOT NULL DEFAULT 0,
updated_at TIMESTAMPTZ NOT NULL DEFAULT now()
);Как только у вас больше одной валюты, возникает вопрос отчётности: сколько в сумме это стоит в нашей базовой валюте прямо сейчас? Нельзя просто сложить USD, EUR и JPY — сначала нужно оценить каждый остаток по текущему обменному курсу. Вот где валютный API оправдывает своё место. Ниже функция на Python, оценивающая набор остатков ностро в выбранной базовой валюте:
import requests
FINEXLY_KEY = "YOUR_API_KEY"
def value_nostros(balances, home="EUR"):
"""balances: dict of {currency: amount}. Returns total in `home`."""
symbols = ",".join(c for c in balances if c != home)
resp = requests.get(
"https://api.finexly.com/v1/latest",
params={"base": home, "symbols": symbols},
headers={"Authorization": f"Bearer {FINEXLY_KEY}"},
timeout=5,
)
resp.raise_for_status()
rates = resp.json()["rates"] # e.g. {"USD": 1.0842, "JPY": 161.4}
total = 0.0
for currency, amount in balances.items():
if currency == home:
total += amount
else:
# rates[X] = units of X per 1 home unit, so divide to convert back
total += amount / rates[currency]
return round(total, 2)
nostros = {"USD": 2_000_000, "JPY": 500_000_000, "GBP": 750_000}
print(value_nostros(nostros, home="EUR"))Вызов API возвращает чистый объект курсов — {"base": "EUR", "date": "2026-08-08", "rates": {"USD": 1.0842, ...}} — так что пересчёт каждого валютного остатка обратно в базовую валюту — это одно деление. Полный разбор эндпоинта и его параметров см. в документации API обменных курсов, а если вы новичок, тарифа бесплатного валютного API достаточно, чтобы прототипировать всё это.
Сверка ностро и курсовая прибыль/убыток
В реальной работе с ностро доминируют две задачи, и обе — очевидно работа разработчика.
1. Сверка. Поскольку ностро и его зеркальный востро должны совпадать, сверка означает сопоставление вашей внутренней записи счёта с выпиской, которую присылает корреспондент (сегодня обычно выписка SWIFT MT940/camt.053). У каждой проводки в ваших книгах должна быть соответствующая проводка в их книгах. Расхождения — проводка на одной стороне, но не на другой — сигнализируют о пропущенной, задвоенной или задержанной операции, которую нужно расследовать, прежде чем она станет проблемой ликвидности или комплаенса. Свойство зеркальности из примера выше и делает возможным автоматическое сопоставление.
2. Переоценка по курсу. Остаток ностро держится в иностранной валюте, но отчитываетесь вы в базовой. Поскольку курсы двигаются, стоимость статичного валютного остатка в базовой валюте меняется каждый день. Эта разница — нереализованная курсовая прибыль или убыток, и стандарты учёта требуют её признавать. Схема: зафиксируйте курс в момент образования остатка, сравните его с сегодняшним курсом и проведите разницу.
const FINEXLY_KEY = "YOUR_API_KEY";
async function fxGainLoss(currency, amount, rateAtBooking, home = "EUR") {
const url = `https://api.finexly.com/v1/latest?base=${home}&symbols=${currency}`;
const res = await fetch(url, {
headers: { Authorization: `Bearer ${FINEXLY_KEY}` },
});
const { rates } = await res.json();
const currentRate = rates[currency]; // currency units per 1 home unit
const valueAtBooking = amount / rateAtBooking;
const valueNow = amount / currentRate;
return {
home,
valueAtBooking: +valueAtBooking.toFixed(2),
valueNow: +valueNow.toFixed(2),
unrealizedPnl: +(valueNow - valueAtBooking).toFixed(2),
};
}
// 2,000,000 USD booked at 1.0800, revalued at today's rate
fxGainLoss("USD", 2_000_000, 1.08).then(console.log);Для отчётности на конец периода и аудиторского следа вам понадобятся и исторические курсы, а не только в реальном времени — получить точный курс закрытия за прошедшую дату. Именно для этого нужен эндпоинт исторических обменных курсов, необходимый, чтобы воспроизвести переоценку на конец месяца спустя месяцы. По мере роста числа остатков и частоты сверок посмотрите тарифные планы, чтобы рассчитать объём запросов; казначейская панель, обновляющая десятки валют каждые несколько минут, набегает быстро.
Если вы хотите показывать конечным пользователям конвертации в реальном времени поверх этих остатков — например, чтобы клиент видел выплату в его собственной валюте, — размещённый конвертер валют или тот же эндпоинт latest питает это напрямую.
Современные альтернативы: куда движется ностро/востро
Модель ностро/востро существует веками и до сих пор проводит большую часть трансграничной стоимости, но трение — заранее профондированная ликвидность, застрявшая в десятках счетов, многодневные расчёты, непрозрачные комиссии — толкает отрасль к альтернативам:
- SWIFT gpi добавляет сквозное отслеживание и расчёт в тот же день поверх существующих корреспондентских «рельсов», не заменяя счета.
- Стейблкоины и токенизированные депозиты позволяют учреждениям проводить расчёты за минуты без предварительного фондирования ностро в каждой валюте, хотя регуляторная ясность ещё догоняет.
- CBDC и пилоты оптовых расчётов (несколько центральных банков тестируют трансграничные коридоры) стремятся полностью сократить цепочку посредников.
И всё же для большинства ПО, которое вы будете создавать в ближайшие годы, счета — и приведённая выше логика сверки и переоценки — никуда не денутся. Их понимание — это долговременный навык.
Часто задаваемые вопросы
В чём разница между счётом ностро и счётом востро? Это один и тот же счёт, если смотреть с двух сторон. Ностро — это «наши деньги у вас» (актив, в иностранной валюте) с точки зрения банка-владельца; востро — это «ваши деньги у нас» (обязательство, в местной валюте) с точки зрения хранящего банка.
Счёт ностро — это актив или обязательство? Счёт ностро — это актив в балансе банка-владельца: он представляет его собственные средства, размещённые у корреспондента. Зеркальный востро — это обязательство для банка, хранящего эти средства.
Зачем банкам нужны счета ностро и востро? Потому что ни у одного банка нет отделений или прямого доступа к клирингу в каждой стране. Корреспондентские отношения, обеспеченные остатками ностро/востро, позволяют банку отправлять и получать платежи в валютах, где у него нет местного присутствия.
Как сверять счёт ностро?
Сопоставляя ваш внутренний реестр счёта с выпиской корреспондента (например, SWIFT camt.053). Каждая проводка должна появляться с обеих сторон; несопоставленные проводки («расхождения») расследуются. Поскольку ностро и востро зеркальны, две записи должны в сумме давать ноль.
Как валютный API помогает учёту ностро/востро? Остатки находятся в нескольких иностранных валютах, но отчитываетесь вы в одной базовой валюте. Валютный API поставляет курсы в реальном времени и исторические, необходимые, чтобы оценить каждый остаток, рассчитать нереализованную курсовую прибыль/убыток и сформировать согласованные мультивалютные отчёты.
Попробуйте сами
Готовы оценивать и сверять мультивалютные остатки по реальным обменным курсам? Получите бесплатный ключ API Finexly — без кредитной карты. Начните с 1 000 бесплатных запросов в месяц, получайте курсы в реальном времени и исторические для 170+ валют и переходите на более высокий тариф по мере роста вашей казначейской логики.
Explore More
Vlado Grigirov
Senior Currency Markets Analyst & Financial Strategist
Vlado Grigirov is a senior currency markets analyst and financial strategist with over 14 years of experience in foreign exchange markets, cross-border finance, and currency risk management. He has wo...
View full profile →