BTC$68,420▲ 0.82% / ETH$3,841▼ 0.31% / LTC$94.05▲ 1.14% / SOL$221.60▲ 3.02% / USDT·TRC20$1.0000 / USDC·ERC20$0.9999 / XMR$168.42▼ 0.18% / TON$6.02▲ 0.47% / XRP$2.41▼ 0.09% / GAS·ETH18 gwei / Indicative prices · illustrative ticker / No-KYC · non-pooled · 0.4% flat / BTC$68,420▲ 0.82% / ETH$3,841▼ 0.31% / LTC$94.05▲ 1.14% / SOL$221.60▲ 3.02% / USDT·TRC20$1.0000 / USDC·ERC20$0.9999 / XMR$168.42▼ 0.18% / TON$6.02▲ 0.47% / XRP$2.41▼ 0.09% / GAS·ETH18 gwei / Indicative prices · illustrative ticker / No-KYC · non-pooled · 0.4% flat
OrbChain
UTC 18:47:02 Get started →
Blog · engineering + product ▓ NOTES FROM THE HOT WALLET RSS at /blog.rss

Notes from
the hot wallet.

Engineering postmortems, product decisions, and the boring infrastructure work that makes a payment gateway not leak money. Written by the people shipping, not a content team.

Writing · thinking · shipping
§ Latest

Latest posts.

