Wallet Infrastructure / Stablecoin Payments

Dedykowana infrastruktura walletów do płatności stablecoin on-chain

Anonimowe wdrożenie objęte NDA: indywidualne adresy depozytowe, obserwacja blockchain, walidacja tokenów i sieci, confirmation engine, wewnętrzny ledger oraz treasury workflows.

NDA / Confidential clientWdrożenie klienckieFinTech / Blockchain Infrastructure / Digital AssetsNDA
Crypto & Stablecoin Payment SystemsWallet infrastructureBlockchain indexingPayment ledgerTreasury workflowsOperations & monitoring
Architektura dedykowanych walletów do płatności stablecoin z transaction observer, ledgerem i treasury
Podsumowanie projektu

Softech zaprojektował dla klienta objętego NDA natywną infrastrukturę do przyjmowania płatności stablecoin przez dedykowane adresy blockchain. Rozwiązanie nie traktuje transferu on-chain jako gotowego salda użytkownika: najpierw adres jest przypisany do kontekstu biznesowego, następnie observer wykrywa zdarzenie, system waliduje sieć, token i kwotę, confirmation engine czeka na przyjętą finalność, a dopiero potem wewnętrzny ledger stosuje skutek biznesowy. Sweeping i treasury działają osobno, dzięki czemu awaria operacji wewnętrznej nie unieważnia poprawnie zaksięgowanej płatności.

01 / Kontekst

Kontekst biznesowy i sytuacja przed wdrożeniem

W tym produkcie płatność blockchain była częścią core domain, a nie dodatkiem checkoutowym. System musiał jednoznacznie identyfikować wpłaty użytkowników i obsługiwać je automatycznie bez polegania na ręcznym sprawdzaniu explorerów lub wspólnego adresu treasury.

  • Adres płatniczy musiał być powiązany z użytkownikiem, kontem lub konkretnym payment intent.
  • Transfer należało zweryfikować na poziomie network, token contract, destination i amount.
  • System musiał odróżniać wykrycie transakcji od jej finalnego uznania w produkcie.
  • Środki po zaksięgowaniu miały trafiać do osobnego workflow treasury bez zmiany historii użytkownika.

Stan wyjściowy

Najprostszy wariant — jeden wspólny wallet i ręczne sprawdzanie transakcji — nie skaluje się operacyjnie i nie zapewnia jednoznacznego przypisania transferu do zobowiązania. Równie ryzykowne jest księgowanie salda produktu wyłącznie na podstawie bieżącego blockchain balance.

  • Wspólny adres utrudnia jednoznaczne przypisanie transferu do właściciela i celu płatności.
  • RPC lub indexer może mieć chwilową przerwę, dlatego observer musi umieć odtwarzać brakujące bloki.
  • Transfer może być poprawny technicznie, ale niezgodny z oczekiwanym tokenem, siecią lub kwotą.
  • Ruch treasury po płatności jest innym procesem niż uznanie zobowiązania użytkownika.
02 / Strategia

Cele, kryteria sukcesu i ograniczenia

Discovery objęło model adresów, lifecycle payment intent, politykę finalności, źródła danych blockchain, wymagania replay, klasyfikację błędnych transferów oraz granice pomiędzy customer ledger i treasury. Kluczową decyzją było potraktowanie blockchaina jako źródła zdarzeń, a nie księgi produktu.

Cele produktu

  • Przypisywać dedykowane adresy do kontekstu biznesowego bez ujawniania kluczy prywatnych warstwie aplikacji.
  • Wykrywać transfery stablecoin z możliwością replay i bez podwójnego przetwarzania.
  • Walidować network, token contract, destination, amount oraz politykę finalności.
  • Księgować płatność w wewnętrznym ledgerze niezależnym od blockchain balance.
  • Oddzielić treasury sweeping od customer payment lifecycle i zapewnić obsługę wyjątków.

Kryteria sukcesu

  • Każdy obserwowany transfer ma deterministyczny klucz zdarzenia i może być bezpiecznie przetworzony ponownie.
  • Produkt nie kredytuje płatności przed spełnieniem polityki potwierdzeń i walidacji tokenu.
  • Awaria RPC lub indexera nie powoduje trwałej utraty zdarzenia płatniczego.
  • Sweep failure nie cofa prawidłowo zaksięgowanej płatności użytkownika.
  • Operator może rozróżnić underpayment, overpayment, wrong token, wrong network i manual review.

