Payments
Accept CLKC
clanker-payments gives a merchant invoices, confirmation tiers, and signed webhooks, without ever asking the merchant to hold a seed phrase online.
How it works
A payment, end to end
- Step 1
Customer
- Step 2
Merchant
- Step 3
CLKC invoice
- Step 4
Blockchain
- Step 5
Payment confirmed
The payment service
clanker-payments
clanker-payments is a standalone service that watches the chain and turns incoming transactions into invoice state, so a merchant never has to parse block data directly.
Invoice API
| Endpoint | Purpose |
|---|---|
POST /invoices | Create a new invoice for a given amount. |
GET /invoices | List invoices. |
GET /invoices/<id> | Fetch a single invoice and its current state. |
POST /invoices/<id>/refund | Record a refund for an invoice. |
GET /health | Service health check. |
Invoice states
Every invoice moves through a small set of states: pending, paid, confirmed, overpaid, underpaid, expired. Each state is re-derived from the chain after every new block, and again after any reorganization, rather than being set once and forgotten, so an invoice's status always reflects the current best chain.
Confirmation tiers
Confidence scales with the amount
Tiers are configurable by the operator; the defaults below assume the network's 30-second target block time.
| Tier | Confirmations | Approximate time |
|---|---|---|
| Small | 6 | ~3 min |
| Standard | 20 | ~10 min |
| Large | 120 | ~60 min |
| Very large | 240 | ~120 min |
Integration
Webhooks, watch-only wallets, and SDKs
Signed webhooks
One signed POST per invoice state change, authenticated with HMAC-SHA256 and a secret unique to each endpoint. Deliveries are retried with backoff and sequenced per invoice, so handlers never see events out of order.
Watch-only wallets
The payment service uses a watch-only descriptor exported from the merchant's wallet, so it can detect payments without ever holding a spending key online.
Operator-recorded refunds
Refunds are recorded by the operator through the invoice API; the service tracks the record but does not move funds on its own.
Payment URIs and SDKs
Invoices can be represented as clanker: payment URIs for wallets to open directly, and the Rust and TypeScript SDKs cover the invoice API for custom integrations.
Trust model
The server decides, not the browser
This website never trusts a payment claim made by the browser. Whether an invoice is paid is decided by clanker-payments re-checking the chain itself, not by anything a client script reports back.
Ecosystem
Where CLKC is already accepted
CLKC is supported as a native payment method across participating Clanker ecosystem services, including clanker-porn.com, a parody robot-media site.