Ordered newest-first
Dates are when we shipped the underlying change
DateTitleSummaryTag
08-19 How to accept XRP payments XRP settles in a few seconds for a fraction of a cent — one of the fastest checkout rails there is. Finality, fixed fees, the 1-XRP account reserve, and per-user HD addresses that skip destination-tag juggling. PRODUCT
08-22 How to accept Litecoin and Dogecoin payments LTC and DOGE are the low-fee, widely-held Bitcoin-family coins — great for tips, small purchases, and communities. Confirmation times, fees, the UTXO model, and the DOGE legacy-address quirk. PRODUCT
08-25 Accepting stablecoins on BNB Chain and Polygon For USDT/USDC on an EVM chain without Ethereum's gas, BNB Chain and Polygon are the low-fee rails — plus the one gotcha that breaks naive integrations: BEP20 stablecoins use 18 decimals while Polygon and everyone else use 6. PRODUCT
08-28 Idempotency in crypto payments: never double-charge, never double-pay Money APIs must be safe to retry. How OrbChain makes payouts, transfers, and batches idempotent with a client idempotency_key, and how the deterministic webhook event_id lets receivers dedupe re-deliveries. ENGINEERING
08-31 Non-custodial by design: why a payment gateway should never hold your keys Custodial processors hold your balance, gate withdrawals behind KYC and review, and can freeze funds. OrbChain removes those gates — no identity wall, no approval queue, per-merchant settlement you move on demand — plus the honest version of what that does and does not buy you. PRODUCT
09-03 Stablecoin treasury: USDT vs USDC, and which chain to hold Auto Settle lands everything as one stablecoin — which means a treasury decision. USDT vs USDC on issuer, liquidity and acceptance, and why the chain you hold on (TRC20 cheapest, SOL/Polygon cheap, ERC20 expensive) decides your withdrawal cost. GUIDE
09-06 Pricing crypto invoices across currencies and regions Sell globally by quoting each buyer in their own local fiat while you receive crypto. OrbChain prices invoices in 10 fiat currencies with the rate locked at invoice creation, so neither side eats volatility during the payment window. GUIDE
09-09 Accepting crypto for SaaS: subscriptions, trials, and dunning that actually works Crypto has no stored card to auto-charge, so SaaS billing is invoice-pull. The full loop — plans, per-cycle invoices, trials via a future start date, dunning with grace, and a subscription.paid webhook carrying your tenant reference. GUIDE
08-17 The hidden economics of USDT on Tron A USDT-TRC20 transfer costs no gas — it costs energy, and how a processor sources it (burning vs staking vs just-in-time rental, with on-chain verification and burn fallback) decides its margins. ENGINEERING
08-17 When is a crypto payment actually final? A blockchain never says final — it says reversal has become expensive enough to stop worrying. Why thresholds differ per chain, what a reorg does to a payment, and the forward-only crediting that keeps webhooks sane. ENGINEERING
08-17 Underpaid, overpaid, paid late: the invoice edge cases The buyer types the amount, so invoices meet 99.2% payments, double-sends and deposits after expiry. The tolerance window, the Underpaid state with same-address top-ups, and what lands where. GUIDE
08-17 Self-emptying balances: auto-payout rules and payout schedules Balances on any gateway are idle capital plus custody exposure. Threshold rules cap what can ever sit here; schedules give bookkeeping rhythm — every automatic movement a normal, webhooked payout. PRODUCT
08-17 How to accept Solana payments (SOL, USDT, USDC) SOL settles in seconds for fractions of a cent, and Solana-native USDT/USDC give stablecoin buyers the cheapest rail after Tron. Setup, finality expectations, and the SPL token-account details we absorb. PRODUCT
08-17 How to accept TON payments (Toncoin + USDT) TON is where Telegram-native buyers keep money. Toncoin and USDT-on-TON settle in seconds inside the app 900M people already use — setup, address formats, and the jetton verification that matters. PRODUCT
08-17 How to accept crypto payments on Magento 2 Install the OrbChain Magento 2 module via composer or ZIP, register the native AbstractMethod payment method, wire the HMAC webhook, refund from the Credit Memo screen. 2.4.6+, Open Source and Commerce. PRODUCT
08-17 Crypto payment automation with Zapier and Make Route payment.paid into Sheets, Slack, HubSpot or 6000+ apps without a webhook server — the official apps (private-invite), the raw-webhook path that works today, and where no-code should stop. PRODUCT
08-17 Switching crypto gateways: a working migration plan Concept mapping (IPN to signed webhooks, status vocabulary, payouts), the three-week parallel-run pattern that makes cutover boring, and the pre-cutover checklist. Written for NOWPayments, works for its peers. PRODUCT
08-17 Running your payment gateway from Telegram A read-only bot for glancing (balance, payment feed) and a Mini App for doing — deposit addresses, Lightning invoices, swaps and TOTP-protected payouts. A working day where the laptop never opens. PRODUCT
08-17 A crypto point-of-sale that is just a browser tab No terminal, no app store, no per-device fees: the hosted POS turns any phone or tablet into a crypto register — fiat-priced amounts, a QR, live confirmation on both screens, Lightning for counter speed. PRODUCT
08-17 How to pay 100 people in crypto in one API call Affiliate runs, payroll, prize pools: batch payouts with per-item results, external_id idempotency that makes retries safe, one TOTP per batch, and atomic re-credit on failure. PRODUCT
08-17 Least-privilege API keys for payment infrastructure A leaked key should be an incident, not a catastrophe. Scopes per integration, IP and coin allowlists, expiry, hashed storage, and the password-reset kill switch — the five-minute key policy. PRODUCT
08-17 Per-user deposit addresses: the platform integration pattern Gaming sites and platforms with user balances need attribution, not invoices: one permanent HD-derived address per user per coin, webhooks carrying your user_id, and none of the sweep logistics. PRODUCT
08-17 Payment links: selling crypto-native without a website No store, no code: a reusable link that mints a fresh tracked payment on every open. Fixed or open amounts, fiat pricing, auto-settle, an embeddable button — and where links stop and invoices start. PRODUCT
08-17 Stop paying gas to move money you already hold Closed-loop transfers move balance between OrbChain accounts instantly with zero network fees. When an internal ledger beats an on-chain send, the idempotency contract, and the payout-network patterns built on it. PRODUCT
08-17 Splitting a crypto payment without a smart contract Marketplaces reconcile revenue shares with month-end batch jobs; splitter contracts cost gas and audits. The third way: declare shares in basis points at payment creation and let settlement fan out itself. PRODUCT
08-17 Accept any coin, settle in USDT: how Auto Settle works Wide acceptance converts more buyers; holding twelve volatile coins is a treasury problem. How Auto Settle locks the conversion at invoice creation, guards slippage, fails safe to the original coin, and reconciles in the webhook. PRODUCT
08-17 Running five storefronts on one payment account Agencies and multi-store operators end up with one account per brand — key sprawl, scattered balances, N dashboards. Multi-Brand isolates identity, webhooks and API keys per brand while funds settle into one treasury. PRODUCT
07-27 Crypto refunds and disputes: how they actually work There are no chargebacks in crypto — refunds are a deliberate action, not a dispute you defend. How to issue full/partial refunds, the Lightning/Monero cases, and how signed receipts settle disputes. GUIDE
07-27 How crypto subscriptions and recurring billing work Crypto has no stored card to auto-charge, so recurring billing is customer-initiated. How OrbChain subscriptions run — plans, per-cycle invoices, dunning, pause/resume, proration — and how to keep churn low. GUIDE
07-27 How to accept crypto payments on WHMCS A step-by-step setup for hosting/managed-services billing: install the gateway module, connect your API key, wire the callback, and understand how crypto renewals work (customer-initiated, not stored-card). No KYC, 0.4% flat. GUIDE
07-27 How to accept crypto payments on WooCommerce A step-by-step setup: install the plugin, create an API key, connect the webhook, test in sandbox, and go live. HPOS + Cart/Checkout Blocks ready, no KYC, 0.4% flat — about ten minutes. GUIDE
07-27 Crypto payments vs card processors: fees, chargebacks, settlement An honest comparison against Stripe/PayPal — the real fee math, why chargebacks cut both ways, non-custodial settlement, minutes-not-days payouts, and the tradeoffs crypto doesn't solve. GUIDE
07-27 How to price crypto invoices in fiat without eating volatility Accepting crypto doesn't mean betting revenue on a chart. Price in USD/EUR, lock the rate at pay time, accept stablecoins, and auto-convert volatile coins at settlement. GUIDE
07-27 Webhooks that never lose a payment A developer guide to consuming payment webhooks safely — verify the HMAC over raw bytes, dedupe on event_id, handle retries idempotently, respond fast, and reconcile what you missed. GUIDE
07-27 How to accept crypto payments without KYC (and what “no-KYC” actually means) No-KYC doesn't mean no rules. Here's what you can and can't do without identity verification, how self-custody changes the picture, and the exact steps to start accepting Bitcoin, USDT and 20+ coins in a few minutes. GUIDE
07-27 Accepting USDT: Tron vs Ethereum vs Solana, with real fee numbers USDT exists on a dozen chains and your customers don't all use the same one. We break down the fees, confirmation times and failure modes of accepting USDT on Tron (TRC-20), Ethereum (ERC-20) and Solana — and which to enable. GUIDE
04-21 The Polygon rebrand bug that survived a year of CI A CoinGecko ID map entry pointed to a retired identifier. Our stale-cache fallback masked it. Here's how we caught it and the regression guard we shipped. POSTMORTEM
04-20 Shipping Lightning without running an LSP How we accept and pay out Bitcoin over Lightning without operating our own liquidity service. Voltage for the node, Boltz for rebalancing, zero 24/7 on-call shifts added. PRODUCT
04-19 Signed settlement receipts: why Ed25519, why offline Every PAID payment on OrbChain gets a cryptographically signed receipt. No other gateway ships this. Here's the design, the canonical JSON, and a 10-line verifier. ENGINEERING

Follow the engineering.
Not the hype.

Every post is a primary source. No SEO filler, no listicles, no "unlock seamless next-gen crypto solutions." Real decisions, real numbers, written by the engineers doing the work.