> ## Documentation Index
> Fetch the complete documentation index at: https://docs.blockra.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Blockra: Accept Crypto Payments via REST API Overview

> Blockra is a crypto payment gateway. Create a charge, show the buyer a deposit address, and receive net fiat once the payment confirms on-chain.

Blockra is a crypto payment gateway that bridges fiat pricing and crypto settlement. You specify the amount you want to charge in a fiat currency (e.g. USD), Blockra locks the live exchange rate, generates a unique deposit address, monitors the blockchain, and credits your balance once the required confirmations arrive. This page explains the core concepts you need before making your first API call.

## Base URL

All API requests go to:

```text theme={null}
https://api.blockra.io
```

<Note>
  Every response uses the same envelope: a `data` object on success, or an `error` object on failure. See [Errors](/errors) for the full list of error codes.
</Note>

## Payment lifecycle

Every payment moves through a predictable set of statuses:

| Status      | Description                                          |
| ----------- | ---------------------------------------------------- |
| `pending`   | Payment created, waiting for the buyer to send funds |
| `detected`  | Funds seen on-chain, awaiting required confirmations |
| `completed` | Payment confirmed; your balance has been credited    |
| `overpaid`  | Buyer sent more than the expected amount             |
| `underpaid` | Buyer sent less than the expected amount             |
| `expired`   | The 30-minute quote window elapsed with no payment   |
| `failed`    | Payment failed for another reason                    |
| `cancelled` | Payment was cancelled                                |

## How a payment works

<Steps>
  <Step title="Create a payment or checkout session">
    Call [`POST /payments`](/api-reference/create-payment) with the fiat amount and the coin, or [`POST /checkout/sessions`](/api-reference/create-checkout-session) for a hosted checkout page where the buyer picks the coin.
  </Step>

  <Step title="The buyer pays">
    Blockra returns a deposit `address`, the exact `expected_amount`, and a `qr_data` string. Display these to the buyer. The quote is valid for 30 minutes.
  </Step>

  <Step title="Blockra settles">
    Once the transaction reaches the required confirmations, the payment moves to `completed` and your merchant balance is credited the **net** amount — the total minus the Blockra fee.
  </Step>

  <Step title="You withdraw">
    Withdraw your available balance to an external wallet any time from the [dashboard](https://app.blockra.io).
  </Step>
</Steps>

## 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`, `fee_fiat`, `net_fiat`) are decimal numbers in the payment's currency.

## Supported assets

| Asset | Network  | Smallest unit | Decimals |
| ----- | -------- | ------------- | -------- |
| BTC   | Bitcoin  | satoshi       | 8        |
| LTC   | Litecoin | litoshi       | 8        |
| ETH   | Ethereum | wei           | 18       |
| USDC  | Ethereum | micro-USDC    | 6        |
| USDT  | Ethereum | micro-USDT    | 6        |

## Fees

Blockra charges a fee on each payment, and a small fee on withdrawals:

|                     | Fee                |
| ------------------- | ------------------ |
| Per payment         | **1.25% + \$0.10** |
| Withdrawal (payout) | **0.5%**           |

The payment fee is deducted from the amount charged — your balance is credited the net (`net_fiat = fiat_amount − fee_fiat`). On withdrawal, Blockra deducts the 0.5% payout fee plus the on-chain network fee, then sends the remainder to your external wallet.

The minimum payment is **\$1**, or its equivalent in your pricing currency.

## Next steps

<CardGroup cols={2}>
  <Card title="Authentication" icon="key" href="/authentication">
    Create an API key and learn how to pass it on every request.
  </Card>

  <Card title="Accept Payments" icon="circle-dollar-to-slot" href="/guides/accept-payments">
    Walk through a full payment integration end to end.
  </Card>
</CardGroup>
