Authentication overview
Indodax, an Indonesian cryptocurrency exchange, secures user accounts and API access through a combination of traditional credential-based authentication and multi-factor security mechanisms. The primary method for logging into the Indodax trading platform involves a username (email) and password, supplemented by mandatory Two-Factor Authentication (2FA) to enhance security against unauthorized access. For programmatic interactions, such as automated trading or data retrieval, Indodax provides an API that utilizes API keys and secrets for request authentication.
The design of Indodax's authentication focuses on protecting user assets and personal data within the Bappebti-regulated environment. This includes measures like email verification for new accounts and withdrawals, and the integration of third-party authentication applications for 2FA. While the platform prioritizes a user-friendly experience for direct traders, its API authentication follows standard practices for secure programmatic access, requiring properly signed requests to validate the identity and authorization of the caller.
Supported authentication methods
Indodax supports several authentication methods tailored to different access needs:
- Username/Email and Password: This is the foundational method for accessing the Indodax web and mobile trading platforms. Users create an account with a unique email address and a strong password to establish their initial identity.
- Two-Factor Authentication (2FA): Indodax mandates 2FA for account logins and critical actions like withdrawals. The primary 2FA method supported is Google Authenticator, which generates time-based one-time passwords (TOTP). This adds a crucial layer of security, requiring something the user knows (password) and something the user has (their mobile device with the authenticator app). The process for setting up Google Authenticator is a common practice across many financial services for enhanced account protection, as detailed in Google's own support documentation for Google Sign-in features.
- API Key and Secret: For developers looking to integrate with Indodax programmatically, access is secured using API keys and secrets. An API key identifies the client making the request, while the secret is used to sign API requests, proving the request's origin and integrity. This method is standard for securing access to RESTful APIs, as outlined in common API security practices described by organizations like Kong's API key authentication best practices.
Authentication Method Comparison
| Method | When to Use | Security Level |
|---|---|---|
| Username/Email & Password | Initial account login, general platform access | Standard (requires strong password) |
| Two-Factor Authentication (2FA) | Account login, withdrawals, security settings changes | High (adds a second factor) |
| API Key & Secret | Programmatic trading, data retrieval, third-party integrations | High (encrypted communication, signature verification, IP whitelisting recommended) |
Getting your credentials
To access Indodax, you'll need the appropriate credentials based on your intended use. The process for obtaining these credentials is managed directly within your Indodax account settings.
For User Account Access (Username/Email & Password, 2FA)
- Account Registration: Navigate to the Indodax homepage and select 'Register'. You will need to provide a valid email address, create a strong password, and agree to the terms of service. An email verification step is typically required to activate your account.
- Password Creation: Choose a password that is complex and unique. Indodax generally enforces minimum password strength requirements, often including a mix of uppercase and lowercase letters, numbers, and special characters.
- 2FA Setup: After logging in for the first time, or by navigating to your security settings, you will be prompted or can choose to enable Two-Factor Authentication. For Google Authenticator, this involves:
- Downloading the Google Authenticator app to your mobile device.
- Scanning a QR code displayed on the Indodax website with the app, or manually entering a setup key.
- Entering the 6-digit code generated by the app back into the Indodax website to confirm activation.
For API Access (API Key & Secret)
Indodax provides an API for advanced users and developers. You can generate API credentials from your account settings:
- Log in to your Indodax account: Access your account using your email/username and password, completing the 2FA step.
- Navigate to API Settings: Look for a section like 'API Management' or 'API Keys' within your profile or security settings.
- Generate New API Key: Select the option to create a new API key. You may be prompted to provide a label for the key to help you manage multiple keys.
- Set Permissions (if applicable): Some platforms allow you to define specific permissions for an API key (e.g., read-only access, trading access, withdrawal access). Configure these permissions according to your needs, adhering to the principle of least privilege.
- Record Key and Secret: Once generated, Indodax will display your API Key and API Secret. The API Secret is typically shown only once upon generation. It is critical to copy and store both securely, as you will not be able to retrieve the secret again if lost. If lost, you will need to revoke the old key and generate a new one.
- Configure IP Whitelisting (recommended): For enhanced security, Indodax allows you to whitelist specific IP addresses that are permitted to use your API key. This means API requests originating from any other IP address will be rejected, significantly reducing the risk of unauthorized use if your key or secret is compromised.
Refer to the Indodax API help section for the most current instructions on API key generation and usage.
Authenticated request example
While Indodax's public API documentation is not prominently featured, general practices for authenticated API requests with API keys and secrets involve signing the request with your secret. This typically includes a timestamp, nonce, and the request body, all hashed with your secret key. The resulting signature is then sent in a header along with your API key.
Conceptual API Request Example (Python)
This is a conceptual example based on common practices for API key/secret authentication. Specific implementation details (header names, hashing algorithms, request parameter ordering) will vary and must follow Indodax's official API specifications when available.
import hashlib
import hmac
import time
import requests
API_KEY = "YOUR_INDODAX_API_KEY"
API_SECRET = "YOUR_INDODAX_API_SECRET".encode('utf-8')
BASE_URL = "https://api.indodax.com/tapi"
# Example: Get account info
def get_account_info():
nonce = str(int(time.time() * 1000))
payload = {
"method": "getInfo",
"nonce": nonce
}
# Convert payload to form-urlencoded string
post_data = "&".join([f"{key}={value}" for key, value in payload.items()])
# Generate signature
signature = hmac.new(API_SECRET, post_data.encode('utf-8'), hashlib.sha512).hexdigest()
headers = {
"Key": API_KEY,
"Sign": signature,
"Content-Type": "application/x-www-form-urlencoded"
}
try:
response = requests.post(BASE_URL, headers=headers, data=post_data)
response.raise_for_status() # Raise an exception for HTTP errors
return response.json()
except requests.exceptions.HTTPError as err:
print(f"HTTP error occurred: {err}")
except Exception as err:
print(f"Other error occurred: {err}")
return None
# Call the function
# account_data = get_account_info()
# if account_data:
# print(account_data)
Note: The above code is illustrative. Always consult the official Indodax API documentation for exact requirements regarding request signing, endpoints, and parameters.
Security best practices
Maintaining the security of your Indodax account and API credentials is crucial to protect your digital assets. Adhere to these best practices:
- Enable and Maintain 2FA: Always enable Two-Factor Authentication (2FA) for your Indodax account using Google Authenticator. Do not share your 2FA codes. If you change devices, ensure you transfer your 2FA secret or disable/re-enable 2FA on your new device according to Indodax's instructions.
- Use Strong, Unique Passwords: Create a complex password for your Indodax account that is unique and not reused on other websites. A strong password combines uppercase and lowercase letters, numbers, and symbols, and is at least 12 characters long. Consider using a reputable password manager to generate and store strong passwords securely, as recommended by security experts when discussing password security principles.
- Secure API Keys and Secrets: Treat your API Key and Secret as sensitive as your account password. Never embed them directly in client-side code, commit them to public version control systems (like GitHub without proper precautions), or share them.
- Implement IP Whitelisting for API Keys: Whenever possible, configure IP whitelisting for your API keys within your Indodax account. This restricts API access exclusively to a predefined list of trusted IP addresses, severely limiting the impact if your key or secret is compromised.
- Principle of Least Privilege: When generating API keys, grant them only the minimum necessary permissions required for their intended function. For example, if you only need to read market data, do not grant withdrawal permissions to that API key.
- Regularly Rotate API Keys: Periodically generate new API keys and revoke old ones. This practice reduces the window of exposure if a key is ever compromised without your knowledge.
- Monitor Account Activity: Regularly review your Indodax account's login history, trading activity, and withdrawal logs for any unusual or unauthorized actions. Indodax typically provides activity logs for this purpose.
- Beware of Phishing: Be vigilant against phishing attempts. Always verify the URL of the Indodax website before entering your credentials. Indodax will never ask for your password or 2FA codes via email or unofficial channels.
- Keep Software Updated: Ensure your operating system, web browser, and any software used to interact with Indodax (including API clients) are up to date with the latest security patches.