Fiatside

Produkt

Dziennik zmian

Każdy wpis opisuje rzeczywistą zmianę, z modułem lub stroną, której dotyczy. Możesz go zweryfikować na stronie: do tego służy dziennik zmian.

Wydanie 1 · 29 zmianPierwsza publikacja 2 September 2026

5.4.0

Pierwsze publiczne wydanie

Publiczna strona zostaje uruchomiona: silnik opłat z pełnym zestawieniem, katalog kanałów wypłat z rzeczywistymi limitami, architektura URL oparta na korytarzach oraz strony przejrzystości, które pozwalają to wszystko zweryfikować. Ten dziennik zaczyna się tutaj, w rzeczywistej dacie publikacji.

Dodano(21)

  • src/lib/pricing.ts

    Silnik opłat z pełnym zestawieniem. Koszt sieci jest pobierany w naturze na aktywie przed konwersją, a następnie nasza marża i opłata za kanał otrzymują osobne linie. Niezmiennik księgowy sprawdza przy każdej wycenie, że kwota brutto minus suma linii równa się dokładnie kwocie netto, co do najmniejszej jednostki: jeśli się nie zgadza, podnosimy błąd i odmawiamy wyceny, zamiast przepuścić ukrytą marżę.

    Zobacz stronę

  • src/lib/pricing.ts

    Polityka spreadu opublikowana i egzekwowana przez kod: 90 punktów bazowych bazowo, 35 więcej na niestabilnym aktywie, 25 więcej na korytarzu beta, minus 15, 30 lub 45 punktów bazowych w trzech progach wolumenu. Żadna inna opłata nie istnieje po naszej stronie.

    Zobacz stronę

  • src/lib/pricing.ts

    Odwrotne dane wejściowe: możesz wpisać, co chcesz OTRZYMAĆ, a wymagana wpłata jest rozwiązywana przez wyszukiwanie binarne. Stałe opłaty czynią funkcję nieliniową — algebraiczna inwersja byłaby błędna o kilka centów za każdym razem.

  • src/lib/money.ts

    Każda kwota pieniędzy jest przesyłana jako liczba całkowita jednostek minimalnych (bigint), a każdy kurs jako Decimal. Żadna kwota nie przechodzi przez float JavaScript, gdzie 0,1 + 0,2 to nie 0,3.

  • src/lib/rates.ts

    Świeżość kursu jest sprawdzana przed każdą wiążącą wyceną. Po przekroczeniu maksymalnego dozwolonego wieku źródła silnik podnosi błąd nieaktualnego kursu i odmawia wyceny. Serwowanie nieaktualnej ceny z pamięci podręcznej jest tutaj traktowane jako błąd finansowy, a nie wydajnościowy.

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

    Publiczny punkt końcowy wyceny. Dane wejściowe walidowane schematem, odpowiedź bez pamięci podręcznej, pełne zestawienie linia po linii z kursem średnim rynkowym, efektywnym kursem i całkowitą różnicą w punktach bazowych. Naruszenia limitów kanału są zwracane w treści odpowiedzi, a nie jako błąd HTTP, z dokładnym limitem.

    Zobacz stronę

  • src/data/payout-rails.ts

    Katalog metod wypłat zawierający dla każdej z nich walutę rozliczeniową, obsługiwane kraje, opóźnienia p50 i p95, zasady dni roboczych i godzin granicznych, minimalne i maksymalne kwoty w jednostkach minimalnych, rzeczywiste opłaty oraz schemat pól beneficjenta.

    Zobacz stronę

  • src/data/corridors.ts

    Architektura URL oparta na korytarzach. Kanał wielokrajowy daje jedną stronę na aktywo: SEPA jest identyczna we Francji i Belgii, dwie strony mówiłyby to samo. Lokalny kanał — PIX, SPEI, M-Pesa, NIP, Interac — daje jedną stronę na kraj, ponieważ kraj niesie format identyfikatora, limity i traktowanie podatkowe. Surowa macierz ~2200 kombinacji zmniejsza się o rząd wielkości, a każda pozostała strona niesie fakty, które tylko ona może nieść.

  • src/data/corridors.ts

    Fale uruchomieniowe i brama indeksowania. Korytarz jest oferowany do indeksowania tylko wtedy, gdy treść jego fali jest faktycznie napisana; pozostałe pozostają osiągalne i funkcjonalne, ale poza indeksem. Nie prosimy wyszukiwarki o indeksowanie strony, której jeszcze nie napisaliśmy.

  • src/data/assets.ts

    Katalog aktywów z liczbą miejsc po przecinku jednostki bazowej, akceptowanymi sieciami, minimalną wpłatą, poniżej której opłaty sieciowe zjadają operację, oraz czasem blokady kursu — dłuższym dla stablecoina niż dla niestabilnego aktywa.

    Zobacz stronę

  • src/data/networks.ts

    Katalog sieci z wymaganą liczbą potwierdzeń, średnim czasem bloku, wzorem walidacji adresu oraz, dla XRP, Stellar i TON, polem memo, którego pominięcie powoduje utratę środków.

  • src/data/geo.ts

    Geograficzne dane referencyjne: kraje otwarte, kraje w przygotowaniu oraz kraje odmówione z powodem — międzynarodowe sankcje, środki ograniczające lub niedopuszczalne ryzyko prania pieniędzy. Powód jest publikowany kraj po kraju.

    Zobacz stronę

  • src/config/company.ts

    Pojedynczy rejestr faktycznych twierdzeń o firmie. Nazwa prawna, rejestracja, rok założenia, status regulacyjny, wolumeny, recenzje: każda wartość jest albo wypełniona, albo oznaczona jako oczekująca — a wartość oczekująca nigdy nie jest wyświetlana. Strona może twierdzić tylko to, co jest obliczone na podstawie jej własnych danych.

    Zobacz stronę

  • src/components/JsonLd.tsx

    Dane strukturalne, które pomijają każde niewypełnione pole. Żadna data założenia, żaden numer licencji i żadna zagregowana ocena nie są deklarowane wyszukiwarkom, dopóki nie są prawdziwe.

  • src/i18n/routing.ts

    Prefiks lokalizacji w każdym języku, w tym francuskim. Serwowanie tej samej strony pod „/” i „/fr/” zawsze kończy się duplikatami; symetria usuwa każdy przypadek szczególny w tagach hreflang i canonical.

  • src/app/[locale]/statut

    Strona statusu usługi: jeden komponent na kanał wypłat i na monitorowaną sieć, dokładny opis tego, co sprawdzi sonda, polityka ważności oraz szablon raportu o incydencie. Żaden procent dostępności nie pojawia się tam, dopóki nie zostanie zmierzony.

    Zobacz stronę

  • src/app/[locale]/docs

    Publiczna dokumentacja API: uwierzytelnianie, paginacja, idempotencja, katalog błędów i podpisane webhooki. Przykładowe odpowiedzi są prawdziwymi odpowiedziami z punktu końcowego wyceny, a nie makietami.

    Zobacz stronę

  • src/app/[locale]/reclamations

    Pisemna procedura reklamacji: co odróżnia reklamację od prośby o wsparcie, trzy poziomy eskalacji, terminy, których przestrzegamy, oraz co się dzieje, jeśli odpowiedź Cię nie zadowala.

    Zobacz stronę

  • src/app/[locale]/presse

    Zestaw prasowy: do pobrania logo wygenerowane z kodu, paleta z dokładnymi wartościami, krótkie i długie opisy gotowe do cytowania. Żadne wzmianki prasowe nie są wymienione, z braku wzmianek do zacytowania.

    Zobacz stronę

  • src/app/[locale]/affiliation

    Program partnerski opłacany od faktycznie pobranej marży, nigdy od wolumenu brutto: partner nie zyskuje niczego, promując korytarz, który kosztuje klienta więcej.

    Zobacz stronę

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

    Mapa witryny generowana z danych, z natychmiastowym filtrem wyszukiwania. Każda opublikowana strona się tam pojawia: jeśli strona istnieje i brakuje jej na tej mapie, to jest to wada.

    Zobacz stronę