NDA i bezpieczeństwo kluczy

Nie ujawniamy dokładnego custody model, derivation path, adresów, providerów kluczy ani produkcyjnych parametrów bezpieczeństwa.

Asynchroniczna finalność

Wykrycie transferu nie oznacza automatycznie, że produkt powinien natychmiast uznać saldo użytkownika.

Wiele źródeł awarii

RPC, indexer, kolejka, baza danych i sweep service mogą chwilowo działać niezależnie lub być niedostępne.

Rozdzielenie custody i aplikacji

Warstwa produktu nie powinna posiadać bezpośredniego dostępu do kluczy umożliwiających swobodne transfery treasury.

Analiza i decyzje produktowe

  • Zdefiniowaliśmy właściciela i lifecycle dedykowanego adresu płatniczego.
  • Ustaliliśmy deterministic event identity na podstawie transakcji, log index i network context.
  • Określiliśmy checkpointing oraz zakres bezpiecznego block replay.
  • Rozpisaliśmy stany DETECTED, CONFIRMING, CONFIRMED, CREDITED oraz wyjątki.
  • Oddzieliliśmy payment acceptance od sweep i późniejszego zarządzania treasury.
03 / System

Architektura rozwiązania

System składa się z address allocation i wallet registry, blockchain observera z checkpointingiem, validation i confirmation engine, event store, internal ledger oraz oddzielnego sweep/treasury pipeline. Projekt został ułożony tak, aby każda warstwa mogła zostać odtworzona i ponowiona bez podwójnego kredytowania płatności.

Diagram architektury
Warstwy produktu i odpowiedzialności
Widok logiczny
  1. 01
    Warstwa 01

    Address allocation i wallet registry

    Dedykowany adres otrzymuje jawne powiązanie z użytkownikiem, kontem lub payment intent oraz stan lifecycle.

    Dedicated addressesWallet registry
  2. 02
    Warstwa 02

    Blockchain observer

    Observer czyta bloki i eventy tokenów, zapisuje checkpointy i może bezpiecznie odtworzyć zakres po awarii źródła danych.

    RPC / indexerCheckpointingReplay
  3. 03
    Warstwa 03

    Validation i confirmation engine

    Warstwa weryfikuje network, token contract, destination, amount oraz przyjętą politykę potwierdzeń przed dalszym kredytowaniem.

    Token validationFinality policyState machine
  4. 04
    Warstwa 04

    Blockchain event store i internal ledger

    Raw blockchain event zostaje zachowany jako dowód, a zaakceptowany payment event tworzy kontrolowany wpis w ledgerze produktu.

    Event storeInternal ledgerIdempotency
  5. 05
    Warstwa 05

    Sweep, treasury i operations

    Po zaksięgowaniu płatności środki mogą zostać przeniesione zgodnie z polityką treasury, a wyjątki trafiają do kontrolowanej obsługi operatorskiej.

    Sweep serviceTreasury workflowOperational review
Kluczowe przepływy
Payment intentDedicated addressprzypisanie kontekstu
BlockchainObserverwykrycie token transfer
ObserverConfirmation enginewalidacja i finalność
Confirmation engineInternal ledgerjednorazowe uznanie
Deposit walletTreasuryoddzielny sweep workflow
04 / Produkt

Problemy, decyzje i wdrożone możliwości

Decyzja 1Potwierdzone w produkcie
Problem

Jeden wspólny adres nie identyfikowałby jednoznacznie właściciela wpłaty.

Decyzja

Adresy są przydzielane i rejestrowane w kontekście konkretnego użytkownika lub payment intent.

Możliwość systemu

Deterministyczne przypisanie wpłaty

Efekt

Transfer może zostać powiązany z właściwą domeną bez zgadywania na podstawie kwoty lub komentarza.

Decyzja 2Potwierdzone w produkcie
Problem

Awaria źródła danych mogłaby spowodować pominięcie bloku.

