Pay with wallet
On the checkout page a payer can pay in two ways, shown side by side:
- Pay with wallet. The payer connects their own wallet through WalletConnect. The page opens a transaction that is already filled in with the right network, asset, amount and address. The payer only has to approve it.
- Send manually. The payer copies the address and the exact amount, or scans a QR code, and sends the payment from any wallet or exchange.
Both end the same way for you: a payment on the network, then the invoice.paid webhook.
You do not build anything
Section titled “You do not build anything”Pay with wallet is part of the hosted checkout. There is no extra API call, no setting on the invoice, and you do not need your own WalletConnect project. If the invoice accepts an asset on a network that wallets can pay, the button is there.
Where it works
Section titled “Where it works”| Network | Pay with wallet |
|---|---|
| Ethereum, BNB Smart Chain and other EVM networks | Yes |
| Solana | Yes |
| Bitcoin | Yes |
| Tron | Yes, for TRX and for tokens such as USDT on Tron |
Pay with wallet becomes available for a network when that network itself goes live in cTpeWay.
What the payer experiences
Section titled “What the payer experiences”- They choose Pay with wallet and pick their wallet. Only the assets and networks that this invoice accepts are offered.
- If their wallet is set to another network, the page asks it to switch.
- Their wallet shows the transaction: the recipient address, the asset and the exact amount. The page asks the payer to check the address in their wallet before approving.
- They approve. The page moves straight to Confirming.
If the wallet rejects the transaction or it fails, the payer is returned to the Pay step with the reason. They can try again or switch to sending manually.
What you should know
Section titled “What you should know”Manual payment is always there. A payer who is sending from an exchange cannot connect a wallet, so the address, the amount and the QR code are always available. If the wallet connection service cannot be reached, the wallet button is hidden and manual payment still works.
Submitted is not paid. After the wallet submits the transaction, the checkout page shows Confirming. The invoice becomes paid only when cTpeWay has seen the payment on the network and it has been confirmed.
cTpeWay verifies every payment itself. The page reports the transaction to cTpeWay so that it is found quickly. cTpeWay then looks the transaction up on the network and checks the recipient, the asset and the amount. What a page or a wallet reports is never treated as proof.
Your integration stays the same. Whichever way the payer pays, you fulfil the order on invoice.paid. See Webhooks.
Testing it
Section titled “Testing it”A test invoice offers test networks only. To try a wallet payment you need a wallet that is set to that test network and holds test coins. See Testing.
If you only want to test your own integration, you do not need a wallet at all. Use the payment simulator.

