Swiss gateway · settle in CHF, EUR, USD or GBP

Accept crypto.
Settle in fiat.

Let customers pay in Bitcoin, Ethereum or stablecoins — and receive euros, francs, dollars or pounds in your bank account. Share a payment link, use the hosted checkout, or install a shop plugin. No crypto expertise needed, and developers get a full API.

  • No setup or monthly fees
  • 0.5% per transaction
  • WooCommerce plugin

Everything you need to accept crypto, built on rails you can trust.

Qint is engineered for production — state-machine driven, event-friendly, and audit-clean. Drop in the SDK, link the gateway, and start collecting payments in days, not quarters.

API-first payment intents

Create a payment intent, deliver instructions, and receive webhooks as the transaction moves from initiated through settled.

Hosted payment links

Beautiful Stripe-style checkout pages with wallet address, QR code, live status, and a countdown timer — no front-end required.

WooCommerce plugin

Native gateway plugin with merchant settings, hosted checkout redirect, and order status updates wired to webhooks.

Idempotency & safe retries

Every request is idempotent. Retry without fear — duplicate intents collapse and the audit trail stays clean.

Signed webhooks

HMAC-signed event delivery with replay protection. Listen for status changes and reconcile state automatically.

Immutable audit trail

Every state transition, retry, and webhook delivery is recorded — ready for reconciliation, disputes, and compliance.

Payment links your buyers actually want to pay on.

Share a link — or let the plugin redirect — and Qint hosts the checkout: the exact amount, a QR code, the wallet address, and live payment status. Branded to your shop, and just as good on a phone.

  • The rate is locked. A countdown holds the quote, so the amount your buyer sends is the amount you agreed on.
  • Status updates live. Your buyer watches confirmations arrive on the page — no “did it go through?” emails.
  • Send it anywhere. Email, invoice, chat, or straight from your store’s checkout.
See a demo payment page

Built for developers. Boring in the best way.

Every payment is an explicit state machine, and every transition reaches your server as a signed, verifiable webhook. No polling, no guessing.

  1. Initiated

    Intent created — via API, payment link or the WooCommerce plugin.

  2. Pending

    Your buyer has the instructions; we watch the chain for the transfer.

  3. Confirmed

    Confirmations reached, amount verified on-chain.

  4. Settled

    Converted and paid out as fiat. Books closed.

Failed Expired

First-class terminal states, delivered over webhooks like every other transition — a payment is never stuck “somewhere on chain”.

payment.confirmed · webhook delivery
POST /webhooks/qint HTTP/1.1
X-Qint-Signature: t=1720526401,v1=5f8a91c0…
Content-Type: application/json
 
{
"id": "evt_9f27c1",
"type": "payment.confirmed",
"data": {
"payment_intent": "pi_4029",
"amount": "124.00",
"currency": "USDT",
"network": "tron"
}
}
 
// response
200 OK · delivered in 84ms · attempt 1

Idempotent by design

Send a request twice, get one result. Duplicate intents collapse, and retries resolve to a single state transition.

Replayable deliveries

Webhooks are HMAC-signed and retried on failure — and every delivery is logged, so you can replay events your endpoint missed.

An audit log that can’t be edited

Every state change, retry and delivery is recorded immutably — ready for reconciliation, disputes and your accountant.

Eleven currencies in. One line on your bank statement out.

Buyers pay from the wallet they already have — you receive francs, euros, dollars or pounds. USDT and USDC are accepted on Tron, Ethereum and Solana, so nobody has to move funds to a new network just to pay you.

  • KYB-verified merchants — onboarding runs through our regulated Swiss execution partner
  • Approval before money moves — payments unlock only once your account is cleared
  • Role-based access, so finance and developers each see exactly what they need
  • An immutable audit trail behind every payment and payout
  • Custody, compliance and fiat settlement on a licensed Swiss execution partner
B BTCE ETHS SOLT TRXD DOGEA ADAX XRPX XLMS SUI

Every asset settles to CHF, EUR, USD or GBP in your bank account. The full asset and network list lives in the developer docs.

