CoinSwitch PRO has four separate APIs — Spot, Futures, HFT, and Options. They share the same authentication, but they have different base URLs and (in HFT's case) a different response shape. Pick the one that matches what you want to trade.
| Surface | Base URL | Use it for |
|---|
| Spot v2 | https://coinswitch.co/trade/api/v2 | INR/USDT spot trading on coinswitchx, c2c1, c2c2. |
| Futures v2 | https://coinswitch.co/trade/api/v2/futures | Perpetual futures (USDT-margined). |
| HFT | https://dma.coinswitch.co/v5 and /dma/api/v1 | Low-latency futures trading. Available to all API users; account is provisioned automatically on the first Transfer Funds call. See HFT. |
| Options | (private beta — email) | Email api@coinswitch.co for access. |
What's the same across all of them
- Authentication scheme — same Ed25519 signature flow with
X-AUTH-APIKEY, X-AUTH-SIGNATURE, X-AUTH-EPOCH headers. See Authentication and Reference Client.
- Headers —
Content-Type: application/json and the three auth headers above on every authenticated request.
- Time format — every timestamp field is Unix milliseconds.
What's different
| Spot v2 / Futures v2 | HFT |
|---|
| Response envelope | { "data": ... } | { "retCode": 0, "retMsg": "OK", "result": ... } |
| Numeric fields | Spot returns numbers; Futures returns strings (use a decimal type) | Mixed; treat as strings to be safe |
X-AUTH-EPOCH | Recommended | Required (request rejected with 400 if missing) |
| Drift window | ±5,000 ms recommended, > 60,000 ms rejected | No drift check |
Exchange identifiers
The exchange parameter (and a few related fields) accepts one of the values below. All values are case-insensitive on input.
| Identifier | Used in | Notes |
|---|
coinswitchx | Spot | INR pairs. |
c2c1 | Spot | USDT pairs (crypto-to-crypto trading). |
c2c2 | Spot | USDT pairs (crypto-to-crypto trading). |
EXCHANGE_2 | Futures | The futures exchange identifier. Send it on every futures request. |