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.
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_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.

