Pay Without Connecting Your Wallet
Not everyone wants to connect their wallet to a website. Hardware wallet users can’t always use WalletConnect. Exchange users want to withdraw directly to a payment address. Some people simply don’t trust browser extensions with their keys.
Until now, these customers had to use the wallet-connected flow or skip the payment entirely. That meant lost sales for merchants and friction for customers who already have the funds ready to send.
Now they don’t have to choose. MutoPay’s payment page shows a “Send Manually” option alongside “Connect Wallet” for same-token, same-chain payments. The customer copies the address, sends the exact amount shown, and the system detects the transfer automatically.
How it works
When a customer chooses “Send Manually”:
- The system generates a unique payment amount with tiny random digits added (e.g., $50.00 becomes 50.003847 USDT). This “dust” makes each payment’s on-chain amount unique.
- The customer sees the merchant’s address, the exact amount to send, and a QR code. Copy buttons for both.
- They send from whatever wallet they prefer — Ledger, Trezor, an exchange withdrawal, a mobile app.
- MutoPay scans the blockchain for a transfer matching that exact amount to the merchant’s address. Once found, the payment completes automatically.
- If the customer is still on the page, it auto-advances to the success screen. If they closed the tab, the merchant still gets the webhook.
No signature required. No browser extension. No WalletConnect session. Just a standard token transfer.
Which chains and tokens
Manual send works for direct transfers (same token, same chain) on:
- All EVM chains: Ethereum, Polygon, Arbitrum, Base, Optimism, BSC, Avalanche
- TON
Supported tokens: USDC, USDT, DAI, and TON (native).
For cross-chain or token-swap payments, the existing deposit-based flow (via Li.Fi or Rubic) already supports manual send through their deposit addresses.
What if something goes wrong?
Page refreshes: The deposit screen resumes with the same amount and address. No need to start over.
Wrong amount sent: If the customer rounds or truncates the amount, the unique digits are lost and the system can’t match automatically. A prominent “send the exact amount” warning and copy buttons minimize this.
Wallet connection broke mid-payment: A “Already sent? Paste tx hash” fallback appears after 15 seconds. The customer can paste their transaction hash for immediate verification.
For merchants
No setup required. Manual send is automatically available on your payment page for any same-token, same-chain payment. Your settlement, webhooks, and dashboard reporting work exactly the same — you won’t see any difference in how completed payments appear.
If you’re using the headless API (POST /api/payments), direct-route responses now include the dust amount automatically. Poll GET /api/payments/{id}/status to detect completion.
Also see
- How to accept crypto payments — full payment link setup
- Accept TON payments — Telegram-native checkout
- Headless payment API — programmatic integration
- How MutoPay works — routing and conversion explained