Po co dedykowane adresy depozytowe
Unikalny adres per klient, konto albo payment context może zamienić anonimowy transfer chaina w deterministyczny sygnał produktu. Ogranicza zależność od memo fields i ręcznego dopasowania tx hash, ale tylko wtedy, gdy lifecycle adresu jest spięty z wallet registry i internal ledgerem.
Wybierz jednostkę alokacji
Typowe strategie to adres per customer, per account, per invoice/payment intent albo per network. Reuse zmniejsza liczbę walletów, ale utrudnia attribution i privacy. One-time addresses upraszczają matching, ale zwiększają skalę operacji i potrzebę sweep.
Kanoniczny model danych
DepositAddress
- walletId
- address
- network
- ownerType / ownerId
- purpose
- status
- providerRef
DepositTransaction
- txHash
- logIndex
- asset
- amount
- observedAt
- finalityState
- matchedIntentId
- ledgerEntryIdObservation musi być replayable
Nie polegaj na pojedynczym webhooku ani RPC subscription. Zapisuj checkpoints, używaj idempotentnych identyfikatorów transakcji i wspieraj replay/backfill. Token transfers mogą być eventami kontraktu, dlatego waliduj contract address, network i amount.
Finality przed credit
Oddziel DETECTED, VALIDATED, CONFIRMING, FINAL i CREDITED. Confirmation policy zależy od sieci i profilu ryzyka.
Deposit jest oddzielny od sweep
Poprawny customer deposit pozostaje poprawny nawet jeśli późniejszy treasury sweep się nie uda. Modeluj treasury jako downstream operation: UNSWEPT → QUEUED → SUBMITTED → CONFIRMED z własnymi retry i incident queue.
Gas i token movement
Depozyty ERC-20 mogą wymagać native gas do przeniesienia środków z deposit walleta, chyba że account/provider wspiera sponsored lub alternatywne execution. Trzeba to uwzględnić w treasury i kosztach.
Integracja płatności USDC
Dla faktur i commerce dedykowane adresy najlepiej działają za payment intentem definiującym commercial amount, accepted network, expiry i customer context. Produkt powinien creditować na podstawie zwalidowanych business rules, a nie tylko dlatego, że USDC pojawiło się na adresie.
Kiedy zamiast tego managed gateway
Jeśli firma potrzebuje głównie „customer pays crypto, merchant receives settlement”, managed provider może być prostszy. Dedykowane adresy są strategiczne, gdy deposit identity, balances, treasury lub native on-chain behavior są częścią produktu.