Fiatside

Продукт

Журнал изменений

Каждая запись описывает реальное изменение с указанием модуля или страницы, которых оно касается. Вы можете сверить её с сайтом: для этого и существует журнал изменений.

Релиз 1 · изменений: 29Впервые опубликовано 2 September 2026

5.4.0

Первый публичный релиз

Публичный сайт запущен: движок комиссий с полной разбивкой, каталог платёжных рельсов с реальными лимитами, архитектура URL на основе коридоров и страницы прозрачности, которые позволяют всё это проверить. Этот журнал начинается здесь, в реальную дату публикации.

Добавлено(21)

  • src/lib/pricing.ts

    Движок комиссий с полной разбивкой. Стоимость сети удерживается в натуральной форме с актива до конвертации, затем наша маржа и комиссия рельса каждая получают свою строку. Бухгалтерский инвариант проверяет каждый котировочный запрос: брутто минус сумма строк равно нетто точно до младшей единицы; если баланс не сходится, мы поднимаем ошибку и отказываемся котировать, а не допускаем скрытую маржу.

    Смотреть страницу

  • src/lib/pricing.ts

    Политика спреда опубликована и обеспечивается кодом: базовая ставка 90 базисных пунктов, плюс 35 на волатильный актив, плюс 25 на бета-коридор, минус 15, 30 или 45 базисных пунктов в зависимости от трёх уровней объёма. Никаких других комиссий с нашей стороны не существует.

    Смотреть страницу

  • src/lib/pricing.ts

    Обратный ввод: вы можете ввести сумму, которую хотите ПОЛУЧИТЬ, и требуемый депозит определяется бинарным поиском. Фиксированные комиссии делают функцию нелинейной — алгебраическая инверсия каждый раз ошибалась бы на несколько центов.

  • src/lib/money.ts

    Каждая денежная сумма передаётся как целое число младших единиц (bigint), а каждая ставка — как Decimal. Ни одна сумма не проходит через JavaScript float, где 0.1 + 0.2 не равно 0.3.

  • src/lib/rates.ts

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

  • src/app/api/quote/route.ts

    Публичная конечная точка котировок. Ввод, проверенный по схеме, ответ без кэширования, полная построчная разбивка с межбанковским курсом, эффективным курсом и общим спредом в базисных пунктах. Превышение лимитов рельса возвращается в теле ответа, а не как ошибка HTTP, с указанием точного лимита.

    Смотреть страницу

  • src/data/payout-rails.ts

    Каталог платёжных методов, содержащий для каждого: валюту расчётов, обслуживаемые страны, задержки p50 и p95, правила рабочих дней и времени отсечки, минимальные и максимальные суммы в младших единицах, реальные комиссии и схему полей бенефициара.

    Смотреть страницу

  • src/data/corridors.ts

    Архитектура URL на основе коридоров. Многострановый рельс даёт одну страницу на актив: SEPA одинаков во Франции и Бельгии, две страницы говорили бы одно и то же. Локальный рельс — PIX, SPEI, M-Pesa, NIP, Interac — даёт одну страницу на страну, потому что страна определяет формат идентификатора, лимиты и налоговый режим. Сырая матрица из ~2200 комбинаций уменьшается на порядок, и каждая оставшаяся страница содержит факты, которые может нести только она.

  • src/data/corridors.ts

    Волны запуска и шлюз индексации. Коридор предлагается для индексации только после того, как контент его волны фактически написан; остальные остаются доступными и функциональными, но вне индекса. Мы не просим поисковую систему индексировать страницу, которую ещё не написали.

  • src/data/assets.ts

    Каталог активов с десятичными знаками базовой единицы, поддерживаемыми сетями, минимальным депозитом, ниже которого сетевые комиссии съедают операцию, и длительностью фиксации курса — дольше для стейблкоина, чем для волатильного актива.

    Смотреть страницу

  • src/data/networks.ts

    Каталог сетей с требуемым количеством подтверждений, средним временем блока, шаблоном проверки адреса и, для XRP, Stellar и TON, полем memo, при пропуске которого средства теряются.

  • src/data/geo.ts

    Географические справочные данные: открытые страны, страны в подготовке и страны, которым отказано, с причиной — международные санкции, ограничительные меры или неприемлемый риск отмывания денег. Причина публикуется по каждой стране.

    Смотреть страницу

  • src/config/company.ts

    Единый реестр фактических утверждений о компании. Юридическое название, регистрация, год основания, регуляторный статус, объёмы, отзывы: каждое значение либо заполнено, либо помечено как ожидающее — и ожидающее значение никогда не отображается. Сайт может утверждать только то, что вычислено из его собственных данных.

    Смотреть страницу

  • src/components/JsonLd.tsx

    Структурированные данные, в которых опущены все незаполненные поля. Ни дата основания, ни номер лицензии, ни общий рейтинг не объявляются поисковым системам, пока они не станут реальными.

  • src/i18n/routing.ts

    Префикс локали для каждого языка, включая французский. Обслуживание одной и той же страницы по адресам «/» и «/fr/» всегда приводит к дубликатам; симметрия устраняет все особые случаи в тегах hreflang и canonical.

  • src/app/[locale]/statut

    Страница статуса сервиса: один компонент для каждого платёжного рельса и каждой отслеживаемой сети, точное описание того, что будет проверять зонд, политика серьёзности и шаблон отчёта об инциденте. Никакой процент доступности не появляется там, пока он не измерен.

    Смотреть страницу

  • src/app/[locale]/docs

    Публичная документация API: аутентификация, пагинация, идемпотентность, каталог ошибок и подписанные вебхуки. Примеры ответов — реальные ответы от конечной точки котировок, а не макеты.

    Смотреть страницу

  • src/app/[locale]/reclamations

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

    Смотреть страницу

  • src/app/[locale]/presse

    Медиа-кит: загружаемые логотипы, сгенерированные из кода, палитра с точными значениями, короткие и длинные описания, готовые к цитированию. Пресс-релизы не перечислены за отсутствием освещения, которое можно было бы процитировать.

    Смотреть страницу

  • src/app/[locale]/affiliation

    Партнёрская программа, оплачиваемая с фактически полученной маржи, а не с валового объёма: партнёр ничего не выигрывает, продвигая коридор, который обходится клиенту дороже.

    Смотреть страницу

  • src/app/[locale]/plan-du-site

    Карта сайта, сгенерированная из данных, с мгновенным поисковым фильтром. Каждая опубликованная страница присутствует там: если страница существует и отсутствует в этой карте, это дефект.

    Смотреть страницу

