chcks Documentation
Everything you need to accept crypto payments — whether you run a café, an online store, or a SaaS product.
Overview
chcks is a multichain crypto payment platform for merchants and developers. Accept TON, BTC, ETH, SOL, USDT, and more — payments settle directly to your wallet with no custodian and no middleman.
QR Menu
Customers scan a QR code, browse your menu, and pay in crypto without installing anything.
Kitchen Display
Real-time order board for your kitchen — updates instantly as orders come in via WebRTC P2P.
Payments
Multichain payments: TON, USDT, BTC, ETH, SOL, and more. Customers choose their chain at checkout.
Receipts
Every payment produces a tamper-proof receipt verified by a SHA-256 hash on the blockchain.
GDPR / Privacy
Data minimisation, consent management, right to erasure, and AES-256-GCM encryption at rest.
Developer API
REST API for online stores, SaaS products, and custom integrations — with webhooks and a gateway checkout page.
Setup
Getting Started
Set up your merchant account and start accepting crypto payments in minutes.
1. Create an account
Register at chcks.co
2. Connect your wallet
Add your wallet address
You control your funds
3. Set up your menu
Add products and categories
4. Go live
Print your QR code and start taking orders
Tables support
Feature
QR Menu
Your QR menu is a mobile-optimised web page customers open by scanning a code. No app install, no account creation — just scan and order.
No app required
Opens in any mobile browser. Works on iOS and Android.
Wallet deeplinks
One tap opens Tonkeeper or any compatible wallet with the amount and memo pre-filled.
Memo matching
Each payment has a unique memo. chcks scans the blockchain and matches transactions automatically.
Instant receipt
Customers get a receipt URL with a SHA-256 hash the moment their payment is confirmed on-chain.
Feature
Kitchen Display
The kitchen display shows incoming orders in real time. Staff can update order status as food is prepared and ready for pickup.
Real-time updates
Orders appear instantly via WebRTC P2P — no page refresh needed.
Status workflow
Move orders through: created → confirmed → preparing → ready → completed → paid.
Works on any device
Open the kitchen display on a tablet, laptop, or mounted screen — no install needed.
P2P architecture
Feature
Payments
chcks supports a wide range of chains and currencies. Customers can pay in whichever crypto they hold — the system automatically converts to your preferred settlement currency (TON or USDT) via an exchange bridge.
Multichain support
Accept TON, USDT, BTC, ETH, SOL, BNB, LTC, DOGE, XRP, TRX, and more. Customers choose their chain at checkout.
Automatic conversion
When a customer pays in BTC, ETH, or another chain, the exchange bridge converts it to your configured settlement currency.
Payment window
QR menu payments expire after 15 minutes. Gateway payments expire after 30 minutes.
Transaction hash
Every confirmed payment records the on-chain tx hash for independent verification.
Payment statuses
pending·confirming·confirmed·expiredFeature
Receipts
Every paid order generates a tamper-proof receipt. The receipt hash links the order data to the on-chain transaction.
Receipt page
Customers get a shareable URL (e.g. /check/17) immediately after payment confirmation.
Hash verification
The SHA-256 receipt hash is derived from the order + payment data. Any tampering breaks the hash.
Blockchain explorer
Cross-reference the tx hash on any chain explorer to independently verify the payment.
How receipt hashing works
GET /api/receipt/:hash endpoint so anyone can verify a receipt without trusting chcks.Compliance
Privacy
chcks is designed to collect the minimum data necessary and give users full control over their information.
Data minimisation
Only data required to operate the service is collected. No tracking, no ads.
Access & portability
Export all your data from the dashboard at any time.
Right to erasure
Request full account deletion — your data is removed within 30 days.
Consent management
Cookie consent banner with granular controls. Analytics only with explicit opt-in.
MiCA awareness
chcks is designed with EU crypto-asset regulation in mind.
Encryption at rest
Sensitive merchant data is encrypted with AES-256-GCM before storage.
API
For Developers
chcks exposes a REST API that lets online stores, SaaS products, and services accept crypto payments without building any blockchain infrastructure themselves. All you need is an API key and a wallet address.
Gateway Payments — for online stores & services
The gateway checkout is the fastest way to add crypto checkout to an existing product. Create a payment link from your server, redirect the customer, and receive a webhook when the blockchain confirms the transaction. Customers can pay in any supported chain — the system bridges to your settlement currency automatically. No product catalog required.
/api/v1/invoicesAPI KeyCreate a payment. Pass amount, currency, your internal order_id, and a webhook_url. Returns a payment_url to redirect your customer to.
/api/v1/invoices/:uuidAPI KeyGet current status, tx_hash, and webhook delivery info.
/api/v1/invoices/:uuid/checkAPI KeyTrigger an on-chain check. Use as a fallback if your webhook endpoint was unreachable.
/api/v1/invoices/chooseAPI KeySwitch a pending payment to a different customer currency.
/api/v1/invoicesAPI KeyList all gateway payments, paginated. ?limit=20&offset=0
Webhook payload
webhook_url with { event: "payment.confirmed", payment: { uuid, external_order_id, amount, currency, tx_hash, ... } }. Signed with HMAC-SHA256 in X-Signature. Always verify before fulfilling.Keep your API key server-side
csr_... key must stay on your server.Custom Storefront — build on top of chcks products
Build a fully custom ordering UI on top of a chcks product catalog — a kiosk, mobile app, or website checkout. These endpoints require no authentication.
/api/menu/:slugPublicFetch the merchant's catalog (products, categories, wallet info).
/api/public/ordersPublicPlace an order. Body: { slug, items: [{productId, quantity}], tableId?, customerNote? }
/api/payment/:idPublicGet payment details with TON deeplinks for rendering a QR code.
/api/payment/:id/checkPublicPoll for payment confirmation. Returns status, tx_hash, and receipt URL. Poll every 5s.
/api/receipt/:hashPublicVerify a receipt by SHA-256 hash. No trust required.
Management API — sync products and read orders
Programmatically manage your merchant account — sync your product catalog, read order history, or build internal tooling.
/api/v1/businessAPI KeyRead your merchant profile, wallet address, and settings.
/api/v1/businessAPI KeyUpdate wallet address or settings (paymentCurrency, displayCurrency).
/api/v1/productsAPI KeyList all products including hidden ones.
/api/v1/productsAPI KeyCreate a new product in your catalog.
/api/v1/transactionsAPI KeyList orders with items and table info.
/api/v1/transactions/:id/paymentAPI KeyGet payment details for an order, including QR deeplinks.
/api/v1/transactions/chooseAPI KeySwitch a pending order payment to a different currency.
All endpoints
POST /api/v1/invoicesCreate gateway paymentGET /api/v1/invoices/:uuidGet gateway paymentPOST /api/v1/invoices/:uuid/checkCheck gateway paymentPOST /api/v1/invoices/chooseSwitch currencyGET /api/v1/invoicesList gateway paymentsGET /api/v1/businessGet merchant profilePUT /api/v1/businessUpdate merchantGET /api/v1/productsList productsPOST /api/v1/productsCreate productGET /api/v1/transactionsList ordersGET /api/v1/transactions/:id/paymentGet order paymentPOST /api/v1/transactions/chooseSwitch order currencyGET /api/menu/:slugPublic menuPOST /api/public/ordersCreate public orderGET /api/payment/:idGet payment + deeplinksPOST /api/payment/:id/checkCheck payment statusGET /api/receipt/:hashVerify receiptAPI keys use Bearer token authentication (Authorization: Bearer csr_...). Get yours from Settings → API Key.
chcks Documentation — questions? [email protected]