CryptoLins provides a REST API that proxies crypto payments through our enterprise Cryptomus merchant account. Each registered user gets their own API key and secret. Requests are authenticated via custom HTTP headers.
API is live. No approval required to start receiving payments.
Authentication
Every request requires two HTTP headers. Generate them in your dashboard. The secret is shown only once when generated — store it in an environment variable.
Header
Description
X-CryptoLins-Key
Your 32-character hex API key.
X-CryptoLins-Secret
Your 64-character hex API secret (raw, never hashed by you).
Content-Type
Must be application/json
Security Warning: Never expose your API Secret in frontend or client-side code. All API calls must be made server-side.
How Signing Works
Internally, CryptoLins signs each request to Cryptomus using md5(base64_encode(json_encode($payload)) . $paymentApiKey). This is done transparently — you never touch the master API key or the signing logic.
PHP — Platform handles this automatically
// Platform does this for you internally:$data = json_encode($payload);
$sign = md5(base64_encode($data) . $cryptomus_payment_api_key);
// Headers sent to Cryptomus:// merchant: YOUR_CRYPTOMUS_UUID// sign: $sign
POST
/payment
Creates a payment invoice via Cryptomus. Returns a url to redirect your customer to the Cryptomus-hosted payment page.
Request Body
Field
Type
Required
Notes
amount
string
Yes
Numeric string. e.g. "10.50"
currency
string
Yes
USD, EUR, USDT, BTC, ETH, LTC, TRX…
order_id
string
No
Alphanumeric + dash/underscore. Auto-generated if omitted.
When invoice status changes on Cryptomus, our server receives the event, verifies the signature, updates your invoice in the database, and forwards the payload to your url_callback with the original order_id restored.
After creating an invoice with url_callback, your server receives a POST request whenever payment status changes. Respond with HTTP 200 to acknowledge.