Skip to content
ZeroKYC Pay

Direct checkout guide

Connect your own wallet: one static address + unique amounts for every asset except Monero (view key).

The direct checkout is fully non-custodial: buyers pay straight to your wallet, and ZeroKYC Pay only watches the chain and fires webhooks. Private keys never touch the platform — you connect an address (or a Monero view key) per asset. Pricing is the flat $29/$79 subscription + 0.5% overage.

Connection modes per asset

AssetModeWhat you provideHow matching works
BTC, LTC, DOGE, BCHstatic_amountOne Bitcoin (bc1…) / Litecoin (ltc1…) / Dogecoin (D…) / Bitcoin Cash (q…) addressUnique amounts per live invoice
XRPstatic_amountOne XRP Ledger address (r…)Unique amounts per live invoice
NEARstatic_amountOne NEAR account (name.near or 64-hex)Unique amounts per live invoice
SOL, USDT/USDC (Solana)static_amountOne Solana wallet address (base58)Unique amounts per live invoice
ETH, USDT (Ethereum), USDT (BSC), BNB, USDT (Arbitrum), USDC, USDT (Polygon), USDC (Arbitrum)static_amountOne EVM address from any walletUnique amounts per live invoice
USDT TRC-20, TRXstatic_amountOne TRON addressUnique amounts per live invoice
TON, USDT-TONstatic_amountOne TON addressUnique amounts per live invoice
XMRxmr_viewkeyMain address + private view keyIntegrated address (payment id) per invoice

Static address + unique amounts

Everyday wallets (and exchanges) don't export xPubs, so every asset except Monero uses one static address and disambiguate invoices by amount: live invoices get amounts spaced by 2 × amount_tolerance + 1 unit. With a tolerance of ±0.1%, a $101.1 invoice gets $101.4, the next one $101.7 — payment windows never overlap.

Rules that make this safe:

  • The address must be used exclusively through ZeroKYC Pay. A foreign transfer that happens to match a window produces a payment.detected webhook for manual review, not an auto-confirm.
  • Tolerance 0 (default) means exact match to the smallest unit; for stablecoin invoices ±0.0001–0.001 is a practical default — the console previews the resulting window step live.
  • Confirmations and rate rules are per-asset (assets table).

Monero view key

Provide your main XMR address and the private view key — a secret that can see incoming transfers but cannot spend them. We store it encrypted at rest, generate an integrated address (with an embedded payment id) per invoice and scan outputs with our own monerod plus a reserve node.

Custody cheat-sheet
  direct static     → keys: yours. platform holds: the address itself
  direct view key   → keys: yours. platform holds: view secret (encrypted),
                      which can observe incoming, never spend

Billing and the cutoff

Your billing cycle runs every 30 days from registration (or from a plan change). The first 30 days are free — your Starter subscription starts on day 30, payable in USDT (TRC-20) via our hosted checkout. An unpaid platform invoice opens a 7-day grace period; after it, creating new invoices returns 402 account_suspended until settled. Live invoices, checkout and webhooks of your customers are never interrupted — and 30 days in suspension archives the account.

What your customer sees

The same hosted checkout with one difference: on direct, buyers pay straight to your address — that's the whole point.

Full setup walkthrough — from getting keys to the first confirmed payment: Integration guide.