Stablecoin payments on Ethereum, Base and Solana

Accept USDC & USDT, straight to your wallet.

One-time or recurring, from anyone, anywhere. Subscriptions renew on-chain from a single approval. No chargebacks.

  • 0.5% to startOn your first $5,000
  • Non-custodialPaid straight to you
  • Open-sourceContracts on GitHub
Payment · BaseConfirmed

60.003418USDC

Received in your wallet · Jul 14, 2026 · 23:03:25 UTC

Customer paid
60.919513 USDC
Network fee
−0.002338 USDC
QBitFlow fee
−0.913757 USDC
You received
60.003418 USDC
Network
Base
Your wallet
0xdd54…1Db0
A real payment on Base. Check it on Basescan ↗ (opens in a new tab)

Security, simplicity, and transparency.

01 / 03

Security.

Nobody holds your money. Not even us.

Contract on Base 0xd916…9A76Verified on Basescan (opens in a new tab)

  • Wallet to wallet. Each payment goes from your customer's wallet to yours, in one transaction.
  • Open-source contracts. MPL-2.0, verified on Etherscan and Basescan.
  • A hard cap. A subscription can't pull more than your customer signed for.
  • Private by design. Your checkout asks only what you choose: nothing, an email, or their full details.

Check the contracts

02 / 03

Simplicity.

You focus on your product. We make sure you get paid.

  • One call. One API call creates a hosted checkout link.
  • No account for your customers. They pick the chain and coin, connect a wallet, and sign. Done.
  • Paid, then told. A signed webhook tells your server when a payment confirms.

See how it works

03 / 03

Transparency.

Every payment, open to check.

  • On-chain. Every payment is a transaction anyone can open on a block explorer.
  • 0.99%, down to 0.5%. Lower as your volume grows, split by the contract in the same transaction. No monthly fee.
  • A full accounting export. Every payment, bill and refund, with its fees and its transaction.

See the export

01 / WHERE THE MONEY GOES

Straight from their wallet to yours. We're not in the path.

1 you create a checkout link2 the customer pays with their wallet3 the contract splits the payment── money (on-chain)- - data only (no funds)

block 48,640,429 · confirmed ✓

A real payment on Base. Every value here is on-chain: check the transaction ↗ (opens in a new tab) · the contract ↗ (opens in a new tab)
  • No balance to withdraw. It's already yours.
  • No payout schedule. Settled in the same transaction.
  • Every step on-chain. Click any hash to check it.

Checkout your customers already understand. No account, just their wallet.

They pick the chain and the coin, connect their wallet and sign. Done.

Example · your customer's checkout

Example order, wallet and transaction. The checkout asks for an email or details only if you choose to.
  • Priced in dollars. They pay in the stablecoin they hold.
  • Network fees in the token they pay with. On Ethereum and Base, the first payment with a token may ask for a one-time approval, paid in ETH.
  • Their own self-serve page. Top up or cancel a subscription without emailing you.

02 / SUBSCRIPTIONS

One signature, a spending cap. No bill can go past it.

Your customer signs once, for a set number of months. The contract pulls each bill on its due date.

cancelled · nothing more can be pulled

  • One signature. Nothing to approve each month.
  • A hard cap. Never more, never past the allowance.
  • Their control. Top up or cancel from their own page.

How subscriptions work

What changes when the processor steps out. Same questions, three answers.

Card processor and QBitFlow, compared
QuestionCard processorQBitFlow
Who can pay youPartly: Customers in supported countriesYes: Anyone with a wallet
When the money is yoursNo: After the payout scheduleYes: In the same transaction
Who holds it in betweenNo: The processorYes: Nobody. It goes wallet to wallet.
ChargebacksNo: Yes, customer-initiatedYes: None. Refunds are your decision.
Subscriptions with a hard capPartly: A card on file, no capYes: One signature, never above the cap
The code that moves the moneyNo: ClosedYes: Open-source (MPL-2.0)
Can it be checkedNo: Their dashboardYes: Any block explorer

Each kind of processor as it typically works. QBitFlow's answers are its contracts'.

03 / INTEGRATION

A checkout link in one call. A webhook when it's paid.

That's the whole integration. Every other option is in the docs.

checkout.ts

