- X-API-SUBSCRIPTION-KEY: Your unique API key identifier
- X-API-SIGNATURE: ECDSA-SHA256 signature (base64-encoded)
- X-API-TIMESTAMP: Unix timestamp (in milliseconds)
- X-API-NONCE: Unique UUID to prevent replay attacks
Generate Your Key Pair
After making contact with INDX Support, generate an ECDSA key pair using the secp256k1 elliptic curve and send the public key to INDX. You may use OpenSSL or other libraries to generate the pair. See OpenSSL example scripts below.How Signature Authentication Works
The signature is generated using ECDSA (Elliptic Curve Digital Signature Algorithm) with your private key:- Create a message string:
TIMESTAMP + NONCE + METHOD + ENDPOINT - Base64 encode the message
- Sign the encoded message with your private key using ECDSA-SHA256
- Base64 encode the signature
Important: URL vs Endpoint
- URL: The full address including the domain (e.g.,
https://api.indx.com/customer/accounts) - Endpoint: Only the path portion (e.g.,
/customer/accounts) - Path parameters: When an endpoint includes a path parameter (e.g., an account or transaction ID), replace it with the literal string
idwhen building the endpoint for signing, e.g.ENDPOINT = "/customer/accounts/transactions/id"
/.- Requests cannot be tampered with in transit
- Requests are authenticated to your account with public-key cryptography
- Replay attacks are prevented through timestamp and nonce validation