Four steps from intent to settlement.

Idempotent, audited, and built around an event-driven core. No state guessing.

  1. Create an intent

    POST /v1/intents with an amount, currency and an order reference. Qint returns an intent and a hosted checkout URL.

  2. Buyer pays

    We host the checkout: wallet address, QR, network, timer, and live status — all branded to your merchant.

  3. Webhook fires

    We watch the chain and ping your endpoint with signed events at every state transition.

  4. Settle in fiat

    Funds are converted and settled to fiat through our regulated execution partner. CSV exports and audit logs are ready for finance.

An API your engineers will actually like.

Stripe-shaped semantics, idempotency keys, signed webhooks, and SDKs for the languages you ship with. Drop-in for new builds and clean to integrate with legacy checkouts alike.

  • REST + JSON, OpenAPI spec, typed SDKs
  • HMAC-signed webhooks with replay protection
  • Idempotency on every mutating request
  • Sandbox keys & test wallets out of the box
Node.js · create_intent
import { QintClient } from "@qint/node";

const qint = new QintClient({ apiKey: process.env.QINT_API_KEY! });

// 1) Create a payment intent — price in fiat, the buyer pays in crypto
const intent = await qint.createIntent({
  amount: 124.0,
  currency: "CHF",
  title: "Order #4029",
  idempotencyKey: "order_4029",
  returnUrl: "https://shop.example.com/thanks",
});

// 2) Redirect your buyer to the hosted checkout
console.log(intent.checkoutUrl);

Ship on the platforms your merchants already use.

Qint is API-first, but you don’t have to start there. Choose the integration that fits.

Live

Hosted Payment Links

Create a link from your dashboard or via API. Send it anywhere — email, invoice, SMS — and we host the checkout.

Coming soon

Shopify

Drop-in app for Shopify merchants. Same Qint flow, native Shopify checkout UX. Coming after MVP launch.

Coming soon

POS

Point-of-sale terminal flow for in-person crypto payments with QR + live status.

Pay for what you process. Nothing else.

Transparent, transaction-based pricing. No setup fees, no monthly fees. High-volume merchants get a custom rate.

Custom

Volume-based

Tailored for high-volume, regulated and multi-region merchants.

  • Everything in Standard
  • Negotiated per-transaction rate
  • Custom payout schedule
  • Dedicated support
Talk to sales

Payout fees: CHF to a Swiss bank account is always free, with no minimum. EUR to a Swiss account, CHF to a foreign account and other foreign-currency payouts are free from the equivalent of CHF 5'000 per payout — an earlier payout costs CHF 25, deducted from it. See the payout fee sheet

Questions, answered.

Are there any setup or monthly fees?

No. Qint charges a single conversion fee per transaction. The only other charge is the payout fee below — and payouts in CHF to a Swiss bank account are always free.

Are there payout fees?

Payouts in CHF to a Swiss bank account are free, with no minimum. Payouts in EUR to a Swiss bank account, in CHF to a foreign bank account, or in another foreign currency are free once a payout reaches the equivalent of CHF 5'000 — your balance simply accumulates until then. If you need the money earlier, an early payout costs CHF 25, deducted from the payout amount. Scheduled payouts wait for the threshold and never pay this fee.

Who pays the fee?

You choose: absorb the conversion fee yourself, or pass it on to your customer at checkout.

How do payouts work?

Settled payments are credited to your balance and shown in the currency you choose. When you withdraw, the amount is converted to CHF, EUR, USD or GBP at the live rate — with no conversion fee — and sent to your bank account.

Can I negotiate the rate?

High-volume merchants can get a custom per-transaction rate — talk to us.

In which currency is my balance held?

In USDC if your business has its registered seat in the European Economic Area (EEA), and in USDT for all other merchants. The dashboard shows it in the currency you choose; a bank payout is converted at the live market rate when you request it, with no conversion fee, and crypto payouts are made in the same stablecoin as your balance.

Take your first crypto payment this week.

Spin up a sandbox key, drop in the SDK, and you’re in production by Friday.