# Flashift API Docs > Flashift API Documentation This file contains all documentation content in a single document following the llmstxt.org standard. ## Create Transaction ```js POST createTransaction ``` You can create a new transaction. ## HTTP Request ```text https://interfacev2.flashift.app/api/dev/v2/createTransaction ``` ## Request ### Header Parameters | Name | Type | Required | Description |----------------|-----------------------|----------|------------ | Authorization | string | Yes | Your API Key | Accept | string | Yes | Set this to `application/json` ### Body Parameters | Name | Type | Required | Description |---------------|-----------------------|----------|------------ | provider_name | string | Yes | The name of the exchange provider. | symbol_from | string | Yes | The symbol you are exchanging from (e.g., BTC). | network_from | string | Yes | The network you are exchanging from (e.g., BTC). | symbol_to | string | Yes | The symbol you are exchanging to (e.g., USDT). | network_to | string | Yes | The symbol you are exchanging to (e.g., ETH). | to_address | string | Yes | The recipient's address for the target currency. | to_extra_id | string | Optional | An additional identifier required by some currencies (e.g., destination tag for XRP). | amount | string | Yes | The amount of the currency you are exchanging from. | fixed | boolean | Yes | Indicates whether the exchange rate is fixed or floating. ```json title="application/json" { "provider_name": "Exolix", "symbol_from": "btc", "network_from": "btc", "symbol_to": "usdt", "network_to": "eth", "to_address": "0x1f9090aaE28b8a3dCeaDf281B0F12828e676c326", "to_extra_id": "", "amount": "0.1", "fixed": false } ```
Example with Extra ID ```json title="application/json" { "provider_name": "Exolix", "symbol_from": "btc", "network_from": "btc", "symbol_to": "xrp", "network_to": "xrp", "to_address": "rGrvdFfjLxMb7L6s8toi5tEeEtHgP9QDMy", "to_extra_id": "3002133", "amount": "0.1", "fixed": false } ```
```bash curl --location --request POST 'https://interfacev2.flashift.app/api/dev/v2/createTransaction' \ --header 'Authorization: {{apiKey}}' \ --header 'Accept: application/json' \ --data-raw '{ "provider_name": "Exolix", "symbol_from": "btc", "network_from": "btc", "symbol_to": "xrp", "network_to": "xrp", "to_address": "rGrvdFfjLxMb7L6s8toi5tEeEtHgP9QDMy", "to_extra_id": "3002133", "amount": "0.1", "fixed": false }' ``` ```py # Define the API URL url = 'https://interfacev2.flashift.app/api/dev/v2/createTransaction' # Define the headers, including the API key headers = { 'Authorization': '{{apiKey}}', 'Content-Type': 'application/json', # Ensure the correct content type is set 'Accept': 'application/json' # Add Accept header to specify the response format } # Define the JSON payload data = { "provider_name": "Exolix", "symbol_from": "btc", "network_from": "btc", "symbol_to": "xrp", "network_to": "xrp", "to_address": "rGrvdFfjLxMb7L6s8toi5tEeEtHgP9QDMy", "to_extra_id": "3002133", "amount": "0.1", "fixed": False } # Send the POST request with headers and JSON data response = requests.post(url, headers=headers, json=data) # Check if the request was successful if response.status_code == 200: # Print the JSON response print(response.json()) else: print(f"Failed to create transaction. Status code: {response.status_code}") ``` ```js // Define the API URL const url = 'https://interfacev2.flashift.app/api/dev/v2/createTransaction'; // Define the headers, including the API key const headers = new Headers({ 'Authorization': '{{apiKey}}', 'Content-Type': 'application/json', // Ensure the correct content type is set 'Accept': 'application/json' // Add Accept header to specify the response format }); // Define the JSON payload const data = { provider_name: "Exolix", "symbol_from": "btc", "network_from": "btc", "symbol_to": "xrp", "network_to": "xrp", to_address: "rGrvdFfjLxMb7L6s8toi5tEeEtHgP9QDMy", to_extra_id: "3002133", amount: "0.1", fixed: false }; // Send the POST request with headers and JSON data fetch(url, { method: 'POST', headers: headers, body: JSON.stringify(data) }) .then(response => { if (response.ok) { return response.json(); } else { throw new Error(`Failed to create transaction. Status code: ${response.status}`); } }) .then(data => { // Print the JSON response console.log(data); }) .catch(error => { console.error('Error:', error); }); ```
## Response ### Sample Response ```json title="application/json" { "status": "OK", "exchange_id": "Exolix_floating_XXXXXXX" } ``` ### Response Parameters | Name | Type | Description |--------------|-----------------------|------------ | status | string | The status of the transaction (e.g., "OK" if successful) | exchange_id | string | The unique identifier for the created exchange transaction ### Error codes | Code | Description |------------|------------- | 429 | This means you've already reached the API limit. If you need an increased rate limit, please contact affiliate@flashift.app, or you can wait until the limit is reset. | 500 | There is an error on the server side. --- ## Get Currencies ```js GET getCurrencies ``` You can retrieve a list of cryptocurrencies. ## HTTP Request ```text https://interfacev2.flashift.app/api/dev/v2/getCurrencies ``` ## Request ### Header Parameters | Name | Type | Required | Description | |----------------|--------|----------|---------------------------------| | Authorization | string | Yes | Your API Key | | Accept | string | Yes | Set this to `application/json` | ```bash curl --location --request GET 'https://interfacev2.flashift.app/api/dev/v2/getCurrencies' \ --header 'Authorization: {{apiKey}}' \ --header 'Accept: application/json' ``` ```py # Define the API URL url = 'https://interfacev2.flashift.app/api/dev/v2/getCurrencies' # Define the headers, including the API key headers = { 'Authorization': '{{apiKey}}', 'Accept': 'application/json' # Ensure the correct content type is set } # Send the GET request response = requests.get(url, headers=headers) # Check if the request was successful if response.status_code == 200: # Print the JSON response print(response.json()) else: print(f"Failed to retrieve data. Status code: {response.status_code}") ``` ```js // Define the API URL const url = 'https://interfacev2.flashift.app/api/dev/v2/getCurrencies'; // Define the headers, including the API key and Accept header const headers = new Headers({ 'Authorization': '{{apiKey}}', 'Accept': 'application/json' // Ensure the correct content type is set }); // Send the GET request fetch(url, { headers }) .then(response => { if (response.ok) { return response.json(); } else { throw new Error(`Failed to retrieve data. Status code: ${response.status}`); } }) .then(data => { // Print the JSON response console.log(data); }) .catch(error => { console.error('Error:', error); }); ``` ## Response ### Sample Response ```json title="application/json" [ { "symbol": "rlusd", "network": "eth", "fullname": "Ripple USD", "image": "https://static.flashift.app/image/coin/L1utwQyBQ/rlusd.png", "memo": false, "explorer": "https://blockchair.com/ethereum/transaction/" }, { "symbol": "rlusd", "network": "xrp", "fullname": "Ripple USD", "image": "https://static.flashift.app/image/coin/L1utwQyBQ/rlusd.png", "memo": true, "explorer": "https://blockchair.com/xrp-ledger/transaction/" }, { "symbol": "paxg", "network": "eth", "fullname": "PAX Gold", "image": "https://static.flashift.app/image/coin/YRTkUcMi/paxg.svg", "memo": false, "explorer": "https://blockchair.com/ethereum/transaction/" }, { "symbol": "wlfi", "network": "eth", "fullname": "World Liberty Financial", "image": "https://static.flashift.app/image/coin/gbTmiRLbC/wlfi.PNG", "memo": false, "explorer": "https://blockchair.com/ethereum/transaction/" } ] ``` ### Response Parameters array of ```currency``` | Name | Type | Description |------------|-----------------------|------------ | symbol | string | The symbol of the currency. | network | string | The network of the currency. | fullname | string | The full name of the currency. | image | string | The URL of the image for the currency. | memo | boolean | Indicates whether a memo is required for the currency. | explorer | string | The URL of the block explorer for the currency. ### Error codes | Code | Description |------------|------------- | 429 | This means you’ve already reached the API limit. If you need an increased rate limit, please contact affiliate@flashift.app, or you can wait until the limit is reset. | 500 | There is an error on the server side. --- ## Get Estimated Amount ```js GET getEstimatedAmount ``` This endpoint allows you to estimate the amount received when exchanging between two currencies. ## HTTP Request ```text https://interfacev2.flashift.app/api/dev/v2/getEstimatedAmount ``` ## Request ### Header Parameters | Name | Type | Required | Description |------------|-----------------------|----------|------------ | Authorization | string | Yes | Your API Key | Accept | string | Yes | Set this to `application/json` ### Request Parameters | Name | Type | Required | Description |----------------|-----------------------|----------|------------ | symbol_from | string | Yes | The symbol you are exchanging from (e.g., BTC) | network_from | string | Yes | The network you are exchanging from (e.g., BTC) | symbol_to | string | Yes | The symbol you are exchanging to (e.g., XMR) | network_to | string | Yes | The network you are exchanging to (e.g., XMR) | amount | string | Yes | The amount of the currency you are exchanging from ```bash curl --location --request GET 'https://interfacev2.flashift.app/api/dev/v2/getEstimatedAmount?symbol_from=btc&network_from=btc&symbol_to=xmr&network_to=xmr&amount=0.1' \ --header 'Authorization: {{apiKey}}' \ --header 'Accept: application/json' ``` ```py # Define the API URL with query parameters url = 'https://interfacev2.flashift.app/api/dev/v2/getEstimatedAmount' # Define the query parameters params = { 'symbol_from': 'btc', 'network_from': 'btc', 'symbol_to': 'xmr', 'network_to': 'xmr', 'amount': 0.1 } # Define the headers, including the API key and Accept header headers = { 'Authorization': '{{apiKey}}', 'Accept': 'application/json' # Ensure the correct content type is set } # Send the GET request with parameters and headers response = requests.get(url, headers=headers, params=params) # Check if the request was successful if response.status_code == 200: # Print the JSON response print(response.json()) else: print(f"Failed to retrieve data. Status code: {response.status_code}") ``` ```js // Define the API URL with query parameters const url = 'https://interfacev2.flashift.app/api/dev/v2/getEstimatedAmount'; // Define the query parameters const params = new URLSearchParams({ 'symbol_from': 'btc', 'network_from': 'btc', 'symbol_to': 'xmr', 'network_to': 'xmr', amount: 0.1 }); // Define the headers, including the API key and Accept header const headers = new Headers({ 'Authorization': '{{apiKey}}', 'Accept': 'application/json' // Ensure the correct content type is set }); // Send the GET request with parameters and headers fetch(`${url}?${params.toString()}`, { headers }) .then(response => { if (response.ok) { return response.json(); } else { throw new Error(`Failed to retrieve data. Status code: ${response.status}`); } }) .then(data => { // Print the JSON response console.log(data); }) .catch(error => { console.error('Error:', error); }); ``` ## Response ### Sample Response ```json title="application/json" { "message": "OK", "data": [ { "provider_name": "EasyBit", "exchange_type": "floating", "amount": "9707.965197", "min_amount": "0.0004", "max_amount": "61.45", "tags": [ "Recommended", "AI Best Rate", "Best Rate" ] }, { "provider_name": "Exolix", "exchange_type": "floating", "amount": "9671.93507", "min_amount": "0.00050126", "max_amount": null, "tags": [ "Best In KYC" ] } ] } ``` ### Response Parameters | Name | Type | Description |------------|-----------------------|------------ | message | string | A message indicating the status of the request. | data | array of ```exchange``` | An array containing exchange information. ```exchange``` schema: | Name | Type | Description |--------------|-----------------------|------------ | provider_name| string | The name of the exchange provider. | exchange_type| string | The type of exchange rate (e.g., ``floating``, ``fixed``). | amount | string | The estimated amount received in the target currency. | min_amount | string | The minimum amount allowed for the exchange. | max_amount | string | The maximum amount allowed for the exchange. | tags | array of string | Tags associated with the exchange, such as "Recommended" or "Best Rate". ### Messages | Message | Description |------------|------------- | OK | The request was successful, and the response contains the expected data. | Pair is not valid | The provided currency pair is not supported or invalid. | Minimum amount problem | The specified amount is below the minimum allowed limit. ### Error codes | Code | Description |------------|------------- | 429 | This means you’ve already reached the API limit. If you need an increased rate limit, please contact affiliate@flashift.app, or you can wait until the limit is reset. | 500 | There is an error on the server side. --- ## Get Transaction Info ```js GET getTransactionInfo ``` You can retrieve a transaction information. ## HTTP Request ```text https://interfacev2.flashift.app/api/dev/v2/getTransactionInfo ``` ## Request ### Header Parameters | Name | Type | Required | Description |------------|-----------------------|----------|------------ | Authorization | string | Yes | Your API Key | Accept | string | Yes | Set this to `application/json` ### Request Parameters | Name | Type | Required | Description |---------------|-----------------------|----------|------------ | exchange_id | string | Yes | The unique identifier for the exchange transaction ```bash curl --location --request GET 'https://interfacev2.flashift.app/api/dev/v2/getTransactionInfo?exchange_id=FixedFloat_floating_XXXX' \ --header 'Authorization: {{apiKey}}' \ --header 'Accept: application/json' ``` ```py # Define the API URL with query parameters url = 'https://interfacev2.flashift.app/api/dev/v2/getTransactionInfo' # Define the query parameters params = { 'exchange_id': 'FixedFloat_floating_XXXX' # Replace with the actual exchange_id } # Define the headers, including the API key and Accept header headers = { 'Authorization': '{{apiKey}}', # Replace with your actual API key 'Accept': 'application/json' # Ensure the correct content type is set } # Send the GET request with parameters and headers response = requests.get(url, headers=headers, params=params) # Check if the request was successful if response.status_code == 200: # Print the JSON response print(response.json()) else: print(f"Failed to retrieve transaction info. Status code: {response.status_code}") ``` ```js // Define the API URL with query parameters const url = 'https://interfacev2.flashift.app/api/dev/v2/getTransactionInfo'; // Define the query parameters const params = new URLSearchParams({ exchange_id: 'FixedFloat_floating_XXXX' // Replace with the actual exchange_id }); // Define the headers, including the API key and Accept header const headers = new Headers({ 'Authorization': '{{apiKey}}', // Replace with your actual API key 'Accept': 'application/json' // Ensure the correct content type is set }); // Send the GET request with parameters and headers fetch(`${url}?${params.toString()}`, { headers }) .then(response => { if (response.ok) { return response.json(); } else { throw new Error(`Failed to retrieve transaction info. Status code: ${response.status}`); } }) .then(data => { // Print the JSON response console.log(data); }) .catch(error => { console.error('Error:', error); }); ``` ## Response ### Sample Response ```json title="application/json" { "symbol_from": "btc", "network_from": "btc", "symbol_to": "usdt", "network_to": "eth", "amount_from": "0.1", "amount_to": "6403.14", "address_from": "bc1qdej29kmxzerep8tae9pz3hmpp86nxe8txvg50u", "address_to": "0x1f9090aaE28b8a3dCeaDf281B0F12828e676c326", "address_refund": null, "status": "overdue", "hash_from": null, "hash_to": null, "created_at": 1787078231, "extra_from": null, "extra_to": null, "extra_refund": null } ``` ### Exchange Status | Status | Description | |-------------|-----------------------------------| | waiting | The transaction is waiting to be processed. | | confirming | The transaction is being confirmed. | | exchanging | The transaction is in the process of exchanging currencies. | | sending | The transaction is being sent. | | finished | The transaction has been completed successfully. | | failed | The transaction has failed. Please contact `support@flashift.app` | | refunded | The transaction has been refunded. | ### Response Parameters | Name | Type | Description | |--------------|----------|--------------------------------------------------| | symbol_from| string | The symbol being exchanged from. | | network_from| string | The network being exchanged from. | | symbol_to | string | The symbol being exchanged to. | | network_to| string | The network being exchanged from. | | amount_from | string | The amount of currency being exchanged from. | | amount_to | string | The amount of currency being exchanged to. | | address_from | string | The address from which the currency is sent. | | extra_from | string | Additional information for the sending address. | | address_to | string | The address to which the currency is sent. | | extra_to | string | Additional information for the receiving address.| | status | string | The current status of the transaction. | | hash_from | string | The transaction hash for the sending currency. | | hash_to | string | The transaction hash for the receiving currency. | | address_refund | string | The refund has been sent to the designated address. | | extra_refund | string | Additional information for the refund address. | ### Error codes | Status | Description |--------|------------- | Error | The specified transaction could not be located. | Code | Description |------------|------------- | 429 | This means you’ve already reached the API limit. If you need an increased rate limit, please contact affiliate@flashift.app, or you can wait until the limit is reset. | 500 | There is an error on the server side. --- ## Get Providers ```js GET getProviders ``` You can retrieve a list of supported providers. ## HTTP Request ```text https://interfacev2.flashift.app/api/dev/v2/getProviders ``` ## Request ### Header Parameters | Name | Type | Required | Description | |----------------|--------|----------|---------------------------------| | Authorization | string | Yes | Your API Key | | Accept | string | Yes | Set this to `application/json` | ```bash curl --location --request GET 'https://interfacev2.flashift.app/api/dev/v2/getProviders' \ --header 'Authorization: {{apiKey}}' \ --header 'Accept: application/json' ``` ```py # Define the API URL url = 'https://interfacev2.flashift.app/api/dev/v2/getProviders' # Define the headers, including the API key headers = { 'Authorization': '{{apiKey}}', 'Accept': 'application/json' # Ensure the correct content type is set } # Send the GET request response = requests.get(url, headers=headers) # Check if the request was successful if response.status_code == 200: # Print the JSON response print(response.json()) else: print(f"Failed to retrieve data. Status code: {response.status_code}") ``` ```js // Define the API URL const url = 'https://interfacev2.flashift.app/api/dev/v2/getProviders'; // Define the headers, including the API key and Accept header const headers = new Headers({ 'Authorization': '{{apiKey}}', 'Accept': 'application/json' // Ensure the correct content type is set }); // Send the GET request fetch(url, { headers }) .then(response => { if (response.ok) { return response.json(); } else { throw new Error(`Failed to retrieve data. Status code: ${response.status}`); } }) .then(data => { // Print the JSON response console.log(data); }) .catch(error => { console.error('Error:', error); }); ``` ## Response ### Sample Response ```json title="application/json" [ { "name": "FixedFloat", "enable": true }, { "name": "Changelly", "enable": false }, { "name": "ChangeNOW", "enable": true } ] ``` ### Response Parameters array of ```provider``` | Name | Type | Description |------------|-----------------------|------------ | name | string | Provider's name | enable | boolean | Indicates whether the provider is currently available. ### Error codes | Code | Description |------------|------------- | 429 | This means you’ve already reached the API limit. If you need an increased rate limit, please contact affiliate@flashift.app, or you can wait until the limit is reset. | 500 | There is an error on the server side. --- ## Simple Telegram Bot for Exchange using Flashift API ## Introduction This guide explains how to create a **Telegram bot** using Python that allows users to **exchange cryptocurrencies** using the **Flashift API**. The bot will: - Retrieve supported exchange providers - Get estimated exchange amounts - Initiate transactions - Provide transaction status updates ## Prerequisites - Python 3.x installed - A Telegram bot token (generated via BotFather) - Flashift API Key - Required Python libraries: ```sh pip install python-telegram-bot requests ``` ## Step 1: Create a Telegram Bot 1. Open Telegram and search for `BotFather`. 2. Type `/newbot` and follow the instructions. 3. Copy the bot **token** provided. 4. Save it as an environment variable or in your script. ## Step 2: Setting Up Flashift API ### Obtain API Key - Sign up on [Flashift](https://flashift.app/auth/register/) and get an **API Key**. - Store the API Key securely. ## Step 3: Writing the Telegram Bot Code ### **1. Initialize the Bot** ```python from telegram import Update from telegram.ext import Updater, CommandHandler, CallbackContext # Load API keys TELEGRAM_BOT_TOKEN = "YOUR_TELEGRAM_BOT_TOKEN" FLASHIFT_API_KEY = "YOUR_FLASHIFT_API_KEY" updater = Updater(TELEGRAM_BOT_TOKEN, use_context=True) dispatcher = updater.dispatcher ``` ### **2. Get Supported Providers** ```python def get_providers(): url = "https://interfacev2.flashift.app/api/dev/v2/getProviders" headers = {"Authorization": FLASHIFT_API_KEY} response = requests.get(url, headers=headers) return response.json() if response.status_code == 200 else {} ``` ### **3. Get Estimated Exchange Amount** ```python def get_estimated_amount(symbol_from, network_from, symbol_to, network_to, amount): url = "https://interfacev2.flashift.app/api/dev/v2/getEstimatedAmount" params = {"symbol_from": symbol_from, "network_from": network_from, "symbol_to": symbol_to, "network_to": network_to, "amount": amount} headers = {"Authorization": FLASHIFT_API_KEY} response = requests.get(url, headers=headers, params=params) return response.json() if response.status_code == 200 else {} ``` ### **4. Create an Exchange Transaction** ```python def create_transaction(provider, symbol_from, network_from, symbol_to, network_to, to_address, amount): url = "https://interfacev2.flashift.app/api/dev/v2/createTransaction" headers = {"Authorization": FLASHIFT_API_KEY, "Content-Type": "application/json"} data = { "provider_name": provider, "symbol_from": symbol_from, "network_from": network_from, "symbol_to": symbol_to, "network_to": network_to, "to_address": to_address, "amount": str(amount), "fixed": False } response = requests.post(url, headers=headers, json=data) return response.json() if response.status_code == 200 else {} ``` ### **5. Handle Commands in Telegram Bot** #### `/start` Command ```python def start(update: Update, context: CallbackContext): update.message.reply_text("Welcome to Crypto Exchange Bot! Use /exchange to swap crypto.") dispatcher.add_handler(CommandHandler("start", start)) ``` #### `/providers` Command ```python def providers(update: Update, context: CallbackContext): data = get_providers() message = "Available Providers:\n" + "\n".join([p['name'] for p in data]) update.message.reply_text(message) dispatcher.add_handler(CommandHandler("providers", providers)) ``` #### `/estimate` Command ```python def estimate(update: Update, context: CallbackContext): if len(context.args) < 5: update.message.reply_text("Usage: /estimate BTC mainnet ETH mainnet 0.1") return symbol_from, network_from, symbol_to, network_to, amount = context.args data = get_estimated_amount(symbol_from, network_from, symbol_to, network_to, amount) message = f"Estimated {amount} {symbol_from} ({network_from}) -> {data.get('best_amount', 'N/A')} {symbol_to} ({network_to})" update.message.reply_text(message) dispatcher.add_handler(CommandHandler("estimate", estimate)) ``` #### `/exchange` Command ```python def exchange(update: Update, context: CallbackContext): if len(context.args) < 6: update.message.reply_text("Usage: /exchange provider BTC mainnet ETH mainnet wallet_address 0.1") return provider, symbol_from, network_from, symbol_to, network_to, to_address, amount = context.args data = create_transaction(provider, symbol_from, network_from, symbol_to, network_to, to_address, amount) message = f"Transaction Created! ID: {data.get('exchange_id', 'N/A')}" update.message.reply_text(message) dispatcher.add_handler(CommandHandler("exchange", exchange)) ``` ### **6. Start the Bot** ```python updater.start_polling() updater.idle() ``` ## Conclusion You now have a **Telegram bot** that can retrieve providers, estimate exchange rates, and execute cryptocurrency swaps using the **Flashift API**. You can extend this bot by adding: - **Error Handling** for better user experience - **Transaction Tracking** using `/getTransactionInfo` - **Webhook Support** for real-time updates --- ## AI Tags ## Introduction Flashift's AI Tags play a crucial role in enhancing the user experience by providing intelligent insights and recommendations within the API. These tags leverage advanced AI algorithms to analyze various parameters such as KYC levels, transaction rates, and user feedback, enabling users to make informed decisions when selecting exchange services. By integrating AI Tags into the API, Flashift ensures that users can access the most competitive rates and trustworthy services, ultimately leading to a more efficient and reliable transaction process. This not only simplifies the decision-making process for users but also enhances the overall functionality and appeal of the Flashift platform. | AI Tag | Description | |---------------|-----------------------------------------------------------------------------| | AI Best Rate | Flashift’s AI system analyzes user feedback and exchange features to identify the most accurate and reliable rates, helping users choose the provider with the best rate and highest trustworthiness for a more predictable exchange experience. | | Recommended | Flashift's AI system recommends the exchange service by analyzing various features such as exchange rates, KYC levels, and transaction speed. | | Best Rate | Flashift finds an exchange service that currently offers the most competitive transaction rate. | | Best in KYC | Flashift's cutting-edge AI system identifies an exchange service with the lowest KYC level compared to the others on the list. | --- ## Getting Started Welcome to the Flashift API documentation. This guide will help you get started with integrating our API into your application. ## Base URL - **Production**: `https://interfacev2.flashift.app/api/dev/v2` ## Authentication Flashift API supports the following authentication method: - **Bearer Authentication**: To obtain your API key, please sign up on [Flashift](https://flashift.app/auth/register/). Then, navigate to Settings and click the Get API Key button. ## Request/Response Format The API supports the following formats: - **JSON**: All requests and responses are in JSON format. Please set the `Accept` header to `application/json` in all your requests. ## Rate Limits To ensure fair usage, the following rate limits are enforced: - **Maximum of 10 requests per minute**: Ensure your application complies with this limit to prevent throttling. If you require a higher limit, please contact us at [affiliate@flashift.app](mailto:affiliate@flashift.app). ## Error Handling Common error codes and their meanings: - **400 Bad Request**: The request could not be understood or was missing required parameters. - **401 Unauthorized**: Authentication failed or user does not have permissions for the requested operation. - **403 Forbidden**: Authentication succeeded but authenticated user does not have access to the resource. - **404 Not Found**: The requested resource could not be found. - **500 Internal Server Error**: An error occurred on the server. --- ## Introduction The Flashift API enables developers to integrate cryptocurrency exchange functionalities into their applications. It provides endpoints for creating transactions, retrieving exchange rates, and checking transaction statuses. With robust documentation and support, the Flashift API ensures a smooth integration process for developers. ## Key Features - **Easy to Use**: The Flashift API is designed for simplicity, allowing developers to integrate with minimal effort. - **AI Tags**: Automatically categorize and tag exchange services using advanced AI algorithms for better organization. - **No Registration**: Enjoy seamless transactions without the need for cumbersome registration processes. ## Getting Started To get started with Flashift API, visit our [Getting Started](https://docs.flashift.app/docs/getting-started) section. ## Support For support, please contact our team at [affiliate@flashift.app](mailto:affiliate@flashift.app).