Назад к блогу

Что такое счета ностро и востро? Руководство для разработчиков по корреспондентскому банкингу

V
Vlado Grigirov
August 08, 2026
Nostro Vostro Correspondent Banking Cross-Border Payments Currency API Exchange Rates Developer Guide Finexly

Если вы когда-нибудь создавали платёжную функцию и задавались вопросом, как деньги на самом деле пересекают границу, ответ почти всегда связан с двумя счетами со странными латинскими названиями: ностро и лоро/востро. Это «трубопровод», стоящий за каждым международным переводом, денежной пересылкой и мультивалютной выплатой. Большинство объяснений про счета ностро и востро ограничиваются словарным определением. Это руководство идёт дальше: объясняет понятие простым языком, разбирает пример двойной записи и затем показывает, как моделировать, оценивать и сверять эти остатки в коде с помощью 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 питает это напрямую.

Современные альтернативы: куда движется ностро/востро

Модель ностро/востро существует веками и до сих пор проводит большую часть трансграничной стоимости, но трение — заранее профондированная ликвидность, застрявшая в десятках счетов, многодневные расчёты, непрозрачные комиссии — толкает отрасль к альтернативам:

  1. SWIFT gpi добавляет сквозное отслеживание и расчёт в тот же день поверх существующих корреспондентских «рельсов», не заменяя счета.
  2. Стейблкоины и токенизированные депозиты позволяют учреждениям проводить расчёты за минуты без предварительного фондирования ностро в каждой валюте, хотя регуляторная ясность ещё догоняет.
  3. CBDC и пилоты оптовых расчётов (несколько центральных банков тестируют трансграничные коридоры) стремятся полностью сократить цепочку посредников.

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

Часто задаваемые вопросы

В чём разница между счётом ностро и счётом востро? Это один и тот же счёт, если смотреть с двух сторон. Ностро — это «наши деньги у вас» (актив, в иностранной валюте) с точки зрения банка-владельца; востро — это «ваши деньги у нас» (обязательство, в местной валюте) с точки зрения хранящего банка.

Счёт ностро — это актив или обязательство? Счёт ностро — это актив в балансе банка-владельца: он представляет его собственные средства, размещённые у корреспондента. Зеркальный востро — это обязательство для банка, хранящего эти средства.

Зачем банкам нужны счета ностро и востро? Потому что ни у одного банка нет отделений или прямого доступа к клирингу в каждой стране. Корреспондентские отношения, обеспеченные остатками ностро/востро, позволяют банку отправлять и получать платежи в валютах, где у него нет местного присутствия.

Как сверять счёт ностро? Сопоставляя ваш внутренний реестр счёта с выпиской корреспондента (например, SWIFT camt.053). Каждая проводка должна появляться с обеих сторон; несопоставленные проводки («расхождения») расследуются. Поскольку ностро и востро зеркальны, две записи должны в сумме давать ноль.

Как валютный API помогает учёту ностро/востро? Остатки находятся в нескольких иностранных валютах, но отчитываетесь вы в одной базовой валюте. Валютный API поставляет курсы в реальном времени и исторические, необходимые, чтобы оценить каждый остаток, рассчитать нереализованную курсовую прибыль/убыток и сформировать согласованные мультивалютные отчёты.

Попробуйте сами

Готовы оценивать и сверять мультивалютные остатки по реальным обменным курсам? Получите бесплатный ключ API Finexly — без кредитной карты. Начните с 1 000 бесплатных запросов в месяц, получайте курсы в реальном времени и исторические для 170+ валют и переходите на более высокий тариф по мере роста вашей казначейской логики.

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 →