Overview
Crypto PayX is a comprehensive cryptocurrency payment solution designed for Payment Aggregators and Merchants. It enables secure deposits and payments using digital currencies, offering features like:
- Crypto payments
- Crypto withdrawals
Base URL
The base URL for all API endpoints is:
https://api.cryptopayx.tech
HTTP Methods
The API follows RESTful design patterns using these methods:
GET: Retrieve resourcesPOST: Create new resourcesPUT: Update existing resourcesDELETE: Remove resources
Request Parameters
Arguments can be passed via:
- URL parameters
- JSON payload with
application/jsonheader
Time Formats
All timestamps use milliseconds since UNIX epoch.
Response Data
- Data is sorted chronologically (newest first)
GETparameters must be sent as query strings- Other methods can use query strings or JSON bodies
- Mixed parameters are allowed
- Query string parameters take precedence over body parameters
Postman Integration
We provide Postman collections for easy testing:
HTTP Status Codes
| Code | Description |
|---|---|
| 200 | Successful request |
| 201 | Resource created |
| 400 | Bad request |
| 401 | Unauthorized |
| 404 | Resource not found |
| 500 | Server error |
Authentication
API Keys
Access requires API key/secret pairs generated through the Client Area (Security settings). Key management includes:
- Creation of new keys
- Key deletion
- Key rotation
// C# Authentication Example
using System.Security.Cryptography;
using System.Text;
using Newtonsoft.Json;
var apiKey = "YOUR_API_KEY";
var apiSecret = "YOUR_API_SECRET";
var client = new HttpClient {
BaseAddress = new Uri("https://api.cryptopayx.tech")
};
// Request setup
var path = "/v1/test-api";
var requestBody = JsonConvert.SerializeObject(new { test = "value" });
var request = new HttpRequestMessage() {
Method = HttpMethod.Post,
Content = new StringContent(requestBody, Encoding.UTF8, "application/json"),
RequestUri = new Uri(path, UriKind.Relative)
};
// Generate signature
using HMACSHA256 hmac = new HMACSHA256(Convert.FromBase64String(apiSecret));
using var sha256 = SHA256.Create();
var contentHash = Convert.ToBase64String(sha256.ComputeHash(Encoding.UTF8.GetBytes(requestBody)));
var timestamp = DateTimeOffset.Now.ToUnixTimeMilliseconds();
var signatureString = $"{timestamp}{request.Method}{path}{contentHash}";
var signatureHash = hmac.ComputeHash(Encoding.UTF8.GetBytes(signatureString));
// Add headers
request.Headers.Add("CRYPTO-PAY-API-KEY", apiKey);
request.Headers.Add("CRYPTO-PAY-API-SIGN", Convert.ToBase64String(signatureHash));
request.Headers.Add("CRYPTO-PAY-API-TIMESTAMP", timestamp.ToString());
// Execute request
var response = await client.SendAsync(request);Sandbox Environment
For testing purposes, use:
https://api.sandbox.cryptopayx.tech
Sandbox Features
- Emulates real API functionality
- Uses separate credentials
- Supports all payment intent scenarios
- No real funds required
Payment Intents
Payment intents facilitate crypto deposits with these key features:
- Currency conversion capabilities
- Multiple deposit flows
- Automated retry logic
- Comprehensive status tracking
Payment Intent Statuses
| Status | Description | Threshold | Conversion |
|---|---|---|---|
| Pending | Awaiting deposit | N/A | N/A |
| Completed | Successful completion | Satisfied | N/A |
| Partially Completed | Partial amount received | Satisfied | N/A |
| Manual Action Required | Action needed | Not satisfied | Varies |
| Failed | Unsuccessful completion | N/A | N/A |
Payment Methods
1. API Integration
Direct integration using REST endpoints for maximum flexibility.
2. Iframe Integration
Embeddable payment interface for quick implementation.
3. Payment Links
Shareable links for one-time payments (valid for 5 days).
Conversion Options
Customizable conversion rules:
- Disable conversion entirely
- Convert to specific currencies
- Virtual fiat currency support (SAR, AED, INR, EGP, QAR)
FAQ
How do I get API credentials?
Credentials can be generated in the Client Area under Security Settings. Contact support if you need Sandbox access.
What's the payment intent timeout?
Payment intents expire after 30 seconds with no deposit.
Can I reuse deposit addresses?
Single-address mode is available upon request for merchants needing permanent addresses.
How are refunds handled?
Failed payments can be refunded manually or via automated refund links valid for 120 hours.
What currencies are supported?
We support major cryptocurrencies and fiat currencies including virtual fiats for regional compliance.
👉 Explore Crypto PayX Documentation
👉 Get Started with Crypto Payments