Payaider Docs Non-custodial crypto payments API 2026-08-27

Checkout

What the customer sees, why the amount has odd decimals, and every way a payment can go sideways on the customer’s side.

The hosted page

Redirect to checkout_url and the customer gets a mobile-first page that: picks asset and network with loud wrong-network warnings, renders a QR code and a plain-address copy button, shows the exact amount and a live countdown, updates status without a refresh, walks an underpayment through its remaining balance, and offers an "I have paid" transaction-hash fallback.

Both the QR and the plain address are always shown. Many wallets scan only plain addresses, and a QR-only checkout quietly loses those customers.

Why the amount has odd decimals

Payaider is non-custodial, so funds go to your shared receiving address. There is no per-invoice address to match on, which leaves exactly one discriminator on-chain: the amount.

So every concurrently-payable invoice reserves a globally unique amount for its (wallet, token), uniquified in the last few decimals. A $100.00 order becomes 100.0431 USDT. The amount is always rounded up — the customer never pays less fiat value than you priced, and the dust is yours.

Approved assets

Each (asset, network) pair has exactly one approved contract. A transfer of any other contract is discarded, however it labels itself — matching is never on a symbol.

AssetThe only approved contractDecimals
USDT on TRONTR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t6
USDT on BNB Chain0x55d398326f99059fF775485246999027B319795518
USDC on Base0x833589fCD6eDb6E08f4c7C32D4f71b54bdA029136

On Base, only Circle-native USDC is accepted. Bridged USDbC is a different asset that customers do still hold; it is refused rather than silently credited.

How long confirmation takes

NetworkFirst signalSettlement signal
TRON~3s to first inclusionSolidified height (~57s). Solid height never rolls back.
BNB Chain~0s to first inclusionBFT fast finality (~1.1s) via the finalized tag.
Base~2s to first inclusionFour tiers: sequencer ~2s, safe ~2 min, finalized ~20 min.

Confirmation policy is a config table of (network, amount tier) → finality signal, not a hardcoded block count. On TRON and BNB Chain it is a finality signal, not a count of confirmations; the old "15 confirmations on BNB" convention is obsolete and must never ship.

When it goes wrong

What happenedWhat Payaider doesWhat you do
Customer sends the wrong amountTolerant attribution matches it, then classifies underpaid or overpaid. Ambiguity goes to review, never to a guess.Show the remaining amount, or accept as paid.
Customer pays after the countdownThe address is watched for 24 hours past expiry. A matching transfer becomes paid_late in a review queue.Resolve it: fulfil, or refund off-platform.
Customer sends on the wrong networkNothing to detect — but the funds are in your address on that chain.Recover them yourself from that chain; the support runbook explains how.
Customer withdraws from an exchange and the fee is deductedStage-2 attribution knows the standard per-token withdrawal fees and matches anyway.Usually nothing.
Customer pays from an exchange to your exchange deposit addressNothing happens on-chain at all — it settles internally at the exchange, invisible to every watcher.This is why exchange deposit addresses cannot be registered as wallets. Use self-custody.
Customer insists they paid and nothing matchedThe "I have paid" fallback takes their transaction hash and runs the full verification pipeline on that specific transaction.Point them at the fallback on the checkout page.