How to accept crypto payments on your own server with Docker
Description and use
The article explains how to deploy Coldtill in Docker to accept crypto payments without third‑party custodians, routing funds directly to a cold wallet and securely handling webhooks.
Problem
Shop owners want to accept crypto payments without relying on third‑party processors that hold funds and charge fees.
Outcome
A Docker‑based Coldtill deployment enables merchants to accept crypto payments directly into their own wallets, eliminating third‑party custody, reducing fees, and providing full control over funds.
Workflow
- 1. Merchant backend calls POST /api/v1/payment with amount and order ID to obtain a checkout URL.
- 2. Customer is redirected to the checkout page, selects coin and network, and pays via QR code.
- 3. The watcher process monitors the blockchain, counts confirmations, and sends a signed webhook to the merchant’s shop.
- 4. The merchant’s webhook handler verifies the signature, marks the order paid idempotently, and triggers any fulfillment logic.
- 5. The sweeper process moves the received funds from deposit addresses to the merchant’s cold wallet.
- 6. Optional auto‑convert enables customers to pay with 200+ coins across 35+ chains while the merchant receives a stablecoin.
Evidence
Most guides to taking crypto in a web shop start with "sign up for a processor".
I wanted the opposite: a checkout that runs on a box I own, where the coins go straight into my own wallet and nothing in the middle can hold them.
Coldtill ships as Docker containers and runs on an ordinary Linux VPS.
The watcher waits for confirmations and sends your shop a signed webhook.
Read the raw body before any JSON parsing.
- Record date: 2026-10-25T10:11:32.894Z