API Documentation

Accept cryptocurrency payments easily and securely with our simple REST API

Version: 1.0

Introduction

The ApiCrypto API allows you to accept cryptocurrency payments simply and securely. Our API is public and does not require authentication, making integration easy.

No authentication or tokens required
Support for multiple cryptocurrencies and networks
Webhooks for real-time notifications
Automatic transfer after confirmations
Base URL: https://apicrypto.me/api/v1/

Authentication

The ApiCrypto API is public and does not require authentication. You can make requests directly to our endpoints without the need for API keys or tokens.

Important: Although authentication is not required, all requests are monitored and subject to rate limiting by IP.

Available Endpoints

Method Endpoint Description
POST /transaction/create Create new payment transaction
GET /transaction/status/{tid} Check transaction status
GET /supported/currencies List supported currencies
GET /network/status Check network status

Create Transaction

Creates a new payment transaction and returns the address where the customer should send the cryptocurrency.

POST /transaction/create

Parameters

Parameter Type Required Description
network string Yes Network (bitcoin, ethereum, bsc, polygon)
currency string Yes Currency (BTC, ETH, BNB, POL)
wallet_address string Yes Wallet address that will receive the funds
amount decimal Yes Amount to be paid
convert integer No Convert fiat to crypto (0 or 1, default: 0)
fiat_currency string No Fiat currency (USD, BRL, EUR)
include_gas integer No Include gas fee in amount (0 or 1, default: 0)
webhook_url string No URL to receive notifications

Request Example

curl -X POST https://apicrypto.me/api/v1/transaction/create \
  -H "Content-Type: application/json" \
  -d '{
    "network": "ethereum",
    "currency": "ETH",
    "wallet_address": "0x742d35Cc6634C0532925a3b844Bc9e7595f6E123",
    "amount": 0.1,
    "webhook_url": "https://yoursite.com/webhook/payment"
  }'

Success Response

{
  "success": true,
  "data": {
    "tid": "TRX9E7CCB47B8145B2B",
    "network": "ETHEREUM",
    "currency": "ETH",
    "payment_address": "0x354FECB1d5022426c678D926935F1A007B77444b",
    "amount": "0.1",
    "expires_at": "2025-07-14 18:35:05"
  }
}

Check Status

Checks the status of a specific transaction.

GET /transaction/status/{tid}

Route Parameters

Parameter Type Description
tid string Transaction ID

Request Example

curl https://apicrypto.me/api/v1/transaction/status/TRX9E7CCB47B8145B2B

Success Response

{
  "success": true,
  "data": {
    "tid": "TRX9E7CCB47B8145B2B",
    "status": "PENDING",
    "paid": "NO",
    "tx_hash": null,
    "network": "BSC",
    "currency": "BNB",
    "amount": "0.00026216",
    "created_at": "2025-07-14 18:05:05",
    "updated_at": null
  }
}

Supported Currencies

Lists all supported cryptocurrencies and their networks.

GET /supported/currencies

Request Example

curl https://apicrypto.me/api/v1/supported/currencies

Success Response

{
  "success": true,
  "data": {
    "BITCOIN": [
      {
        "symbol": "BTC",
        "name": "Bitcoin",
        "decimals": 8,
        "min_amount": "0.0001"
      }
    ],
    "ETHEREUM": [
      {
        "symbol": "ETH",
        "name": "Ethereum",
        "decimals": 18,
        "min_amount": "0.001"
      }
    ],
    "BSC": [
      {
        "symbol": "BNB",
        "name": "Binance Coin",
        "decimals": 18,
        "min_amount": "0.001"
      }
    ],
    "POLYGON": [
      {
        "symbol": "POL",
        "name": "Polygon",
        "decimals": 18,
        "min_amount": "0.1"
      }
    ]
  }
}

Network Status

Shows the operational status of all blockchain networks.

GET /network/status

Request Example

curl https://apicrypto.me/api/v1/network/status

Success Response

{
  "success": true,
  "data": {
    "BITCOIN": {
      "name": "Bitcoin",
      "status": "degraded",
      "confirmations_required": 3,
      "average_block_time": "10 minutes",
      "available_wallets": 0,
      "pending_transactions": 0
    },
    "ETHEREUM": {
      "name": "Ethereum",
      "status": "degraded",
      "confirmations_required": 12,
      "average_block_time": "12 seconds",
      "available_wallets": 0,
      "pending_transactions": 0
    },
    "BSC": {
      "name": "Binance Smart Chain",
      "status": "degraded",
      "confirmations_required": 12,
      "average_block_time": "3 seconds",
      "available_wallets": 0,
      "pending_transactions": 1
    },
    "POLYGON": {
      "name": "Polygon",
      "status": "degraded",
      "confirmations_required": 128,
      "average_block_time": "2 seconds",
      "available_wallets": 0,
      "pending_transactions": 0
    }
  }
}

Webhooks

Receive real-time notifications when a transaction status changes.

Webhook Configuration

Add the webhook_url parameter when creating a transaction:

{
  "network": "ethereum",
  "currency": "ETH",
  "wallet_address": "0x742d35Cc6634C0532925a3b844Bc9e7595f6E123",
  "amount": 0.1,
  "webhook_url": "https://yoursite.com/webhook/payment"
}

Payload Example

{
  "tid": "TRX9E7CCB47B8145B2B",
  "status": "CONFIRMED",
  "timestamp": "2025-07-14 18:15:00"
}

We will retry failed webhook calls up to 3 times.

Errors

The API returns standardized errors in JSON format.

Error Codes

Code Description
400 Bad Request - Invalid parameters
404 Not Found - Resource not found
429 Too Many Requests - Rate limit exceeded
500 Internal Server Error - Server error

Error Response Example

{
  "success": false,
  "error": {
    "code": "INVALID_PARAMETERS",
    "message": "The amount field must be greater than zero",
    "field": "amount"
  }
}

Integration Examples

PHP

<?php
// Create transaction
$data = [
    'network' => 'bsc',
    'currency' => 'BNB',
    'wallet_address' => '0x742d35Cc6634C0532925a3b844Bc9e7595f6E123',
    'amount' => 0.1,
    'webhook_url' => 'https://yoursite.com/webhook'
];

$ch = curl_init('https://apicrypto.me/api/v1/transaction/create');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
curl_setopt($ch, CURLOPT_HTTPHEADER, ['Content-Type: application/json']);

$response = curl_exec($ch);
$result = json_decode($response, true);

if ($result['success']) {
    echo "Send {$result['data']['amount']} {$result['data']['currency']} to:";
    echo $result['data']['payment_address'];
}

Rate Limits

To ensure service quality, we apply rate limits per IP:

60 requests

Per minute

50,000 requests

Per day

If you exceed the limits, you will receive a 429 Too Many Requests error. Wait before making new requests.

Need Help?

If you have questions or need support with the integration.

Loading...