Developers

Crypto payment API

Three calls: create an invoice, read its status, read the balance. The customer pays on the payment page and you receive a webhook and USDT.

Endpoints

MethodWhat it does
POST /api/v1/paymentsCreate an invoice and get the payment page link
GET /api/v1/payments/{uuid}Status, address and transaction id
GET /api/v1/walletAvailable and frozen USDT balance

Base URL: https://api.crybit.net · JSON · 60 requests per minute · authentication: X-Public-Key and X-Private-Key headers.

Create an invoice

The only required fields are amount and currency. Pass your own order_id to match the payment with an order, and ttl_minutes to set the lifetime.

curl -X POST https://api.crybit.net/api/v1/payments \
  -H "X-Public-Key: pk_…" \
  -H "X-Private-Key: sk_…" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -d '{"amount":1490,"currency":"RUB","order_id":"ORD-1048","purpose":"Order 1048"}'

JavaScript

const invoice = await fetch('https://api.crybit.net/api/v1/payments', {
  method: 'POST',
  headers: {
    'X-Public-Key': 'pk_…',
    'X-Private-Key': 'sk_…',
    Accept: 'application/json',
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({ amount: 1490, currency: 'RUB', order_id: 'ORD-1048' }),
}).then((r) => r.json())

location.href = invoice.callback_url // the payment page

Webhooks and the widget

When an invoice is paid, CryBit calls the webhook URL of your merchant so you can release the order. To keep the customer on your site, request confirmation type embedded and open the payment form with the widget script.

Reference

FAQ

How do I authenticate?

Send the public key in X-Public-Key and the private key in X-Private-Key. Both headers are required. The merchant is identified by the public key, so no shop id is needed in the request.

Is there a test mode?

Yes. A merchant in test mode creates sandbox invoices: the payment page has a button to mark them as paid, and they do not change your balance. Switch the merchant to live to accept real transfers.

What are the limits?

The API accepts 60 requests per minute per key. The invoice amount starts at 0.01, and the lifetime is 5 to 1440 minutes.

Related