Cryptocurrency adoption is accelerating, and businesses are increasingly looking for seamless ways to integrate digital assets into their payment systems. The Crypto Pay API offers a robust, developer-friendly solution for accepting crypto payments and transferring coins directly to users. Built on the foundation of Crypto Bot, this API empowers developers and businesses to create dynamic financial applications with real-time transaction capabilities.
Whether you're building an e-commerce platform, a subscription service, or a peer-to-peer marketplace, Crypto Pay API streamlines the integration of cryptocurrency transactions without compromising security or usability.
👉 Discover how to integrate secure crypto payments in minutes
Recent Updates to Crypto Pay API
Staying current with the latest features and improvements is essential for optimal performance. Here's a timeline of recent updates:
- Crypto Pay API 1.5.1 – June 16, 2025
- Crypto Pay API 1.5 – September 11, 2024
- Crypto Pay API 1.4 – June 21, 2024
- Crypto Pay API 1.3 – March 15, 2024
- Crypto Pay API 1.2 – November 24, 2023
These updates have introduced enhanced security protocols, improved response times, and expanded functionality—especially around the transfer method, which now requires explicit activation in app settings.
Note: To use the transfer method, you must create a new app via the Crypto Bot interface to ensure compatibility with the latest security standards.Getting Started: Authorizing Your Application
Before you can begin processing transactions, you’ll need to authenticate your application using an API token.
Step-by-Step Setup:
- Open @CryptoBot (or @CryptoTestnetBot for test environments).
- Navigate to Crypto Pay → Create App.
- Generate your unique API Token.
All requests to the Crypto Pay API must be sent over HTTPS. You can pass parameters using:
- URL query strings
application/jsonapplication/x-www-form-urlencodedmultipart/form-data
Include your token in the header as Crypto-Pay-API-Token.
API endpoint format: https://pay.crypt.bot/api/%method%
Example Request (Mainnet):
GET https://pay.crypt.bot/api/getMe
Headers: Crypto-Pay-API-Token: YOUR_API_TOKENThis returns basic app information if authentication succeeds.
Receiving Real-Time Updates
There are two primary ways to monitor transaction activity:
1. Polling with getInvoices
Use the getInvoices method periodically to retrieve a list of recently created invoices. Ideal for low-frequency checks or backup verification.
2. Webhooks for Instant Notifications
For real-time processing, configure Webhooks. Crypto Pay will send an HTTPS POST request to your specified URL whenever an event occurs (e.g., invoice paid, transfer completed).
Webhook payloads contain a JSON-serialized Update object and are delivered at least once per event. In case of failure, retry attempts are made before giving up.
👉 Learn how real-time crypto transaction alerts can boost your app’s reliability
Core API Methods
The Crypto Pay API supports both GET and POST HTTP methods. All responses are returned as JSON objects with the following structure:
{
"ok": true,
"result": { /* data */ }
}If ok is false, an error field explains the issue (e.g., PARAM_SHORT_NAME_REQUIRED). Always encode requests in UTF-8.
Key Methods Overview
getMe
Tests API token validity. Returns app metadata on success.
createInvoice
Generates a new payment request. Returns an Invoice object containing payment details and status.
deleteInvoice
Removes previously created invoices. Returns True on successful deletion.
createCheck / deleteCheck
Creates or deletes redeemable crypto checks (similar to gift cards). Useful for distributing funds securely.
transfer
Sends cryptocurrency from your app’s balance directly to a user’s wallet. Requires prior enablement in security settings:
- Go to Crypto Pay → My Apps → Security → Transfers
- Tap Enable
Returns a completed Transfer object upon success.
getInvoices, getTransfers, getChecks
Retrieve arrays of past transactions of each type for auditing or reconciliation.
getBalance
Fetches current balances across all supported cryptocurrencies.
getExchangeRates
Provides up-to-date exchange rates between fiat and crypto currencies—ideal for dynamic pricing.
getCurrencies
Returns a list of all supported fiat and cryptocurrency codes (e.g., BTC, ETH, USD).
getStats
Delivers detailed analytics about your app’s usage, including volume, success rate, and active users.
Understanding Response Types
Each method returns structured data types that simplify integration:
- Invoice: Contains ID, amount, currency, status, and payment URL.
- Transfer: Details recipient, amount, fee, and transaction hash.
- Check: Includes activation link, remaining uses, and expiry.
- Balance: Lists available funds per currency.
- ExchangeRate: Shows source/target currency pair and rate.
- AppStats: Aggregates key performance metrics over time.
These standardized formats make parsing and displaying data consistent across platforms.
Securing Webhook Integrations
To ensure webhook authenticity and prevent spoofing:
- Use a secret path in your webhook URL:
https://yourdomain.com/webhook/[random-string] Verify the signature using:
- Header:
crypto-pay-api-signature - Algorithm: HMAC-SHA-256
- Secret key: SHA256 hash of your API token
- Input: Raw JSON body (not parsed)
- Header:
- Optionally validate the
request_datefield (ISO 8601 format) to reject stale messages.
This dual-layer verification ensures only legitimate requests from Crypto Pay are processed.
Community Libraries & SDKs
While not officially maintained by Crypto Bot, several community-developed libraries simplify integration:
- Node.js: Lightweight wrappers for Express and Node environments.
- Python: Easy-to-use modules with full method coverage.
- .NET: Strongly-typed clients for C# developers.
- PHP: Composer-compatible packages.
- Go: High-performance HTTP clients.
Developers are encouraged to contribute bug reports or request inclusion in the official list via the Crypto Pay Developers chat.
Frequently Asked Questions
Q: Is the Crypto Pay API free to use?
A: Yes, there are no direct fees for using the API itself. However, standard blockchain network fees apply when transferring assets.
Q: Can I use the API on both testnet and mainnet?
A: Absolutely. Use @CryptoTestnetBot for testing and switch to @CryptoBot for production.
Q: How do I enable the transfer method?
A: Go to your app settings under Security → Transfers and tap Enable. This prevents unauthorized fund movements.
Q: What cryptocurrencies are supported?
A: The full list is returned by getCurrencies, but commonly includes Bitcoin (BTC), Ethereum (ETH), TON, USDT, and more.
Q: Are webhooks guaranteed delivery?
A: Webhooks are sent at least once per event. While most succeed immediately, retries occur on failure—your system should handle duplicates idempotently.
Q: How often are exchange rates updated?
A: Rates are refreshed regularly throughout the day to reflect real-time market conditions.
👉 Start building your next crypto-powered app today
Final Thoughts
The Crypto Pay API stands out as a powerful tool for developers aiming to embed cryptocurrency functionality into their services. With support for instant payments, secure transfers, real-time webhooks, and comprehensive reporting, it meets modern demands for speed, transparency, and scalability.
By leveraging this API, businesses can future-proof their platforms while offering users greater financial freedom—all within a secure and well-documented environment.
Core keywords naturally integrated: crypto pay api, accept cryptocurrency payments, transfer crypto, create invoice, webhooks, exchange rates, supported currencies, api token.