Preview. This page is a design preview — the API it documents is not wired to these examples yet.
Developers

API Reference

Integrate receivecoins.com to create payments, receive webhook confirmations, and send payouts, without building card-acquiring infrastructure.

This page is a documentation preview. Endpoints, request/response shapes, and field names below illustrate the intended API surface and are subject to change before general availability. Interactive docs with a live sandbox are coming soon.

Getting started

The receivecoins.com API is a REST API that returns JSON. Every request and response uses HTTPS. A typical integration creates a payment, redirects or embeds the returned checkout URL, and listens for a webhook once the payment confirms on-chain.

Base URL
https://api.receivecoins.com/v1

Authentication

Requests are authenticated with a secret API key, sent as a bearer token. Keys are scoped to test or live mode and are generated from the merchant panel.

Example request
curl https://api.receivecoins.com/v1/payments \
  -H "Authorization: Bearer sk_live_••••••••••••" \
  -H "Content-Type: application/json"

Create a payment

POST/v1/payments

Creates a payment request and returns a hosted checkout URL along with the payment object. The customer selects a coin and network on the checkout page.

Request body
{
  "amount": 250.00,
  "currency": "USD",
  "order_id": "100482",
  "coins": ["usdt", "usdc", "dai"],
  "webhook_url": "https://yourapp.com/webhooks/receivecoins",
  "success_url": "https://yourapp.com/orders/100482/success",
  "metadata": { "customer_id": "cus_8213" }
}
Response
{
  "id": "pay_3f8a2b1c",
  "status": "pending",
  "checkout_url": "https://pay.receivecoins.com/pay_3f8a2b1c",
  "amount": 250.00,
  "currency": "USD",
  "created_at": "2026-08-09T14:02:11Z"
}

Retrieve a payment

GET/v1/payments/{id}

Returns the current state of a payment, including the coin and network the customer selected once they reach the checkout screen.

Response
{
  "id": "pay_3f8a2b1c",
  "status": "confirmed",
  "coin": "usdt",
  "network": "TRC-20",
  "amount_received": "250.00",
  "tx_hash": "0x9a1c3f7b2e8d4a6c1f0b9e2d3a4c5e6d7f8091ab",
  "confirmed_at": "2026-08-09T14:07:44Z"
}

Webhooks

receivecoins.com sends a signed POST request to your webhook_url when a payment's status changes. Verify the Receivecoins-Signature header against your webhook signing secret before trusting the payload.

EventDescription
payment.confirmedPayment reached the required confirmations and settled.
payment.underpaidFunds received were below the requested amount.
payment.expiredNo payment was received before the checkout window closed.
payment.flaggedBlocked by risk screening, if monitoring is enabled.
payout.sentAn outbound payout was broadcast to the network.

Payouts

POST/v1/payouts

Sends funds from your receivecoins.com balance to an external wallet address. Payouts are subject to the same network confirmation rules as inbound payments.

Request body
{
  "coin": "usdc",
  "network": "ERC-20",
  "amount": "1000.00",
  "destination": "0x8f2a3Cc1B4E9d7F1a2B3c4D5e6F7089AbCdEf012"
}

Assets & networks

Currently supported coins and the networks available for each. Additional networks and assets are added as they reach production readiness.

CoinNetworks
usdtERC-20, TRC-20, Base, BNB Chain, Arbitrum One
usdcERC-20, TRC-20, Base, BNB Chain, Arbitrum One
daiERC-20, Base, Arbitrum One

Confirmations

A payment moves from pending to confirmed once it reaches the confirmation threshold for its network. Typical thresholds are higher for networks with faster block times to account for reorg risk, and are configurable per merchant.

Sandbox mode

Test API keys (sk_test_…) create payments against a simulated network, so you can build and test your integration without moving real funds. Sandbox payments can be advanced through status changes from the merchant panel.

Rate limits

Requests are limited per API key. Current defaults are generous for typical integration and polling patterns; contact us if your integration needs a higher ceiling. Rate-limited responses return 429 with a Retry-After header.

Error codes

StatusMeaning
400Malformed request or missing required field.
401Missing or invalid API key.
404Resource not found.
409Payment already in a terminal state.
429Rate limit exceeded.
500Unexpected server error. Safe to retry with backoff.