API Reference
API quick start
Create a MakePay API key and send your first server request.
Choose a team and API key
Create a MakePay API key from the MakeCrypto portal or from the API Testing tab when you are signed in. The API Testing tab loads your teams, filters MakePay API keys, opens the key-creation modal when the selected team does not have a MakePay key yet, and can send authenticated requests with the selected key ID and secret.
Base URL
All MakeCrypto partner API routes are versioned under the production origin.
https://www.makecrypto.io/api/partner/v1
For local development, use your local MakeCrypto origin with the same path structure.
Authentication
Server integrations should send a MakePay API key ID and API secret on every request. The secret is returned only when the API key is created, so keep it in a server-side secret manager and never ship it to customer browsers.
| Header | Value | Notes |
|---|---|---|
x-makecrypto-key-id | MakePay API key ID | Starts with mk_makepay_ for MakePay payment APIs. |
x-makecrypto-key-secret | One-time API secret | Shown only when the key is created. Store it in your server-side secret manager. |
First read request
Start with a read request before creating live payment links. A successful response confirms that the key ID, secret, MakePay product scope, and key-owned company are all valid.
curl "https://www.makecrypto.io/api/partner/v1/makepay/payment-links" \
-H "x-makecrypto-key-id: MAKEPAY_API_KEY_ID" \
-H "x-makecrypto-key-secret: MAKEPAY_API_SECRET" \
-H "Accept: application/json"First create request
Create payment links from your server when an order, invoice, or checkout session is ready for payment.
curl -X POST "https://www.makecrypto.io/api/partner/v1/makepay/payment-links" \
-H "x-makecrypto-key-id: MAKEPAY_API_KEY_ID" \
-H "x-makecrypto-key-secret: MAKEPAY_API_SECRET" \
-H "Content-Type: application/json" \
-d '{
"status": "active",
"sendPaymentRequestEmail": false,
"payload": {
"title": "Website order #1042",
"description": "Checkout for order #1042",
"amount": "129.99",
"fiatCurrency": "USD",
"currency": "USDT",
"orderId": "order_1042",
"customerEmail": "buyer@example.com",
"returnUrl": "https://merchant.example/orders/1042",
"successUrl": "https://merchant.example/orders/1042/success",
"failureUrl": "https://merchant.example/orders/1042/failure",
"expirationTime": "12h",
"metadata": {
"cartId": "cart_7M2V",
"source": "api"
}
}
}'Operational checklist
- Create the API key with product
makepay. - Configure the company's default destination asset before creating links.
- Store the API secret outside source control and frontend bundles.
- Treat payment-link UIDs as public identifiers, but keep internal order IDs in
payload.orderIdorpayload.metadata. - Listen for webhooks or poll the payment-link/session state from the portal until your backend webhook flow is live.