Skip to main content
Blockra is a non-custodial payment gateway. You price in a normal currency (e.g. USD), your customer pays by card or in the coin of their choice, and the money settles directly to accounts you control. Blockra never holds your funds — so there’s no balance to withdraw and nothing for us to freeze. This page explains the core concepts you need before your first API call.
One checkout takes cards and crypto. Cards run through your own Stripe account via Stripe Connect and pay out to your bank on Stripe’s schedule; coins settle to a wallet only you can spend from. The buyer picks; you are the merchant of record either way.

Non-custodial by design

You set up a wallet once in the dashboard. Blockra generates a standard BIP-39 phrase in your browser, encrypts it there under a password you choose, and sends only the derived watch-only keys to us. For every payment Blockra derives a fresh deposit address from those keys, so funds land straight in your wallet. Because a watch-only key can only watch, never spend, this is safe by construction: Blockra holds no seed, no private key and no balance, so it literally cannot move your money — see Set Up Your Wallet. The card rail is non-custodial for the same reason: charges are created on your own connected Stripe account, so the payout never passes through a Blockra balance either.

Base URL

All API requests go to:
Every response uses the same envelope: a data object on success, or an error object on failure. See Errors for the full list of error codes.

Two ways to get paid

You don’t create charges directly. Instead you create one of two things, and Blockra hosts the payment page for you:

Payment link

A reusable, shareable URL. One link, any number of customers — perfect for a product, a donation, or an invoice you send out. Fixed or buyer-chosen amount.

Checkout session

A single-use hosted page for one customer and one order. Create it server-side, redirect the buyer, and they pay once.
Both produce a hosted Blockra checkout where the customer picks a coin and pays. The payments they generate are read-only records you can fetch and list.

Payment lifecycle

Every payment moves through a predictable set of statuses:

How a payment works

1

Set up your wallet

Create or import a wallet in the dashboard, once — see Set Up Your Wallet. This is where every crypto payment will land. (For cards, connect your Stripe account instead.)
2

Create a link or a checkout session

Call POST /payment-links for a reusable link, or POST /checkout/sessions for a one-off checkout.
3

The customer pays

On the hosted page the buyer picks a coin and sees a deposit address, the exact expected_amount, and a QR code. The quote is valid for 30 minutes.
4

Blockra confirms

Once the transaction reaches the required confirmations, the payment moves to completed — and the funds are already in your wallet. A webhook fires so you can fulfil the order.

Amounts and precision

Crypto amounts are returned in two forms:
  • expected_amount — a human-readable decimal string (e.g. "0.1183"), already rounded to a payable precision. Show this to the buyer.
  • expected_amount_atoms — the exact integer amount in the asset’s smallest unit (satoshis, wei, etc.) as a string. Use this for exact programmatic comparisons.
Fiat amounts (fiat_amount) are decimal numbers in the payment’s currency.

Supported assets

Six assets across four chains. USDC and USDT are multi-chain — the buyer picks the network at checkout, and Tron is usually cheaper for them. One wallet covers every chain — the same phrase derives the Bitcoin, Litecoin, Ethereum and Tron keys, and there is nothing to enable per coin.
Tron’s confirmation target is 20 because the solidity (irreversible) node lags the full node by roughly 19 blocks. Blockra reports a Tron payment confirmed only once the deposit appears there, which is real finality rather than an optimistic count.

No per-transaction fees

Blockra is subscription-based: you pay a flat monthly plan, not a cut of every payment. On the crypto rail your customer pays exactly the invoice amount and you receive all of it, straight to your wallet. On the card rail, Stripe’s own processing fees apply on your account as normal — Blockra still takes no slice of either. The minimum payment is $0.10, or its equivalent in your pricing currency.

Next steps

Authentication

Create an API key and learn how to pass it on every request.

Accept Payments

Walk through a full integration end to end.