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