RugWard Pay
Security, FAQ and troubleshooting
How RugWard Pay protects merchants and buyers, answers to common questions, and fixes for the problems merchants and buyers run into most.
On this page
- Security model
- FAQ
- Do I need to register or pass KYC?
- Which wallets can I sign in with?
- Can I receive in a coin I didn't enable?
- Is there automatic conversion to a stablecoin?
- What does it cost?
- Can RugWard refund a buyer or reverse a payment?
- Can I use one address for many invoices?
- Why does the buyer have to send an "odd" amount?
- How do I know a payment is real before shipping?
- Can I accept Monero without giving out my view key?
- Do test invoices cost anything?
- Is RugWard Pay available everywhere?
- Troubleshooting for merchants
- Troubleshooting for buyers
Security model#
For your money
- Non-custodial. Payments go from the buyer's wallet to yours. RugWard has no keys to your funds and no balance to lose.
- Addresses are locked per invoice. Every invoice keeps a copy of your receiving addresses from the moment it was created. Changing addresses later never redirects an open invoice.
- Only a wallet signature changes addresses. Settings, API keys and webhooks need a wallet sign-in session. A stolen API key can create or cancel invoices, but it cannot change where money goes.
- Unsafe addresses are refused. Token contracts, Solana token mints, programs and program-owned accounts, Monero integrated addresses and sanctioned EVM addresses cannot be saved. Smart-contract wallets are only accepted on networks where the wallet actually exists.
- Fixed token contracts. USDC/USDT contract addresses are hard-coded by RugWard, so a fake token can never pay an invoice.
For payment detection
- Prices are the median of independent sources (at least two must agree within 2%); the buyer's browser never sends a price.
- One transaction can pay one invoice only; a transaction mined before the quote cannot pay it; pasted transactions must match the exact unique amount or carry the quote's reference.
- Status changes only after the required confirmations. Payments that do not match exactly are shown as unmatched and never credited automatically.
For your account
- Sign-in is a free message signature with a single-use nonce valid for 10 minutes, bound to
rugward.com. Smart wallets (ERC-1271 / ERC-6492) are supported. - The session cookie is
HttpOnly,Secure,SameSite=Strictand lasts 7 days; Sign out ends it. - API keys are stored as SHA-256 hashes; the webhook secret and an optional Monero view key are stored encrypted. Neither the key nor the secret is ever shown again.
- Dashboard requests must come from
rugward.comitself (cross-site requests are refused), and public checkout actions are protected by Cloudflare Turnstile and rate limits.
What RugWard never does
- Never asks for a seed phrase or private key, and never asks a buyer to "validate", "sync" or "unlock" a wallet.
- Never asks for an unlimited token approval: the Base checkout approves exactly the invoice amount for the splitter.
RugWard Pay is internally reviewed by RugWard. It has not been reviewed by an independent firm.
FAQ#
Do I need to register or pass KYC?#
You sign in with your wallet. RugWard asks for no documents. You must accept the merchant terms and follow the laws that apply to you and your buyers.
Which wallets can I sign in with?#
Any EVM wallet supported by RugWard's wallet connector (MetaMask, Trust, Rabby, Coinbase Wallet and others; smart-contract wallets through ERC-1271 / ERC-6492), or a Solana wallet that can sign messages (Phantom, Solflare or Backpack). See Merchant setup.
Can I receive in a coin I didn't enable?#
No. The buyer only sees coins you enabled and have an address for. A buyer holding another coin can swap into an accepted one in their own wallet first.
Is there automatic conversion to a stablecoin?#
No. You receive exactly the coin the buyer paid with. Convert it yourself later if you want, for example with RugWard Swap.
What does it cost?#
0.5% on ETH and USDC on Base (split on-chain); 0% on every other network during the launch promo. Buyers pay their usual network fee. See Fees.
Can RugWard refund a buyer or reverse a payment?#
No. The money is in your wallet; only you can send it back. See Refunds.
Can I use one address for many invoices?#
Yes. Unique amounts (Bitcoin, EVM tokens, Solana), the Solana Pay reference, the Base splitter reference and Monero transaction proofs keep payments apart. For privacy you may still prefer separate wallets per business.
Why does the buyer have to send an "odd" amount?#
The last digits are a unique tag (a few satoshis or a fraction of a cent) that identifies this invoice. The buyer pays that tiny amount on top; the invoice is rounded up so you never get less.
How do I know a payment is real before shipping?#
Wait for Paid in the dashboard or a verified invoice.paid webhook, then (for a server integration) re-read the invoice with the API. Never rely on the return URL or on a screenshot from the buyer.
Can I accept Monero without giving out my view key?#
Yes. By default the buyer proves the payment with the transaction id and transaction key. Saving a view key (stored encrypted) only makes it easier for buyers; it can see incoming payments but never spend.
Do test invoices cost anything?#
No. They use Sepolia testnet coins, which are free and worthless, and they never send webhooks.
Is RugWard Pay available everywhere?#
No. Requests from some regions are blocked (HTTP 451), and the service is not intended for users in sanctioned jurisdictions.
Troubleshooting for merchants#
| Problem | Fix |
|---|---|
| "Accept the RugWard Pay merchant terms first (Settings)" | Tick the terms in Settings and save. |
| "Add at least one receiving address and enable a coin first" | Save an address for at least one family (Bitcoin, EVM, Solana or Monero) and enable a coin of that family. |
| Address refused | It is a token contract, a mint/program, a Monero integrated address, a smart wallet not deployed on that network, or it failed sanctions screening. Use a normal wallet address. |
| "Too many requests" | You hit the per-IP limit (about 20/min across Pay). Wait a minute; use webhooks instead of polling. |
| "Invoice limit reached (500 per hour)" | Wait, or reuse a payment link for repeat purchases. |
| 401 with an API key | The key was revoked or mistyped. Keys are shown once: create a new one. |
| 403 "Cross-site request refused" | You called a dashboard endpoint from another site, or sent a key from a browser. Call the API from your server. |
| An invoice shows Underpaid | The buyer sent less. Ask for the difference (outside RugWard) or refund. |
| A payment is in your wallet but the invoice is not paid | Check Unmatched payments; for Base quotes, the buyer probably sent a plain transfer instead of using the button. |
Troubleshooting for buyers#
| Message | What it means |
|---|---|
| "The price is not available from enough independent sources right now" | Price feeds disagree or are unreachable. Pick another coin or retry in a minute. |
| "Too many coin changes on this invoice" | More than 8 quotes. Ask the merchant for a new invoice. |
| "This transaction was mined before the invoice was quoted" | The pasted transaction is older than the quote. |
| "This transaction sent X, but this invoice needs exactly Y" | The amount differs. Contact the merchant with the transaction id. |
| "This transaction was already used to pay a different invoice" | One payment can only pay one invoice. |
| "This transaction is not a RugWard Pay splitter payment for this invoice" | For Base quotes, pay with the button on the checkout. |
| "The RugWard Pay splitter code on this network does not match the reviewed build" | The safety check stopped the payment. Nothing was sent. Pick another coin and report it. |
| Status stays "Payment detected, confirming" | Waiting for confirmations (Base 30 blocks, Ethereum 12, Bitcoin 1, Monero 10…). |
Last updated: October 30, 2026