Безопасность(3)

  • src/lib/rates.ts

    Защита продакшена: детерминированный источник курсов, используемый в разработке, не может запуститься в продакшене. Процесс отказывается запускаться, а не котирует замороженные цены.

  • src/middleware.ts

    Географический отказ до любого рендеринга с явным HTTP 451, а не 404: когда мы отказываем, мы объясняем почему. Отказ повторно проверяется на стороне сервера при создании заказа, поскольку IP-адрес сам по себе ничего не доказывает.

  • next.config.ts

    Заголовки безопасности в каждом ответе: HSTS с preload, запрет фрейминга, блокировка MIME-сниффинга, ограниченная политика referrer, изоляция кросс-оригиналов и отключённые разрешения на микрофон, геолокацию и платежи.

Политика(5)

  • src/data/payout-rails.ts

    Рельсы для сбора платежей — iDEAL, Bizum, BLIK, TWINT, Satispay, MB WAY, QRIS — объявлены недоступными с указанием причины, а не скрыты. Они позволяют платить продавцу, а не получать средства; каждый из них указывает на рельс, который мы используем вместо него.

    Смотреть страницу

  • src/data/payout-rails.ts

    Zelle помечен как постоянно недоступный: его правила договорно запрещают коммерческие выплаты третьим лицам. Ни один провайдер не может легально проводить через него средства для нас, и сказать об этом лучше, чем давать людям надежду.

  • src/data/payout-rails.ts

    Рельсы, которые построены, но закрыты, несут точную регуляторную причину: удержание TDS и регистрация в FIU-IND для UPI, лицензия MAS для PayNow, отчётность SARB для ЮАР, регистрация AUSTRAC для PayID, лицензированный партнёр для PromptPay. Мы предпочитаем назвать препятствие, чем объявлять дату.

  • src/data/assets.ts

    Monero есть в каталоге, помечен как актив с повышенной анонимностью и не предлагается. Европейское регулирование по борьбе с отмыванием денег требует от провайдеров исключить его с 10 июля 2027 года; мы показываем его и объясняем, а не даём ему тихо исчезнуть.

  • docs/CONVENTIONS.md

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

Почему этот журнал не уходит в прошлое дальше

Сервис был опубликован 2 September 2026. Поэтому до этой даты рассказывать не о чем, и мы не собираемся ничего выдумывать. Журнал изменений с трёхлетней историей на сервисе, опубликованном три месяца назад, разоблачает себя за минуту: история WHOIS домена, веб-архивы, публичные журналы сертификатов. Кажущаяся выгода равна нулю, риск — нет.

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