Bezpieczeństwo(3)

  • src/lib/rates.ts

    Zabezpieczenie produkcyjne: deterministyczne źródło kursów używane w rozwoju nie może zostać uruchomione w produkcji. Proces odmawia startu, zamiast wyceniać zamrożone ceny.

  • src/middleware.ts

    Odmowa geograficzna przed jakimkolwiek renderowaniem, z jawnym HTTP 451 zamiast 404: kiedy odmawiamy, mówimy dlaczego. Odmowa jest ponownie sprawdzana po stronie serwera przy tworzeniu zamówienia, ponieważ sam adres IP niczego nie dowodzi.

  • next.config.ts

    Nagłówki bezpieczeństwa w każdej odpowiedzi: HSTS z preload, blokada osadzania w ramce, blokada sniffowania MIME, ograniczona polityka referrer, izolacja cross-origin oraz wyłączone uprawnienia mikrofonu, geolokalizacji i płatności.

Polityka(5)

  • src/data/payout-rails.ts

    Kanały zbiórek — iDEAL, Bizum, BLIK, TWINT, Satispay, MB WAY, QRIS — są zadeklarowane jako niedostępne z podaniem powodu, zamiast być ukryte. Pozwalają płacić sprzedawcy, a nie otrzymywać środki; każdy z nich wskazuje kanał, którego używamy zamiast niego.

    Zobacz stronę

  • src/data/payout-rails.ts

    Zelle jest oznaczone jako trwale niedostępne: jego zasady umowne zabraniają komercyjnych wypłat osobom trzecim. Żaden dostawca nie może dla nas zgodnie z przepisami przesyłać przez nie środków, a powiedzenie tego jest lepsze niż dawanie ludziom nadziei.

  • src/data/payout-rails.ts

    Kanały, które są zbudowane, ale zamknięte, niosą dokładny powód regulacyjny: potrącenie TDS i rejestracja FIU-IND dla UPI, licencja MAS dla PayNow, raportowanie SARB dla RPA, rejestracja AUSTRAC dla PayID, licencjonowany partner dla PromptPay. Wolelibyśmy nazwać przeszkodę, niż ogłaszać datę.

  • src/data/assets.ts

    Monero jest w katalogu, oznaczone jako aktywo o zwiększonej anonimowości i nieoferowane. Europejskie przepisy dotyczące przeciwdziałania praniu pieniędzy wymagają od dostawców wycofania go z oferty od 10 lipca 2027 r.; pokazujemy je i wyjaśniamy, zamiast pozwolić mu po cichu zniknąć.

  • docs/CONVENTIONS.md

    Egzekwowalna zasada redakcyjna: żaden rok założenia, numer licencji, wolumen przetworzonych transakcji, liczba klientów, opinia ani logo partnera nie są na stałe wpisane w stronę. Dojrzałość musi wynikać z głębi treści, nigdy z wymyślonych dowodów.

Dlaczego ten dziennik nie sięga dalej wstecz

Usługa została opublikowana 2 September 2026. Nie ma więc nic do opisania przed tą datą i nie zamierzamy niczego zmyślać. Dziennik zmian pokazujący trzy lata historii usługi opublikowanej trzy miesiące temu demaskuje się w minutę: historia WHOIS domeny, archiwa internetowe, publiczne rejestry certyfikatów. Pozorny zysk jest zerowy, ryzyko nie.

Konsekwencja jest widoczna: ta strona jest dziś krótka. Będzie się wydłużać w rzeczywistym tempie produktu i to właśnie to tempo, gdy będzie obserwowalne, jest cenne — nie długość wyświetlana pierwszego dnia.