Decyzja

Observer zapisuje checkpoint i pozwala na bezpieczny replay zakresu.

Możliwość systemu

Recoverable chain observation

Efekt

Po przywróceniu źródła system może nadrobić zdarzenia bez podwójnego kredytowania.

Decyzja 3Potwierdzone w produkcie
Problem

Sam transfer tokenu nie gwarantuje zgodności z oczekiwaną płatnością.

Decyzja

Przed uznaniem sprawdzamy network, token contract, destination, amount i finality.

Możliwość systemu

Validated payment acceptance

Efekt

Wrong token, wrong network i niezgodne kwoty nie trafiają automatycznie do poprawnego salda użytkownika.

Decyzja 4Potwierdzone w produkcie
Problem

Blockchain balance nie odzwierciedla zobowiązań i historii produktu.

Decyzja

Za źródło stanu biznesowego przyjęliśmy niezależny internal ledger.

Możliwość systemu

Product ledger independent of chain balance

Efekt

Saldo produktu zachowuje historię i semantykę domenową niezależnie od późniejszych ruchów treasury.

Decyzja 5Potwierdzone w produkcie
Problem

Sweep do treasury może nie udać się mimo poprawnej płatności klienta.

Decyzja

Customer credit i sweep są osobnymi state machines i retry policies.

Możliwość systemu

Decoupled treasury operations

Efekt

Awaria wewnętrznego transferu nie cofa poprawnie potwierdzonej płatności użytkownika.

Decyzje technologiczne

TechnologiaRolaUzasadnienieKonsekwencja wyboru
Dedicated deposit addressesIdentyfikacja wpłatAdres staje się stabilnym kluczem routingu transferu do konkretnego kontekstu biznesowego.Większa liczba adresów zwiększa wymagania registry, monitoring i polityki custody.
RPC / indexer observerŹródło zdarzeń blockchainPozwala automatycznie wykrywać token transfers oraz odbudowywać historię z bloków.Wymaga redundancji lub strategii recovery na wypadek błędnych lub niedostępnych źródeł.
Checkpoint + replayOdtwarzalnośćSystem zna ostatni przetworzony zakres i może powtórzyć skanowanie po awarii.Replay musi być w pełni idempotentny i wydajny dla większych zakresów.
Confirmation engineFinalnośćOddziela DETECTED od CONFIRMED i pozwala dostosować politykę do sieci oraz ryzyka produktu.Większa ostrożność zwiększa czas oczekiwania użytkownika.
Internal ledgerStan biznesowyZachowuje zobowiązania i historię niezależnie od bieżących sald blockchain oraz treasury.Wymaga jawnej synchronizacji i reconciliation z warstwą on-chain.
Sweep serviceTreasury movementPozwala konsolidować środki lub realizować politykę treasury bez obciążania customer payment lifecycle.Wprowadza osobny obszar fee management, nonce management i retry.

Integracje i przepływy danych

Blockchain RPC / indexer

Chain → observer

Dostarcza bloki, logi i token transfer events do warstwy wykrywania.

Checkpointing i replay ograniczają ryzyko utraty zdarzeń przy chwilowej awarii źródła.

Wallet / custody layer

Allocator ↔ wallet layer

Udostępnia adresy płatnicze i kontrolowany mechanizm wykonywania późniejszych transferów bez ekspozycji kluczy do domeny produktu.

Publiczny opis nie ujawnia konkretnego modelu custody ani schematu kluczy.

Treasury operations

Ledger → sweep / treasury

Uruchamia wewnętrzny transfer środków dopiero po prawidłowym uznaniu zdarzenia płatniczego.

Sweep ma oddzielny status i retry, więc jego awaria nie zmienia customer payment status.

05 / Kontrola

AI, bezpieczeństwo i niezawodność

Brak kluczy prywatnych w domenie produktu

Logika aplikacji operuje identyfikatorami walletów i zleceniami, a nie surowymi sekretami podpisującymi.

Deterministyczna tożsamość eventu

Każdy event blockchain otrzymuje stabilną tożsamość, aby replay i wiele źródeł nie powodowały duplikacji.

Checkpointing i backfill

