Cryptopayments

Customers pay in USDT, USDC, BTC and 14 other coins on 15 networks. Every payment lands in your balance in US dollars. No blockchain know-how needed, and the keys that move funds never sit on an internet-facing server.

Private beta · 1% per payment, down to 0.5% with monthly volume · no monthly fee, free withdrawals

0lines of code to start. Just send a payment link
17coins accepted: stablecoins, BTC and native coins
2independent sources confirm every payment
15networks. Customers pay on whichever they use

New to crypto?

Three things worth knowing.

You don’t need to understand blockchains to get paid. These three are enough to start.

Priced in USD

Price swings aren’t your problem

You price in dollars and get credited in dollars. USDT, USDC and other stablecoins count 1:1; BTC and other coins are converted at a rate locked for 30 minutes.

Scan & pay

Customers pay from apps they already use

They scan the QR code in an exchange app or crypto wallet. No borders, no bank hours; most payments land in about a minute.

Final

No chargebacks

A confirmed transfer can’t be pulled back the way a card payment can, so there are no chargeback disputes. Refunds stay your call.

Ways to get paid

Start with a link. Automate later.

Use a payment link today and plug in the API when you need automation. Both feed the same balance.

No code

Payment links

Set an amount in your dashboard and get a link and a QR code. Share it in a chat, on your site or your profile; customers open it and pay.

blockwallets.io/l/pl_940219e083e7b45cea11Try it ↗
For developers

API integration

Call one endpoint at checkout and send the customer to our payment page. When the money arrives we notify your server, so orders ship and balances top up on their own.

How money arrives

From checkout to your balance, in four steps.

You start the payment and wait for the money. Addresses, watching the chain, double-checking and notifying your system are on us.

  1. 1

    You request a payment

    Send the amount and your order number; with a payment link the dashboard does it for you. The same order number twice still makes one bill.

  2. 2

    The customer scans and pays

    On our hosted payment page they pick a coin and network and scan. Every order gets its own address, so payments match orders without memos.

  3. 3

    We make sure it really arrived

    We check the chain every minute and wait for enough confirmations, then a second, independent data source must see the same transfer. Faked payments don’t get through.

  4. 4

    The money is yours

    It’s credited to your balance in dollars, and you can request a withdrawal any time (each is reviewed by a person; a new payout address waits 24 hours before its first payout). With the API, your server gets a signed notification at the same moment, retried for about two and a half days if it’s down.

Is my money safe?

0 private keys on internet-facing servers. The keys that move funds stay in an isolated signing environment.

Our online servers hold only a read-only key: they can create receiving addresses and see balances, but can’t send anything. The keys that move funds are used only in a signing environment kept apart from our online services. Sweeps only go to fixed cold-wallet addresses; payouts to merchants are approved by a person and only go to the merchant’s registered withdrawal address.

Online, it can only receive

Servers hold only a read-only key (xpub). A private key pasted in by mistake is refused.

Your addresses are locked

Receiving wallets are pinned in the deployment config; neither the dashboard nor the database can change them.

Two sources must agree

A payment counts only when two independent data sources both see it. One bad node can’t fake it.

Your money doesn’t have to stay

Request a withdrawal any time, or set requests to open automatically at a balance you choose or every day. Each is reviewed by a person, a new payout address waits 24 hours before its first payout, and every payout shows its on-chain record.

Restricted destinations

Transactions that move funds are signed in an environment isolated from the online services. Sweeps only go to fixed cold-wallet addresses; payouts to merchants are approved by a person and only go to the merchant’s registered withdrawal address.

Stops rather than gambles

If any safeguard is missing, that network pauses payments.

Developers

Two pieces of code. That’s the integration.

Create a payment and get a payment page link; receive a notification, check the signature, ship. Try it free on testnets first.

  • Just two calls

    Create with an amount and order number; verify the notification and ship by order number.

  • Free on testnets

    Test credentials run on public testnets, and the payment page has a “simulate payment” button.

  • Retries are safe

    The same order_id always returns the same bill.

  • Coming from another gateway?

    Compatible APIs for Cryptomus, NOWPayments and Coinbase Commerce: same paths, parameters, signatures and webhooks. Swap the domain and keys.

