Accept payments · TON
Accept Toncoin payments.
Invoice in the currency you sell in, and let your customer pay in Toncoin. We give the invoice a keyless address on the chain they choose, watch it, and send you a signed webhook when the payment is final. TON's native coin. USDT rides here as a Jetton rather than an ERC-20.
TON on 1 chain.
Your customer picks one at checkout. You choose which of them you are willing to accept.
- TON on TON
- USDT is the only stablecoin we settle in on TON today. Other jettons can still be received at a deposit address.
Taking a Toncoin payment.
Create the invoice
One POST with an amount, a pricing currency and your own reference. You get back a checkout URL, one payment address per chain, and a locked amount in every coin you accept.
They pay, at a rate that stays honest
Your customer is never asked to commit to a chain first — one address serves every EVM chain, so whatever arrives is attributable. Stablecoins are quoted once. A volatile coin is re-quoted every two minutes, and the figure it replaces is still honoured for five, so nobody who did as they were told is told they underpaid.
You get a signed webhook
HMAC-SHA256, retried for about 46 hours, replayable from the dashboard. The payment is credited to your balance per asset.
curl https://api.molnpay.com/v1/invoices \ -H "Authorization: Bearer $MOLNPAY_SECRET_KEY" \ -H "Idempotency-Key: order_8812" \ -d amount="49.90" \ -d currency="USD" \ -d reference_id="order_8812"
What you do not have to do.
- Hold a TON wallet, or guard a seed phrase for one. Every address is a contract with no key.
- Keep gas on hand. Our operator wallet funds the sweep on every chain TON settles on.
- Ask your customer to make an account. The hosted checkout needs nothing from them but a payment.
- Run a watcher that must never miss a block, or reconcile a reorg by hand.
Holding TON for your users instead?
Same API, same keys, same balance — the difference is whether the address belongs to an invoice or to one of your users.
Toncoin deposit addresses