Observer zapisuje postęp i pozwala kontrolowanie odtworzyć brakujące bloki.

Oddzielne state machines

Customer payment, confirmation i treasury movement nie są jednym statusem, dzięki czemu awaria downstream nie cofa poprawnej wpłaty.

Manual review zamiast automatycznego zgadywania

Nieprawidłowe lub niejednoznaczne transfery są klasyfikowane do obsługi, zamiast zmieniać saldo na podstawie heurystyki.

06 / Realizacja

Realizacja, testy i uruchomienie

  1. 1
    Faza 1 / Wallet domain

    Zdefiniować właściciela adresu, lifecycle allocation i granicę custody.

    • Wallet registry
    • Address allocation rules
    • Custody boundary contract

    Rezultat: Adresy otrzymały jawne relacje do kontekstu biznesowego bez przenoszenia sekretów do aplikacji.

  2. 2
    Faza 2 / Chain observation

    Wykrywać transfery z checkpointingiem, replay i deterministic event identity.

    • RPC/indexer adapter
    • Checkpoint store
    • Replay and deduplication

    Rezultat: Warstwa obserwacji może nadrobić brakujące zdarzenia i bezpiecznie przetworzyć je ponownie.

  3. 3
    Faza 3 / Validation and ledger

    Rozdzielić wykrycie, potwierdzenie i końcowe uznanie płatności w produkcie.

    • Token/network validation
    • Confirmation state machine
    • Internal ledger entries

    Rezultat: Product balance powstaje dopiero po spełnieniu warunków płatności i zachowuje własną historię.

  4. 4
    Faza 4 / Treasury and operations

    Dodać sweep workflow, retry, monitoring i ręczną obsługę niejednoznacznych zdarzeń.

    • Sweep state machine
    • Treasury reconciliation
    • Operations exception queue

    Rezultat: Ruch środków i wyjątki zostały oddzielone od core customer payment lifecycle.

Replay tego samego zakresu bloków

Ponowne skanowanie nie może ponownie utworzyć payment credit dla już przetworzonego eventu.

Wrong token / wrong network

Transfer do znanego adresu, ale niespełniający warunków aktywa lub sieci, trafia do wyjątku zamiast do poprawnego salda.

Underpayment i overpayment

Kwoty różne od oczekiwanej nie są automatycznie normalizowane bez jawnej polityki produktu.

RPC outage and catch-up

Po kontrolowanej przerwie observer wraca do checkpointu i uzupełnia brakujące zdarzenia.

Sweep failure

Nieudany transfer treasury pozostaje retryable i nie zmienia statusu poprawnie zaksięgowanej płatności klienta.

07 / Wiarygodność

Co potwierdza opis projektu

Case study nie publikuje wolumenów on-chain, liczby adresów ani danych treasury. Jako rezultat techniczny opisujemy sprawdzalne właściwości architektury: deterministyczne przypisanie, replay, walidację, kontrolowaną finalność, niezależny ledger oraz rozdzielenie customer payment od treasury operations.

ZakresPodstawaMateriałPotwierdzenieGranice wniosku
Dedykowany adres jest powiązany z kontekstem biznesowym przed przyjęciem transferu.Diagram architektury walletówCW-01 · materiał projektowy i architektura wdrożeniaPotwierdzone operacyjniePubliczny diagram nie ujawnia derivation ani modelu custody.
Wykrycie transferu i końcowe uznanie płatności są oddzielnymi stanami.Diagram observera i potwierdzeńCW-02 · materiał projektowy i architektura wdrożeniaPotwierdzone operacyjnieDokładne progi finalności dla sieci produkcyjnych pozostają poufne.
Observer może odtworzyć zakres bloków dzięki checkpointingowi i idempotentnemu replay.Diagram observera i potwierdzeńCW-02 · materiał projektowy i architektura wdrożeniaPotwierdzone operacyjnieNie publikujemy topologii dostawców RPC ani konfiguracji redundancji.
Product ledger jest niezależny od blockchain balance i późniejszego sweepingu.Diagram ledger i treasuryCW-03 · materiał projektowy i architektura wdrożeniaPotwierdzone operacyjniePubliczna wersja nie pokazuje wewnętrznego schematu księgowego klienta.
Sweep do treasury jest osobnym workflow z własnym stanem i retry.Diagram ledger i treasuryCW-03 · materiał projektowy i architektura wdrożeniaPotwierdzone operacyjnieAdresy treasury i reguły fee management pozostają poufne.
Wrong token, wrong network i niezgodna kwota są klasyfikowane przed zaksięgowaniem.Diagram observera i potwierdzeńCW-02 · materiał projektowy i architektura wdrożeniaPotwierdzone operacyjniePubliczny diagram pokazuje klasy wyjątków, a nie dokładne reguły ryzyka klienta.