Full integration guide →
import crypto from "node:crypto";const body = JSON.stringify({  order_id: "order_1042",       // idempotency key  amount: "42.00",              // any amount, in USD  currency: "USD",  url_callback: "https://shop.example.com/webhooks/crypto",});const sign = crypto.createHash("md5")  .update(Buffer.from(body).toString("base64") + process.env.BW_API_KEY)  .digest("hex");const res = await fetch("https://blockwallets.io/v1/payment", {  method: "POST",  headers: {    merchant: process.env.BW_MERCHANT,    sign,    "content-type": "application/json",  },  body,});return redirect((await res.json()).result.url);

Copy one prompt into your AI

Paste it into ChatGPT, Claude, Cursor or any coding assistant. It reads our docs, gets the test flow working on testnets, then hands you an acceptance checklist.

Generate a prompt for your stack →
Integrate blockwallets crypto payments into my project.

1. First read https://blockwallets.io/llms-full.txt and https://blockwallets.io/agents.md. Follow them over anything you remember about other payment gateways.
2. Start with test credentials on testnets (test mode in the blockwallets dashboard; the payment page has a "simulate payment" button). Don't touch live keys until the whole test flow passes.
3. Create a payment with POST https://blockwallets.io/v1/payment (amount, currency "USD", order_id, url_callback) and send the customer to result.url.
4. Verify every webhook before trusting it: remove "sign", JSON-encode the rest with every "/" escaped as "\/" and non-ASCII characters left as they are (like PHP json_encode($data, JSON_UNESCAPED_UNICODE)), base64 it, append the API key, take the md5 hex and compare it with "sign".
5. Treat status "paid" and "paid_over" as paid. The same order_id always returns the same invoice, so retries are safe; credit each order only once.
6. Keep the merchant ID and API key in environment variables, never in code.

When you're done, give me this acceptance checklist with each item checked or explained:
- [ ] A test payment is created and result.url opens the payment page
- [ ] "Simulate payment" delivers a webhook and its signature verifies
- [ ] A webhook with a tampered body or sign is rejected
- [ ] The order is marked paid exactly once, even if the webhook arrives again
- [ ] Credentials come from environment variables
- [ ] What I need to change to go live

Networks

Whatever they pay with, you get dollars.

Stablecoins are credited at par, with no exchange rate or spread. BTC, LTC and native coins are quoted at a rate locked for 30 minutes.

NetworkCoinsArrives inMinimum
TRON
USDTTRX
~1 min$1.00
BNB Smart Chain
USDTUSDCUSD1FDUSDBNB
~1 min$1.00
Ethereum
USDTUSDCDAIETH
~1–18 min$5.00
Base
USDCDAIETH
~1–25 min$1.00
Polygon PoS
USDTUSDCPOL
~1 min$1.00
Arbitrum One
USDTUSDCDAIETH
~1–30 min$1.00
OP Mainnet
USDTUSDCETH
~1–25 min$1.00
Avalanche C-Chain
USDTUSDCAVAX
~1 min$1.00
X Layer
USDTUSDCOKB
~1–20 min$1.00
Dogecoin
DOGE
~1–40 min$1.00
Solana
USDTUSDCSOL
~1 min$1.00
TON
USDTTON
~1 min$1.00
Litecoin
LTC
~3–15 min$1.00
Bitcoin
BTC
~10–30 min$5.00
Bitcoin Cash
BCH
~10–60 min$1.00

Highlighted coins are stablecoins, each credited 1:1 as US dollars. The shorter time is for payments under $1,000. From $1,000, and again from $5,000, we wait for more confirmations, so larger payments take up to the longer time.

Pricing

Per payment only. Cheaper as you grow.

One set of tiers for every merchant, lowered automatically by last month’s volume. Nothing to negotiate.

1%per payment

Down to 0.5%. The customer pays the network fee.

No monthly feeNo setup feeFree withdrawalsNo minimum volume

FAQ

Short answers.

Which coins can I accept?

17 coins on 15 networks: USDT, USDC, USD1, FDUSD, DAI, BTC, LTC, DOGE, BCH and the native coins TRX, BNB, ETH, POL, AVAX, OKB, SOL, TON. Networks: TRON, BNB Smart Chain, Ethereum, Base, Polygon PoS, Arbitrum One, OP Mainnet, Avalanche C-Chain, X Layer, Dogecoin, Solana, TON, Litecoin, Bitcoin, Bitcoin Cash. Stablecoins are credited 1:1 in US dollars; other coins are converted at a rate locked for 30 minutes.

How much does it cost?

1% per payment, lowered automatically by last month’s volume: 0.9% from $50,000, down to 0.5%. No monthly or setup fee, free withdrawals. The customer pays the network fee.

Do I need to understand blockchains?

No. Enter an amount in the dashboard to get a payment link and QR code; customers scan and pay, and the money lands in your balance in US dollars. blockwallets handles addresses, confirmations and reconciliation.

How do I withdraw?

Request a withdrawal to your own wallet from the dashboard at any time, or have requests opened automatically once your balance reaches an amount you choose, or every day. Each one is reviewed by a person, and a new payout address waits 24 hours before its first payout. Withdrawals are free and each shows its on-chain transaction.

Where are the private keys?

The keys that can move funds are never on a server that serves the public: they are used only in a signing environment isolated from the online services. Sweeps only go to fixed cold-wallet addresses; payouts to merchants are approved by a person and only go to the merchant’s registered withdrawal address. Internet-facing servers hold only a read-only public key (xpub): they can create receiving addresses and read balances, but cannot send funds.

What changes when moving from Cryptomus, NOWPayments or Coinbase Commerce?

Only the API domain and the keys. We have a compatible API for each of the three: paths, parameters, the signature algorithm and the webhook format match the original, so your code stays the same.

Is there a test mode?

Yes. Test mode has its own credentials on public testnets, and the payment page has a “simulate payment” button, so you can run payment creation, payment, webhook and signature checks without real money.

Get
started.

We’re opening blockwallets to merchants gradually. Tell us a little about your business and we’ll email you to set up your account. New to crypto? Ask anything in the notes.

Fees: 1% per payment, dropping to 0.9% once last month’s volume reaches $50,000, and down to 0.5% as you grow. See pricing →

  1. 1We read every request and reply by email.
  2. 2Once approved, try everything in test mode with no real money.
  3. 3Go live when you’re happy. Request withdrawals any time.
Expected monthly sales
Networks you needskip if unsure

We only use your email to talk to you about access.