01
Five chains had five definitions of finality
Ethereum, BNB Chain, Tron, Polygon and Solana do not expose equivalent block, slot or confirmation behaviour. Settlement policy needed to be chain-specific and visible to the merchant.
Client engagement
Sagapay
A five-chain gateway launched in 2024, with per-invoice deposit addresses, key parts held in separate datastores, settlement to merchant wallets and explicit handling for chain reorganisation and notification failure.
The problem
A multi-chain payment gateway has to create addresses, observe payments, sign transactions and pay network fees, but exposing complete signing keys to employees or support systems would create an unacceptable operational risk.
Sagapay also needed funds to settle to each merchant’s wallet, reliable confirmation across five chains, and notification behaviour that would survive chain reorganisations and merchant-system outages.
Why it was difficult
These operating and governance conditions determined what a credible solution had to achieve.
01
Ethereum, BNB Chain, Tron, Polygon and Solana do not expose equivalent block, slot or confirmation behaviour. Settlement policy needed to be chain-specific and visible to the merchant.
02
A policy prohibiting access was insufficient. Complete key material could not exist in a console, export, support tool or any datastore an operator could read.
03
A chain reorganisation can invalidate an included transaction. Payment state had to remain reversible until the configured depth was reached, with reversal events communicated as explicitly as confirmations.
04
A successful chain transaction could not be lost because a merchant endpoint timed out. Notifications needed signatures, idempotency and durable retry behaviour.
The solution
Root Digit built a five-chain payment gateway with a unique deposit address for every invoice, signing-key parts stored in separate datastores and settlement sweeps to the merchant wallet.
Chain-specific watchers determine payment state, while signed idempotent webhooks, durable retry and explicit reorganisation handling keep the merchant’s application aligned with the blockchain record. No operator-facing system exposes a complete signing key.
How we did it
The workstreams below show how the solution was designed, built and controlled.
01
Each invoice receives a unique deposit address. Its signing key is generated inside the platform and immediately divided into parts stored separately. Parts are reassembled only in process memory for the signing operation and are not surfaced through operational tooling.
02
Dedicated watchers track mempool entry, inclusion, depth and reversals under a policy appropriate to each supported chain. Merchants can select the depth at which an invoice is treated as settled.
03
Once the payment satisfies policy, the platform signs a sweep from the invoice address to the merchant wallet and pays the network gas required to execute it. Funds do not remain as gateway float.
04
Settlement and reversal events are signed and sent with idempotency keys. Exponential backoff and durable retries ensure a recovering merchant endpoint receives the same event without creating a duplicate business action.
05
Underpayments, overpayments, dust and chain reorganisations are represented as explicit payment states. That keeps ordinary exceptions out of manual reconciliation and makes merchant behaviour predictable.
System design
01
Invoice, observed, included, confirmed, swept, reversed and notified states are persisted separately so chain status and merchant notification cannot be mistaken for the same event.
02
Key parts cross their storage boundaries only inside the signing path, exist together only transiently and never appear through administrative or support surfaces.
03
Funds settle to the merchant wallet. Signed webhooks communicate the platform’s observed state, while idempotency protects the merchant application from duplicate processing.
Transaction record
The gateway observes and signs the movement. It does not use a pooled merchant balance as the destination.
01
The merchant requests an amount, asset, chain and confirmation policy.
02
The platform creates a unique address and splits the associated signing key across separate datastores.
03
A chain-specific watcher records mempool, inclusion and confirmation state.
04
Key parts are assembled transiently in memory to sign the sweep to the merchant wallet; the platform pays network gas.
05
A signed, idempotent webhook is retried until the merchant acknowledges it.
Source
Customer wallet
Controlled path
Invoice address · signed sweep
Destination
Merchant wallet
Delivery sequence
Phase 01
Invoice lifecycle, chain support, confirmation policies, key boundaries and merchant settlement responsibilities.
Phase 02
Address generation, split-key signing, chain watchers, invoice state and merchant-wallet sweeps.
Phase 03
Signed webhooks, idempotency, retry, reorganisation handling and exception policy.
Phase 04
Operating controls, merchant integration guidance and production support across five chains for the 2024 launch.
Outcomes and evidence
These are product and architecture facts from the Sagapay delivery record. “Zero operators” describes the designed access path: it is not a claim that the gateway never handles key material or a regulatory characterisation of custody.
Commercial model recorded for the launched platform.
Ethereum, BNB Chain, Tron, Polygon and Solana.
An architectural property of the split-key operating path.
Year the platform launched.
Engagement conclusion
The gateway’s security position comes from making complete key material unavailable to operators, not from asking operators not to access it. The same precision extends to settlement, confirmation, reversal and merchant notification.
Start a conversation
We use cookies to enhance your browsing experience, serve personalized content, and analyze our traffic. By clicking "Accept All", you consent to our use of cookies. You can also choose "Necessary Only" to limit cookies to essential website functions only. Learn more