Jak czytać te informacje

  • Nie publikujemy liczby adresów ani aktywnych walletów.
  • Nie publikujemy dokładnych sieci produkcyjnych, progów finalności ani wolumenów transferów.
  • Nie publikujemy modelu custody, providerów kluczy ani adresów treasury.
  • Efekty są opisane jako system capabilities, nie jako procentowe KPI biznesowe.
08 / Wnioski

Zmiana procesu, konsekwencje decyzji i wnioski

ObszarPrzed wdrożeniemPo wdrożeniuWpływ biznesowy
Identyfikacja wpłatyWspólny adres wymagałby dodatkowych heurystyk lub ręcznego przypisania.Dedykowany adres ma jawnego właściciela i kontekst payment intent.Transfer może zostać automatycznie przypisany do właściwej domeny.
Wykrywanie blockchainBrak zdarzenia w czasie awarii RPC mógłby pozostać niezauważony.Checkpointing i replay pozwalają ponownie przeskanować zakres.System może odtworzyć stan bez ręcznego dodawania transakcji.
FinalnośćWykryty transfer mógłby zostać uznany zbyt wcześnie.Confirmation engine oddziela DETECTED, CONFIRMING, CONFIRMED i CREDITED.Polityka ryzyka jest jawna i kontrolowana.
Saldo produktuBlockchain balance miesza środki techniczne z logiką zobowiązań użytkowników.Internal ledger zachowuje stan domenowy niezależnie od położenia środków.Treasury może się zmieniać bez zmiany historii klienta.
TreasuryKonsolidacja środków byłaby częścią tej samej ścieżki co customer payment.Sweep działa jako osobny retryable workflow.Awaria treasury nie unieważnia prawidłowej wpłaty.
Konsekwencje wyboru

Dedykowane adresy

Alternatywa
Jeden wspólny adres
Konsekwencja
Większa liczba obiektów walletowych i większy koszt operacyjny registry.
Uzasadnienie
Deterministyczne przypisanie płatności jest ważniejsze niż prostota jednego adresu.
Konsekwencje wyboru

Checkpointed observer

Alternatywa
Wyłącznie realtime websocket
Konsekwencja
Więcej logiki przetwarzania i storage dla checkpointów.
Uzasadnienie
System może nadrobić przerwę i nie zależy od ciągłości pojedynczego połączenia.
Konsekwencje wyboru

Internal ledger

Alternatywa
Blockchain jako jedyne źródło salda
Konsekwencja
Dodatkowa warstwa reconciliation i danych.
Uzasadnienie
Pozwala zachować semantykę zobowiązań, refundów i historii produktu.
Konsekwencje wyboru

Oddzielny sweep workflow

Alternatywa
Natychmiastowy sweep przed uznaniem płatności
Konsekwencja
Więcej stanów operacyjnych i retry.
Uzasadnienie
Customer payment nie jest blokowany przez operację treasury, która może zawieść niezależnie.

Najważniejsze lekcje

  • Adres blockchain jest identyfikatorem technicznym; payment intent nadaje mu sens biznesowy.
  • Observer musi być projektowany pod replay od pierwszego dnia, bo realtime event stream nie jest gwarancją kompletności.
  • Blockchain event i product ledger entry powinny mieć jawne, audytowalne powiązanie, ale nie być tym samym rekordem.
  • Finality policy jest częścią produktu i ryzyka, a nie przypadkową wartością confirmations w kodzie.
  • Treasury jest downstream procesem; nie powinien decydować o tym, czy poprawna płatność klienta istnieje.