const session = await client.checkoutSessions.createPayment({	productName: 'T-shirt',	description: 'Blue, size M',	priceUsd: '4.99', // USD}); // Redirect the customer to the hosted checkout page.console.log(`Redirect the customer to ${session.link}`);

webhook.ts

// Verifies each delivery's signature, then runs your handler.const router = webhooks	.router(process.env.QBITFLOW_WEBHOOK_SECRET!)	.on('payment.completed', async (payment, event) => fulfilOrder(payment.uuid, event.id)); export const POST = router.fetchHandler();

npm install qbitflow

  1. create the checkout sessionyour server → QBitFlow API
  2. redirect → session.linkyour server → the hosted checkout
  3. the customer paysfrom their wallet to yours, on-chain
  4. webhook: payment.completedQBitFlow → your server, signed

Books that reconcile to the last unit. Every payment, every fee, one export.

Export from your dashboard or the API: amounts in the coin paid and in USD, fees as the contract split them, each row linked to its transaction.

How the export works

qbitflow_2026-07-01_to_2026-09-30.csv

csv · json · 49 columns

  • payment0x42c2…3d6c ↗ (opens in a new tab)

    2026-07-14T23:03:25Z · BASE · USDC

    grossAmount
    60.917175
    platformFee
    0.913757
    organizationFee
    0.000000
    netAmount
    60.003418
    networkFeesPaidBy
    payer
    networkFees
    0.002338
  • subscriptionHistoryExample

    2026-08-01T09:00:12Z · ETH · USDC

    grossAmount
    20.000000
    platformFee
    0.200000
    organizationFee
    0.000000
    netAmount
    19.800000
    networkFeesPaidBy
    payer
    networkFees
    0.002338
  • organizationFeeExample

    2026-09-12T16:41:08Z · SOL · USDC

    grossAmount
    100.000000
    platformFee
    0.990000
    organizationFee
    9.900000
    netAmount
    89.110000
    networkFeesPaidBy
    payer
    networkFees
    0.002338
netAmount
60.003418
platformFee
0.913757
organizationFee
0.000000
grossAmount
60.917175
networkFees
0.002338

reconciled

paid by your customer, on top

  • CSV or JSON.A spreadsheet or your accounting system.
  • One row per event.Every payment, bill and refund.
  • Up to 3 months.Per export (92 days), any dates you pick.
  • Safe to open.A cell never runs as a spreadsheet formula.

MARKETPLACES

Run a marketplace? Get your cut on-chain. Automatically, on every sale.

Set a fee for each seller. The contract splits every payment as it settles: their share to them, your cut to you. Subscriptions too, bill after bill.

The seller89.11Your cut · 10%9.90QBitFlow · 0.99%0.99

Example: one 100.00 USDC sale, split in one transaction. The buyer pays the network fee on top.

How marketplace payments work

Don't take our word for it.

Every contract that moves your money is open-source. Read the code, check the deployment, follow every payment on a block explorer.

Not formally audited yet: a third-party audit is on the roadmap.

In use

4,900+ downloads of the SDKs and the plugin in the last 6 months

Read from npm, PyPI and WordPress.org · as of Nov 9, 2026

In their words

The onboarding was clear, the UI felt clean, and I never felt lost during setup. It felt simple and beginner-friendly.

Sejal A.Digital marketer · first crypto payment via QBitFlowon LinkedIn ↗ (opens in a new tab)

Questions, answered.

All questions
Is QBitFlow custodial? Do you hold my money?
No. Payments go directly from your customer's wallet to yours, through a smart contract. QBitFlow never holds your funds, not for a second.
Are QBitFlow's contracts audited?
Not yet. The contracts are open source (MPL-2.0) and source-verified on Ethereum and Base; Solana's verified build is pending. A third-party audit is on the roadmap. Because QBitFlow never holds your funds, a payment that has settled is in your wallet, whatever happens to us.
Do my customers need crypto?
They need a wallet holding a supported token: stablecoins like USDC, USDT and EURC, and others depending on the network. On Ethereum and Base, the first payment with a token also needs a little ETH, for a one-time approval.
Do I need ETH or SOL for gas fees?
The network fee is paid in the token you pay with: QBitFlow sends the payment and pays its gas, and that fee is added to the price, shown before you sign. On Ethereum or Base, the first time you pay with a given token you approve it once, a small one-time fee in ETH; after that, no ETH is needed. On Solana there is no approval step. If you pay in a native coin (ETH or SOL), your wallet pays the network fee in that coin, so keep a little on hand.
Do I need to convert crypto to fiat?
No. You receive exactly the token your customer paid: USDC stays USDC. You off-ramp when and how you choose; QBitFlow doesn't convert or hold.
What are the fees for using QBitFlow?
QBitFlow charges 0.5% on the first $5,000 ever, then 0.99% under $50,000, 0.75% from $50,000 and 0.5% from $100,000, by your live volume over the last 30 days. The fee is taken on-chain in the payment's own transaction. No setup fee, no monthly fee, nothing to withdraw. The network fee is separate: when your customer pays in a token, QBitFlow pays the chain's gas and your customer pays it back in the same token, on top of the price. On Ethereum and Base, their first payment with a token also asks for a one-time approval, paid in ETH. Paying in a native coin (ETH or SOL), their wallet pays the network fee directly.

Start accepting stablecoin payments today.

Create an account, connect your wallet, share a checkout link. Test everything with free test tokens first.