09 / Zastosowanie

Dla jakich organizacji ten model jest istotny

FinTech i account-based products

Gdy wpłaty stablecoin zasilają konto użytkownika lub wpływają na core balance produktu.

Marketplace i platformy wielostronne

Gdy system musi rozróżniać wielu płatników, beneficjentów i przepływy treasury.

Produkty z własnym treasury workflow

Gdy środki po wpłacie wymagają konsolidacji, alokacji lub innych operacji wewnętrznych.

Systemy wymagające kontroli on-chain

Gdy managed gateway nie daje wystarczającej kontroli nad adresami, identyfikacją transferów lub stanem produktu.

Custom wallets / on-chain payments

Potrzebujesz natywnego payment railu zamiast gotowego gatewaya?

Zaprojektujemy wallet allocation, blockchain observation, confirmation policy, internal ledger, reconciliation, sweep i treasury tak, aby płatność była częścią domeny produktu, a nie tylko transferem do adresu.

Porozmawiaj o custom payment infrastructure
10 / Zakres

Najważniejsze potwierdzone fakty

Poniższe informacje podsumowują potwierdzony zakres produktu i nie zawierają niezatwierdzonych danych o wzroście.

  1. 1

    Projekt klienta objęty jest NDA i nazwa organizacji nie jest publikowana.

  2. 2

    Wdrożenie wykorzystuje dedykowane adresy do identyfikacji wpłat stablecoin.

  3. 3

    System utrzymuje registry powiązań adresów z kontekstem biznesowym.

  4. 4

    Blockchain observer wykorzystuje checkpointing i możliwość replay.

  5. 5

    Transfer jest walidowany pod kątem network, token contract, destination i amount.

  6. 6

    Wykrycie transferu jest oddzielone od finalnego zaksięgowania w produkcie.

  7. 7

    Product balance jest utrzymywany w niezależnym internal ledger.

  8. 8

    Sweep i treasury są oddzielone od customer payment lifecycle.

  9. 9

    Nieprawidłowe lub niejednoznaczne transfery trafiają do kontrolowanej obsługi wyjątków.

  10. 10

    Nie publikujemy modelu custody, kluczy, adresów, wolumenów ani parametrów bezpieczeństwa.

11 / Opracowanie

Opracowanie i weryfikacja materiału

Opracowanie

Softech — Product & Engineering

Materiał opracowano na podstawie zanonimizowanego wdrożenia wallet i payment infrastructure objętego NDA.

Poznaj Softech
Recenzja

Softech — weryfikacja techniczna

Sprawdzono spójność modelu on-chain/off-chain, granice poufności i brak danych ujawniających custody lub bezpieczeństwo klienta.

Poznaj Softech
Opublikowano: 2026-08-10Ostatnia aktualizacja: 2026-08-10

FAQ

Czy każdy klient musi mieć osobny wallet?

Nie zawsze. Dedykowany adres może być przypisany do użytkownika, konta, faktury lub payment intent — zależnie od modelu biznesowego, prywatności, kosztów i wybranego podejścia custody.

Dlaczego blockchain balance nie jest saldem użytkownika?

Saldo adresu mówi tylko, ile aktywów znajduje się on-chain. Nie mówi, do jakiego zobowiązania należał transfer, czy został zaakceptowany, czy jest finalny ani czy środki zostały już zaksięgowane w produkcie.

Jak system radzi sobie z awarią RPC lub indexera?

Observer przechowuje checkpointy i przetwarza bloki idempotentnie, dzięki czemu po przerwie może kontynuować od znanego miejsca lub odtworzyć wybrany zakres bez podwójnego zaksięgowania zdarzeń.

Czy sweep do treasury oznacza, że płatność jest dopiero wtedy zakończona?

Nie. Uznanie payment intent i ruch treasury to osobne workflow. Awaria sweepingu nie powinna cofać prawidłowo potwierdzonej płatności klienta.

Jak obsługiwane są złe tokeny i sieci?

Transfer jest klasyfikowany przez network, token contract, destination i amount. Zdarzenia niespełniające warunków payment intent nie są automatycznie księgowane jako prawidłowa płatność.